Kubernetes(k8s)離線部署DolphinScheduler3.2.2

1.環境準備

1.1 集群規劃

本次安裝環境為:3臺k8s+現有的postgreSql數據庫+zookeeper服務

1.2 下載及介紹

DolphinScheduler-3.2.2官網:https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2
官網安裝文檔:https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/guide/installation/kubernetes

2.前置工作

默認k8s集群已經安裝完成,本次以kubesphere為例介紹
參考kubesphere官方文檔:https://kubesphere.io/zh/

2.1 Helm配置

下載 Helm 客戶端
下載地址:https://github.com/helm/helm/releases

# 下載
wget https://get.helm.sh/helm-v3.14.3-linux-amd64.tar.gz# 解壓
tar -zxvf helm-v3.14.3-linux-amd64.tar.gz# 移動到可執行目錄
mv linux-amd64/helm /usr/local/bin/helm# 查看 helm 版本(確保可正常運行)
helm version
#version.BuildInfo{Version:"v3.14.3", GitCommit:"f03cc04caaa8f6d7c3e67cf918929150cf6f3f12", GitTreeState:"clean", GoVersion:"go1.21.7"}

helm常用命令舉例

#helm 刪除 官方倉庫
helm repo remove  stable  
#倉庫管理)查看添加的chart倉庫,可在這些chart倉庫中拉取chart
helm repo list#將chart包發布到k8s集群中安裝部署
helm install releaseName chartName  
#列出所有已發布的版本
helm list
helm list -n test
helm list -A

2.2 下載dolphinscheduler鏡像

dolphinscheduler鏡像

# 拉取鏡像
docker pull hub.rat.dev/apache/dolphinscheduler-tools:latest
docker pull hub.rat.dev/apache/dolphinscheduler-api:latest
docker pull hub.rat.dev/apache/dolphinscheduler-alter-server:latest
docker pull hub.rat.dev/apache/dolphinscheduler-master:latest
docker pull hub.rat.dev/apache/dolphinscheduler-worker:latest
# 導出鏡像
docker  save -o api.tar hub.rat.dev/apache/dolphinscheduler-api:latest
docker  save -o tools.tar hub.rat.dev/apache/dolphinscheduler-tools:latest
docker  save -o alter-server.tar hub.rat.dev/apache/dolphinscheduler-alter-server:latest
docker  save -o master.tar hub.rat.dev/apache/dolphinscheduler-master:latest
docker  save -o worker.tar hub.rat.dev/apache/dolphinscheduler-worker:latest

其他鏡像

如果沒有zookeeperpostgreSql需要用這下面的鏡像進行安裝

 docker pull  hub.rat.dev/bitnami/zookeeper:3.7.1docker pull  hub.rat.dev/bitnami/postgresql:15.2.0

2.3 導入dolphinscheduler鏡像

dolphinscheduler-api為例,其他鏡像請參照api的例子

# 導入鏡像
docker load --input api.tar 
# 重新打標簽
docker tag hub.rat.dev/apache/dolphinscheduler-api:latest registry.flow.cn/apache/dolphinscheduler-api:latest
# 推送鏡像
docker push registry.flow.cn/apache/dolphinscheduler-api:latest

3.dolphinscheduler集群安裝

集群使用會單獨啟動一個psql以及zookeeper
請下載源碼包 https://github.com/apache/dolphinscheduler/archive/refs/tags/3.2.2.zip,下載
發布一個名為 dolphinscheduler 的版本(release),請執行以下命令:

因為是單獨啟動的psqlzookeeper則需要把Chat.yamldependencies注釋掉

cd apache-dolphinscheduler-3.2.2-src/deploy/kubernetes/dolphinscheduler
vim Chart.yaml

在這里插入圖片描述
修改鏡像倉庫地址

vim values.yaml

在這里插入圖片描述

將名為 dolphinscheduler 的版本(release) 發布到 test 的命名空間中:

helm install dolphinscheduler . -n test

提示: 如果名為 test 的命名空間被使用, 選項參數 -n test 需要添加到 helmkubectl 命令中

提示: 列出所有已發布的版本,使用 helm list,PostgreSQL (用戶 root, 密碼 root, 數據庫 dolphinscheduler) 和 ZooKeeper 服務將會默認啟動

查看運行狀態
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
創建服務外部訪問端口
在這里插入圖片描述
名稱隨便填然后點擊下一步
在這里插入圖片描述
端口配置12345
在這里插入圖片描述
外部訪問選擇nodePort,然后點擊創建
在這里插入圖片描述
在這里插入圖片描述

訪問前端頁面:http://k8s節點ip:32312/dolphinscheduler/ui如果有需要請修改成對應的 IP 地址(k8s節點ip)

在這里插入圖片描述

默認的用戶是admin,默認的密碼是dolphinscheduler123
在這里插入圖片描述

請參考用戶手冊章節的 快速上手 查看如何使用 DolphinScheduler

4. 問題解決

4.1 數據褲初始化報錯

因為沒有修改zookeeper、postgreSql地址

kind: Job
apiVersion: batch/v1
metadata:name: dolphinscheduler-db-init-jobnamespace: testlabels:app.kubernetes.io/instance: dolphinschedulerapp.kubernetes.io/managed-by: Helmannotations:helm.sh/hook: 'post-install,post-upgrade,post-rollback'helm.sh/hook-weight: '1'revisions: >-{"1":{"status":"running","desire":1,"uid":"cd3b4532-7abd-470e-885f-e42dc4c6dea0","start-time":"2024-12-19T14:43:47+08:00","completion-time":"0001-01-01T00:00:00Z"}}
spec:parallelism: 1completions: 1backoffLimit: 6selector:matchLabels:#batch.kubernetes.io/controller-uid: cd3b4532-7abd-470e-885f-e42dc4c6dea0template:metadata:creationTimestamp: nulllabels:app.kubernetes.io/instance: dolphinschedulerapp.kubernetes.io/managed-by: Helm#batch.kubernetes.io/controller-uid: cd3b4532-7abd-470e-885f-e42dc4c6dea0batch.kubernetes.io/job-name: dolphinscheduler-db-init-job#controller-uid: cd3b4532-7abd-470e-885f-e42dc4c6dea0job-name: dolphinscheduler-db-init-jobspec:initContainers:- name: wait-for-databaseimage: 'registry.flow.cn/library/busybox:latest'command:- sh- '-xc'- >-for i in $(seq 1 180); do nc -z -w3 dolphinscheduler-postgresql-f68v.data-center.svc.cluster.local5432 && exit 0 || sleep 5; done; exit 1resources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FileimagePullPolicy: IfNotPresentcontainers:- name: dolphinscheduler-db-init-jobimage: 'registry.flow.cn/apache/dolphinscheduler-tools:latest'args:- tools/bin/upgrade-schema.shenvFrom:- configMapRef:name: dolphinscheduler-commonenv:- name: TZvalue: Asia/Shanghai- name: SPRING_JACKSON_TIME_ZONEvalue: Asia/Shanghai- name: DATABASEvalue: postgresql- name: SPRING_DATASOURCE_URLvalue: >-jdbc:postgresql://dolphinscheduler-postgresql-f68v.data-center.svc.cluster.local:5432/dolphinscheduler?characterEncoding=utf8- name: SPRING_DATASOURCE_USERNAMEvalue: postgres- name: SPRING_DATASOURCE_PASSWORDvalue: postgres- name: SPRING_DATASOURCE_DRIVER-CLASS-NAMEvalue: org.postgresql.Driver- name: REGISTRY_TYPEvalue: zookeeper- name: REGISTRY_ZOOKEEPER_CONNECT_STRINGvalue: 'dolphinscheduler-zookeepe-headless.data-center.svc.cluster.local:2181'- name: DATABASE_TYPEvalue: postgresql- name: JAVA_OPTSvalue: -server -Duser.timezone=${SPRING_JACKSON_TIME_ZONE} -Dspring.profiles.active=postgresql -Xms1g -Xmx1g -Xmn512m -XX:+PrintGCDetails -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprofresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FileimagePullPolicy: IfNotPresentrestartPolicy: NeverterminationGracePeriodSeconds: 30dnsPolicy: ClusterFirstsecurityContext: {}imagePullSecrets:- name: registry-configschedulerName: default-schedulercompletionMode: NonIndexedsuspend: false

需要修改REGISTRY_ZOOKEEPER_CONNECT_STRINGSPRING_DATASOURCE_URL的值,然后重新創建任務。
在這里插入圖片描述
數據庫初始完成之后會創建表
在這里插入圖片描述

4.2 Caused by: java.net.UnknownHostException: s3

修改common.properties,加上下面3行

aws.s3.endpoint=<minio地址>
aws.s3.access.key.id=<your id>
aws.s3.access.key.secret=<your secret>

然后重啟

4.3 zookeeper和psql報錯

需要修改pod環境的變量,修改為正確的地址
在這里插入圖片描述

4.4 worker節點 No qualifying bean of type 'org.apache.dolphinscheduler.meter.metrics.MetricsProvider' available

錯誤信息:

2024-12-21T22:50:53.537397234+08:00 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'workerRegistryClient': Unsatisfied dependency expressed through field 'metricsProvider'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.dolphinscheduler.meter.metrics.MetricsProvider' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}2024-12-21T22:50:53.537401243+08:00 	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659)2024-12-21T22:50:53.537408792+08:00 	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)2024-12-21T22:50:53.537412721+08:00 	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)2024-12-21T22:50:53.537416353+08:00 	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)2024-12-21T22:50:53.537418799+08:00 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)2024-12-21T22:50:53.537421259+08:00 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)2024-12-21T22:50:53.537428244+08:00 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)2024-12-21T22:50:53.537430992+08:00 	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)2024-12-21T22:50:53.537433562+08:00 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)2024-12-21T22:50:53.537436073+08:00 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)2024-12-21T22:50:53.537438469+08:00 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)2024-12-21T22:50:53.537441051+08:00 	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)2024-12-21T22:50:53.537443569+08:00 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)2024-12-21T22:50:53.537446141+08:00 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)2024-12-21T22:50:53.537448881+08:00 	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)2024-12-21T22:50:53.537451540+08:00 	... 20 common frames omitted2024-12-21T22:50:53.537454771+08:00 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.dolphinscheduler.meter.metrics.MetricsProvider' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}2024-12-21T22:50:53.537457334+08:00 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1801)2024-12-21T22:50:53.537459878+08:00 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1357)2024-12-21T22:50:53.537462469+08:00 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)2024-12-21T22:50:53.537465066+08:00 	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)2024-12-21T22:50:53.537467531+08:00 	... 34 common frames omitted

進入到worker節點源碼目錄
resources下面的文件全部掛載在到/opt/dolphinscheduler/conf目錄下面
在這里插入圖片描述
在這里插入圖片描述
新增worker配置,然后把resources目錄下面的文件內容復制進來
在這里插入圖片描述
掛載到/opt/dolphinscheduler/conf路徑
在這里插入圖片描述
在這里插入圖片描述
掛載了之后點擊確定即可。

注意:
需要把其他dolphinscheduler-masterdolphinscheduler-apidolphinscheduler-alter-server三個節點也進行掛載

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64000.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64000.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64000.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++的侵入式鏈表

非侵入式鏈表 非侵入式鏈表是一種鏈表數據結構&#xff0c;其中每個元素&#xff08;節點&#xff09;并不需要自己包含指向前后節點的指針。鏈表的結構和節點的存儲是分開的&#xff0c;鏈表容器會單獨管理這些指針。 常見的非侵入式鏈表節點可以由以下所示&#xff0c;即&a…

Flutter組合動畫學習

如何使用動畫控制器和動畫來創建一個簡單的動畫效果。具體來說&#xff0c;它通過一個 AnimationController 來控制兩個動畫&#xff0c;一個用于旋轉&#xff0c;一個用于繪制。 前置知識點學習 SingleTickerProviderStateMixin SingleTickerProviderStateMixin 是 Flutter …

在vscode的ESP-IDF中使用自定義組件

以hello-world為例&#xff0c;演示步驟和注意事項 1、新建ESP-IDF項目 選擇模板 從hello-world模板創建 2、打開項目 3、編譯結果沒錯 正在執行任務: /home/azhu/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/azhu/esp/v5.1/esp-idf/tools/idf_size.py /home…

2025差旅平臺怎么選?一體化、全流程降本案例解析

差旅支出在企業中一直是一項重要但容易被忽視的成本開支&#xff0c;尤其是在項目驅動型企業中&#xff0c;因頻繁的差旅需求&#xff0c;支出規模往往持續增長。以差旅平臺分貝通簽約伙伴——某智能制造業的業務模式為例&#xff0c;該模式要求員工定期前往不同的工廠、供應商…

【linux】NFS實驗

NFS NFS服務 nfs,最早是Sun這家公司所發展出來的,它最大的功能就是可以透過網絡,讓不同的機器,不同的操作系統,進行實現文檔的共享。所以你可以簡單的將他看做是文件服務器。 實驗準備 ①先準備一個服務器端的操作系統和客戶端的操作系統(Red Hat)。 ②選擇NAT模式,…

智源研究院與安謀科技達成戰略合作,共建開源AI“芯”生態

12月25日&#xff0c;智源研究院與安謀科技&#xff08;中國&#xff09;有限公司&#xff08;以下簡稱“安謀科技”&#xff09;與正式簽署戰略合作協議&#xff0c;雙方將面向多元AI芯片領域開展算子庫優化與適配、編譯器與工具鏈支持、生態系統建設與推廣等一系列深入合作&a…

ROG NUC:強大內核激發創意,AI賦能學子科技探索

有這么一款能夠激發無限創意、助力科技探索的迷你主機&#xff0c;它以其卓越的性能和迷你的身材成為了成為了ProArt百校行活動中的明星產品&#xff0c;助力廣大學子勇敢探索未知&#xff0c;追逐屬于自己的科技夢想。它就是ROG NUC 2024&#xff01; 強大性能&#xff0c;創意…

從零玩轉CanMV-K230(8)-多線程例程

文章目錄 前言一、_thread模塊API二、使用示例創建并啟動線程停止線程_thread.exit() 總結 前言 K230上不支持threading&#xff0c;只能支持_thread&#xff0c;該模塊實現了相應 CPython 模塊的子集&#xff0c;CPython 是 Python 編程的參考實現 語言&#xff0c;也是最著名…

yii2 手動添加 phpoffice\phpexcel

1.下載地址&#xff1a;https://github.com/PHPOffice/PHPExcel 2.解壓并修改文件名為phpexcel 在yii項目的vendor目錄下創建一個文件夾命名為phpoffice 把phpexcel目錄放到phpoffic文件夾下 查看vendor\phpoffice\phpexcel目錄下會看到這些文件 3.到vendor\composer目錄下…

安卓多渠道apk配置不同簽名

一般簽名都是放在buildTypes里面&#xff1a; ... android {...defaultConfig {...}signingConfigs {release {storeFile file("myreleasekey.keystore")storePassword "password"keyAlias "MyReleaseKey"keyPassword "password"}}bu…

數據庫-用戶管理

一、創建用戶 create user xy104192..168.42.24 identified by 123456;xy104&#xff1a;用戶名 localhost&#xff1b;這個權限最高的root用戶 %&#xff1a;任務ip地址 192.168.42.24&#xff1a;登錄的IP地址 identified by ‘123456’&#xff1a;指定該用戶的密碼 mysql…

管理者需要的技能

管理者需要具備技術技能、人際技能和概念技能&#xff0c;這三種技能的內涵如下&#xff1a; 技術技能 專業知識與技術能力&#xff1a;指管理者掌握和運用某一專業領域內的知識、技術和方法的能力。這包括對特定行業的專業知識、技術流程、工具設備的熟悉和精通。例如&#x…

scala基礎學習(數據類型)-字符串

文章目錄 scala中的字符串引號單引號雙引號三引號 常用內置函數length 獲取字符串長度charAt 字符串元素訪問substring 獲取字串indexOf 獲取字串位置replace 字符串替換toLowerCase,toUpperCase 字符串大小寫轉換trim 去除首位空白符split 字符串切割以及查看startsWith,endsW…

數據庫安全-redisCouchdb

1.redis未授權訪問 默認端口:6379 1.1 Redis沙盒逃逸漏洞RCE-CVE-2022-0543 介紹&#xff1a;Redis 是一套開源的使用 ANSI C編寫、支持網絡、可基于內存亦可持久化的日志型、鍵值存儲數據庫&#xff0c;并提供多種語言的API。Redis 如果在沒有開啟認證的情況下&#xff0c;…

springboot集成websokcet+uniapp開發聊天原型驗證(一)

1. 整體思路 群組聊天功能實現思路 需要為每個群組維護一個對應的集合&#xff08;可以是 Set 等數據結構&#xff09;&#xff0c;用來存放該群組內所有在線用戶的 WebSocketSession。當有消息發送到群組時&#xff0c;遍歷該群組對應的集合&#xff0c;向其中的每個在線用戶…

Reed-Muller(RM)碼之編碼

點個關注吧! 看了一些中文的博客,RM碼沒有很詳細的資料,所以本文嘗試給出推導原理。 推導 RM碼由 ( r , m ) ( r , m ) (r,m

List直接使用removeAll報錯

List直接使用removeAll報錯 需要先將list轉換才能使用 原因是&#xff1a; removeAll 方法在 Java 中用于從當前列表中刪除另一個列表中存在的所有元素。如果直接對 List 接口的一個實現使用 removeAll 方法拋出異常&#xff0c;可能的原因有&#xff1a; 不同的List實現&am…

Linux -- 線程的優點、pthread 線程庫

目錄 線程的優點 pthread 線程庫 前言 認識線程庫 簡單驗證線程的獨立棧空間 線程的優點 與進程之間的切換相比&#xff0c;線程之間的切換需要操作系統做的工作要少得多。 調度進程時&#xff0c;CPU 中有一個 cache&#xff08;緩存&#xff0c;提高運行效率&#xff0…

【magic-dash】01:magic-dash創建單頁面應用及二次開發

文章目錄 一、magic-dash是什么1.1 安裝1.2 使用1.2.1 查看內置項目模板1.2.2 生成指定項目模板1.2.3 查看當前magic-dash版本1.2.4 查看命令說明1.2.5 內置模板列表二、創建虛擬環境并安裝magic-dash三、magic-dash單頁工具應用開發3.1 創建單頁面項目3.1.1 使用命令行創建單頁…

從零開始使用MaxKB打造本地大語言模型智能問答系統與遠程交互

文章目錄 前言1. 下載運行Ollama2. 安裝大語言模型3. 安裝Cpolar工具4. 配置公網地址5. 固定公網地址6. MaxKB 添加Olama7.創建問答應用 前言 目前大語言模型&#xff08;LLM&#xff09;已經成為了人工智能領域的一顆璀璨明星&#xff0c;從自然語言處理到智能問答系統&#…