用圖帶你瞭解大數據框架架構之DophinScheduler

一、簡介
用途:任務調度
優勢:分佈式、易擴展、可視化的DAG工作流,開箱即用,國產易用

二、架構、


主要角色組成:
【MasterServer】:採用分佈式無中心設計理念,MasterServer主要負責 DAG 任務切分、任務提交、任務監控,並同時監聽其它MasterServer和WorkerServer的健康狀態。
【WorkerServer】:也採用分佈式無中心設計理念,WorkerServer主要負責任務的執行和提供日誌服務。
【ZooKeeper】:系統中的MasterServer和WorkerServer節點都通過ZooKeeper來進行集羣管理和容錯。
【Alert服務】:提供告警相關服務。
【API接口層】:主要負責處理前端UI層的請求。
【Web UI】:系統的前端頁面,提供系統的各種可視化操作界面。


三、安裝
集羣模式下,可配置多個Master及多個Worker。通常可配置2~3個Master,若干個Worker。
(1)所有節點需安裝jdk,MySQL(5.7+)或者PostgreSQL(8.2.15+)
(2)需要有Zookeeper(3.4.6+)
(3)所有節點需要安裝進程樹分析工具psmisc

sudo yum install -y psmisc

(4)解壓安裝包

tar -zxvf apache-dolphinscheduler-2.0.5-bin 

(5)在mysql中創建元數據庫及用戶

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
--增加用戶權限
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
flush privileges; --刷新生效

(6)配置腳本

vim conf/config/install_config.conf
--需要修改的配置文件內容
ips="hadoop1,hadoop2,hadoop3" 
# 將要部署任一 DolphinScheduler 服務的服務器主機名或 ip 列表

masters="hadoop1" 
# master 所在主機名列表,必須是 ips 的子集

workers="hadoop1:default,hadoop2:default,hadoop3:default" 
# worker主機名及隊列,此處的 ip 必須在 ips 列表中

alertServer="hadoop1"
# 告警服務所在服務器主機名

apiServers="hadoop102"
# api服務所在服務器主機名

# pythonGatewayServers="ds1" 
# 不需要的配置項,可以保留默認值,也可以用 # 註釋

installPath="/opt/module/dolphinscheduler"
# DS 安裝路徑,如果不存在會創建

deployUser="kele"
# 部署用戶,任務執行服務是以 sudo -u {linux-user} 切換不同 Linux 用戶的方式來實現多租戶運行作業,因此該用戶必須有免密的 sudo 權限。

javaHome="/opt/module/jdk1.8.0_212"
# JAVA_HOME 路徑

# 注意:數據庫相關配置的 value 必須加引號,否則配置無法生效
DATABASE_TYPE="mysql"   # 數據庫類型

SPRING_DATASOURCE_URL="jdbc:mysql://hadoop1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8"
# 數據庫 URL

SPRING_DATASOURCE_USERNAME="dolphinscheduler"
# 數據庫用戶名

SPRING_DATASOURCE_PASSWORD="dolphinscheduler"
# 數據庫密碼


registryPluginName="zookeeper"
# 註冊中心插件名稱,DS 通過註冊中心來確保集羣配置的一致性

registryServers="hadoop1:2181,hadoop2:2181,hadoop3:2181"
# 註冊中心地址,即 Zookeeper 集羣的地址

registryNamespace="dolphinscheduler"
# DS 在 Zookeeper 的結點名稱

resourceStorageType="HDFS"    
# 資源存儲類型

resourceUploadPath="/dolphinscheduler"
# 資源上傳路徑

defaultFS="hdfs://hadoop1:8020"
# 默認文件系統

resourceManagerHttpAddressPort="8088"
# yarn RM http 訪問端口

yarnHaIps=
# Yarn RM 高可用 ip,若未啓用 RM 高可用,則將該值置空

singleYarnIp="hadoop2"
# Yarn RM 主機名,若啓用了 HA 或未啓用 RM,保留默認值

hdfsRootUser="kele"
# 擁有 HDFS 根目錄操作權限的用戶

(7)拷貝MySQL驅動到DolphinScheduler的解壓目錄下的lib中,要求使用 MySQL JDBC Driver 8.0.16。執行數據庫初始化腳本

cp /opt/software/mysql-connector-java-8.0.16.jar lib/
script/create-dolphinscheduler.sh

(8)啓動
先啓動zk,在啓動dophinScheduler

./install.sh 

(9)查看啓動的UI地址【初始用戶的用戶名爲:admin,密碼爲dolphinscheduler123】

http://hadoop1:12345/dolphinscheduler

dophineScheduler的啓停命令:
1)一鍵啓停所有服務

./bin/start-all.sh
./bin/stop-all.sh


2)啓停 Master

./bin/dolphinscheduler-daemon.sh start master-server
./bin/dolphinscheduler-daemon.sh stop master-server


3)啓停 Worker

./bin/dolphinscheduler-daemon.sh start worker-server
./bin/dolphinscheduler-daemon.sh stop worker-server


4)啓停 Api

./bin/dolphinscheduler-daemon.sh start api-server
./bin/dolphinscheduler-daemon.sh stop api-server


5)啓停 Logger

./bin/dolphinscheduler-daemon.sh start logger-server
./bin/dolphinscheduler-daemon.sh stop logger-server


6)啓停 Alert

./bin/dolphinscheduler-daemon.sh start alert-server
./bin/dolphinscheduler-daemon.sh stop alert-server

 

https://blog.csdn.net/qq_38705144/article/details/127330777

https://blog.csdn.net/DolphinScheduler/article/details/128017914

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章