dolphinscheduler叢集搭建1.3.2版本【步驟詳細,且有說明,配備安裝包下載連線及配套軟體安裝連結】
dolphinscheculer叢集搭建前期鋪墊
dolphinscheduler簡單介紹
Apache DolphinScheduler是一個分散式去中心化,易擴充套件的視覺化DAG工作流任務排程系統。致力於解決資料處理流程中錯綜複雜的依賴關係,使排程系統在資料處理流程中開箱即用。
- 高可靠性: 其中新華的多Master和多Worker,自身支援HA功能,採用任務佇列來避免過載,不會造成機器卡死。
- 簡單易用: DAG監控介面,所有流程定義都是視覺化,通過拖拽任務定製DAG,通過API方式與第三方系統對接,一鍵部署
- 豐富的使用場景: 支援暫停恢復操作,支援多租戶,更好的應用大資料的使用場景,支援更多的任務型別,對1.3.2版本的有 spark、hive、mr、python、sub_process,shell、以及ETL工具sqoop、dataX。
- 高擴充套件性: 支援自定義任務型別,排程器使用分散式排程,排程能力隨叢集線性增長,Master和Worker支援動態上下線。
結合官網檢視搭建文件
基礎軟體安裝要求
- PostgreSQL (8.2.15+) or MySQL (5.6或者5.7系列) : 兩者任選其一即可
- JDK (1.8+) : 必裝,請安裝好後在/etc/profile下配置 JAVA_HOME 及 PATH 變數
- ZooKeeper (3.4.6+) :必裝
- Hadoop (2.6+) or MinIO :選裝,如果需要用到資源上傳功能,可以選擇上傳到Hadoop or MinIO上
注意: DolphinScheduler本身不依賴Hadoop、Hive、Spark,僅是會呼叫他們的Client,用於對應任務的提交
這裡提供了小編搭建的軟體包,親測可用
dolphinscheduler相關軟體安裝包
提取碼:g7up
jdk安裝(這裡部落格有mysql安裝,請勿操作,版本不符合官網要求,我們儘量與官網一致)
mysql5.6或5.7系列操作(任選其一即可,這裡小編選的是5.7)
mysql5.6,這裡是hive的安裝,但是裝hive前是mysql5.6安裝,按步驟弄好即可
mysql5.7,這裡部落格不是小編自己的,如後期找不到,可以找小編要相應文件,評論區聯絡
hadoop安裝(這裡安裝的hadoop高可用)
- hadoop高可用搭建文件(各種配置檔案參考下方百度雲連線)
hadoop高可用文件,部落格借鑑別的博主,若有消失找不到情況,聯絡小編 - hadoop配置檔案參考
hadoop叢集相關配置檔案,直接下載更改即可
提取碼:2t8j
zookeeper 安裝
正式安裝dolphinscheduler叢集(以三臺機器為例)
注意 因為dolphinscheduler軟體安裝包有點特殊,他的tar.gz包解壓了之後仍然是一個安裝包,這點需要注意。
上傳安裝包,解壓出安裝包放入相應位置(每臺機器都要上傳,下面的操作三臺也都要操作)
- 建立一個資料夾專門放置各種軟體tar包等
mkdir install
,下載好的安裝包一開始就放在這裡面 - 建立一個放置dolphinscheduler解壓後的安裝包資料夾
mkdir -p /lyqds/software
- 建立一個dolphinscheduler軟體安裝位置
mkdir -p /lyqds/app
- 解壓安裝包放到/lyqds/software資料夾中
cd install
tar -xzvf apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin.tar.gz -C /lyqds/software/
- 進入/lyqds/software資料夾中,建立軟連線,也可以直接使用mv命令改名字,一般來說開發環境使用軟連線
cd /lyqds/software
ln -s apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin dolphinscheduler-bin
建立部署使用者和hosts對映(每臺都要操作)
- 設定使用者名稱,請自行修改,後面以dolphinscheduler為例
useradd dolphinscheduler;
- 設定使用者密碼,請自行修改,後面以dolphinscheduler123為例
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
- 配置sudo免密
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
注意,這時需要看一下官網,有相應需要注意的地方,給大家貼到這裡了
注意:
- 因為是以 sudo -u {linux-user} 切換不同linux使用者的方式來實現多租戶執行作業,所以部署使用者需要有 sudo 許可權,而且是免密的。
- 如果發現/etc/sudoers檔案中有"Default requiretty"這行,也請註釋掉
- 如果用到資源上傳的話,還需要在`HDFS或者MinIO`上給該部署使用者分配讀寫的許可權
配置hosts對映和ssh打通及修改目錄許可權vi /etc/hosts
(每臺都要操作)
最後一行新增如下內容,一般來說hadoop高可用的時候就已經做過相應操作,這時只需要看看檢查下即可
192.168.xxx.xxx 相應主機名
192.168.xxx.xxx 相應主機名
192.168.xxx.xxx 相應主機名
192.168.xxx.xxx 相應主機名
對建立的dolphinscheduler使用者三臺機器進行免密登入(注意這裡沒有跟官網採用同樣的方法,看你們自己喜好)(每臺機器都要操作)
- 生成私鑰:
ssh-keygen -t rsa -P ""
,輸入命令後直接回車,再按回車。 - 輸入:
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
將金鑰變成公鑰 - 遠端免登入配置:
ssh-copy-id -i .ssh/id_rsa.pub -p22 dolphinscheduler@192.168.56.121
(有n個機器,每臺機器就要配n-1次) - 驗證免登入:
ssh dolphinscheduler@192.168.xxx.xxx 或 ssh dolphinscheduler@需要登入的主機名
,無需密碼驗證即當前機器對121機器免登入配置成功(有多少臺機器都要驗證) - 修改目錄許可權
sudo chown -R dolphinscheduler:dolphinscheduler /lyqds
- 檢視修改目錄許可權結果
ll /lyqds
資料庫初始化(這裡只需要對首臺機器操作即可)
- mysql-connector-java驅動包到DolphinScheduler的lib目錄(這個小編三臺都上傳了,一臺也是可以的,選用jar包為mysql-connector-java-5.1.48-bin.jar)
jar包獲取連線
提取碼:10zq - 進入dolphinscheduler資料夾上傳jar包
cd /lyqds/software/dolphinscheduler-bin/lib/
,拖入jar包即可 - 建立db和使用者和賦予許可權,進入mysql
設定資料使用者 dolphinscheduler 的訪問密碼為 dolphinscheduler,並且不對訪問的 ip 做限制
測試環境將訪問設定為所有,如果是生產,可以限制只能子網段的ip才能訪問(‘192.168.1.%’)
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
flush privileges;
建立表和匯入基礎資料(首臺機器操作就可,執行只需要首臺機器上執行)
- 修改datasource.properties中的下列屬性
# 進入dolphinscheduler的conf資料夾
cd /lyqds/software/dolphinscheduler-bin/conf
# 開啟datasource.properties檔案
vi datasource.properties
#修改原本的pgsql配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=dolphinscheduler
spring.datasource.password=dolphinscheduler
- 執行 script 目錄下的建立表及匯入基礎資料指令碼
sh script/create-dolphinscheduler.sh
修改執行引數(首臺機器操作即可)
- 進入dolphinscheduler下的conf/env目錄下
cd /lyqds/software/dolphinscheduler-bin/conf/env/
- 開啟dolphinscheduler_env.sh檔案
vi dolphinscheduler_env.sh
新增如下內容
export HADOOP_HOME=/opt/software/hadoop
export HADOOP_CONF_DIR=/opt/software/hadoop/etc/hadoop
export SPARK_HOME2=/opt/software/spark220
export JAVA_HOME=/opt/software/jdk1.8.0_221
export HIVE_HOME=/opt/software/hive110
export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
修改一鍵部署配置檔案(首臺機器修改就可以)
- 進入配置檔案資料夾
/lyqds/software/dolphinscheduler-bin/conf/config
- 修改配置檔案
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# NOTICE : If the following config has special characters in the variable `.*[]^${}\+?|()@#&`, Please escape, for example, `[` escape to `\[`
# postgresql or mysql
#這裡填dolphinscheduler後設資料儲存資料庫型別
dbtype="mysql"
# db config
# db address and port
# 資料庫連線地址
dbhost="lyqds01:3306"
# db username
# 資料庫使用者名稱
username="dolphinscheduler"
# database name
# 資料庫名
dbname="dolphinscheduler"
# db passwprd
#資料庫密碼,如果有特殊字元,請使用\轉義,需要修改為上面設定的{passowrd}具體值
# NOTICE: if there are special characters, please use the \ to escape, for example, `[` escape to `\[`
password="dolphinscheduler"
# zk cluster
# Zookeeper地址,單機本機是localhost:2181,記得把2181埠帶上
zkQuorum="lyqds01:2181,lyqds02:2181,lyqds03:2181"
# Note: the target installation path for dolphinscheduler, please not config as the same as the current path (pwd)
#將DS安裝到哪個目錄
installPath="/lyqds/app/dolphinscheduler"
# deployment user
# Note: the deployment user needs to have sudo privileges and permissions to operate hdfs. If hdfs is enabled, the root directory needs to be created by itself
# 使用哪個使用者部署,使用之前建立的使用者
deployUser="dolphinscheduler"
# alert config
# mail server host
# 郵件配置,以qq郵箱為例
# 郵件協議 如果是企業qq郵箱則不用改動,如果是個人qq郵箱則按下面的方式填寫
mailServerHost="smtp.qq.com"
# mail server port
# note: Different protocols and encryption methods correspond to different ports, when SSL/TLS is enabled, make sure the port is correct.
# 郵件服務埠 如果是阿里雲伺服器則需要改成587,若是自己的則使用25即可
mailServerPort="25"
# 傳送者
# sender
mailSender="1469128493@qq.com"
# user
# 傳送使用者
mailUser="1469128493@qq.com"
# sender password
# 郵箱密碼,這裡是開啟協議後服務商提供的密碼
# note: The mail.passwd is email service authorization code, not the email login password.
mailPassword="郵箱授權碼如何生成,後面會有說明,看完後面說明將雙引號內容改掉即可"
# TLS mail protocol support
# TLS協議的郵箱設定為true,否則設定為false。 這裡設定為true
starttlsEnable="true"
# SSL mail protocol support
# only one of TLS and SSL can be in the true state.
# 開啟SSL協議的郵箱配置為true,否則為false。注意: starttlsEnable和sslEnable不能同時為true
sslEnable="false"
#note: sslTrust is the same as mailServerHost
# 郵件服務地址值,參考上面 mailServerHost
sslTrust="smtp.qq.com"
# resource storage type:HDFS,S3,NONE
#業務用到的比如sql等資原始檔上傳到哪裡,可以設定:HDFS,S3,NONE,單機如果想使用本地檔案系統,請配置為HDFS,因為HDFS支援本地檔案系統;如果不需要資源上傳功能請選擇NONE。強調一點:使用本地檔案系統不需要部署hadoop
resourceStorageType="HDFS"
# if resourceStorageType is HDFS,defaultFS write namenode address,HA you need to put core-site.xml and hdfs-site.xml in the conf directory.
# if S3,write S3 address,HA,for example :s3a://dolphinscheduler,
# Note,s3 be sure to create the root directory /dolphinscheduler
# 這裡以儲存到HDFS為例
#注:但是如果你想上傳到HDFS的話,NameNode啟用了HA,則需要將hadoop的配置檔案core-site.xml和hdfs-site.xml放到conf目錄下,並配置namenode cluster名稱;如果NameNode不是HA,則修改為具體的ip或者主機名即可
# 本地檔案系統:"file:///data/dolphinscheduler" 或 HDFS叢集: hdfs://{具體的ip/主機名}:8020
defaultFS="hdfs://mycluster"
# if resourceStorageType is S3, the following three configuration is required, otherwise please ignore
s3Endpoint="http://192.168.xx.xx:9010"
s3AccessKey="xxxxxxxxxx"
s3SecretKey="xxxxxxxxxx"
# if resourcemanager HA enable, please type the HA ips ; if resourcemanager is single, make this value empty
# 如果yarn配置的是高可用則填寫yarn所有節點,如果不是則將其註釋掉,用下面單點模式,因為我搭的是yarn高可用所以用這個
yarnHaIps="lyqds01,lyqds02"
# if resourcemanager HA enable or not use resourcemanager, please skip this value setting; If resourcemanager is single, you only need to replace yarnIp1 to actual resourcemanager hostname.
# 正因如此所以yarn單點模式我就需要註釋掉
#singleYarnIp="yarnIp1"
# resource store on HDFS/S3 path, resource file will store to this hadoop hdfs path, self configuration, please make sure the directory exists on hdfs and have read write permissions。/dolphinscheduler is recommended
resourceUploadPath="/dolphinscheduler"
# who have permissions to create directory under HDFS/S3 root path
# Note: if kerberos is enabled, please config hdfsRootUser=
# 具備許可權建立resourceUploadPath的使用者,這裡用的是Hadoop搭建的使用者,我是用的是root使用者搭建的。也有人會建立hdfs使用者進行搭建。
hdfsRootUser="root"
# kerberos config
# whether kerberos starts, if kerberos starts, following four items need to config, otherwise please ignore
kerberosStartUp="false"
# kdc krb5 config file path
krb5ConfPath="$installPath/conf/krb5.conf"
# keytab username
keytabUserName="hdfs-mycluster@ESZ.COM"
# username keytab path
keytabPath="$installPath/conf/hdfs.headless.keytab"
# api server port
apiServerPort="12345"
# install hosts
# Note: install the scheduled hostname list. If it is pseudo-distributed, just write a pseudo-distributed hostname
# 在哪些機器上部署DS服務,本機選localhost(如下配置為單機配置,需要叢集配置,直接參考預設值即可)
ips="lyqds01,lyqds02,lyqds03"
# ssh port, default 22
# Note: if ssh port is not default, modify here
#ssh埠,預設22
sshPort="22"
# run master machine
# Note: list of hosts hostname for deploying master
# master服務部署在哪臺機器上
masters="lyqds01,lyqds02"
# run worker machine
# note: need to write the worker group name of each worker, the default value is "default"
# worker服務部署在哪臺機器上
workers="lyqds01:default,lyqds02:default,lyqds03:default"
# run alert machine
# note: list of machine hostnames for deploying alert server
#報警服務部署在哪臺機器上
alertServer="lyqds01"
# run api machine
# note: list of machine hostnames for deploying api server
# 後端api服務部署在在哪臺機器上
apiServers="lyqds01,lyqds02"
- xml檔案不要忘記,將hadoop中的hdfs-site.xml和core-site.xml檔案軟連線或者拷貝到dolphinscheduler的conf目錄下。
一鍵部署
- 進入指令碼目錄
cd /lyqds/software/dolphinscheduler-bin
- 執行指令碼
sh install.sh
登入系統
-
訪問前端頁面地址,介面ip(自行修改) http://192.168.xx.xx:12345/dolphinscheduler
-
賬號:admin
-
密碼:dolphinscheduler123
相關文章
- linux安裝mysql的步驟和方法詳細說明LinuxMySql
- spss安裝教程26超詳細 spss26軟體安裝步驟SPSS
- Mac安裝Redis,詳細redis安裝步驟MacRedis
- 【詳細教程】Linux安裝redis並搭建叢集LinuxRedis
- Virtualbox7安裝及使用詳細步驟
- arcgis安裝教程10.2 arcgis詳細安裝步驟
- docker安裝portainer詳細步驟DockerAI
- MySQL的安裝步驟(詳細)MySql
- WindTerm的安裝及遠端連線Linux系統步驟Linux
- vnc安裝步驟,4個vnc安裝步驟實現vnc與Linux的連線VNCLinux
- VNC安裝配置詳細說明VNC
- Adobe Audition各版本安裝包下載與安裝
- Navicat Premium 16.1 安裝包下載及安裝REM
- 相容M1+M2晶片 After Effects2022v22.5 For Mac版本 蘋果軟體安裝包下載 安裝教程步驟晶片Mac蘋果
- SAP2000 22安裝教程(詳細安裝步驟)
- vnc安裝步驟,vnc安裝步驟詳解VNC
- 超詳細oracle 11g安裝步驟 win版本Oracle
- Adobe After Effects各版本安裝包下載與安裝
- CentOS 7 安裝MongoDB詳細步驟CentOSMongoDB
- Linux安裝jdk的詳細步驟LinuxJDK
- Linux安裝jdk的詳細步驟。LinuxJDK
- ubuntu 18.04安裝kalibr(詳細步驟)Ubuntu
- 安裝fbprophet模組詳細步驟
- Cassandra安裝及分散式叢集搭建分散式
- CentOS 7.4安裝redis 4.0詳細步驟CentOSRedis
- CentOS 7上安裝WordPress詳細步驟CentOS
- Elasticsearch7.6.2(目前最新版本)叢集搭建及Head外掛——最詳細安裝及配置Elasticsearch
- centos7安裝教程詳解 centos7安裝詳細步驟CentOS
- Pycharm 2024安裝包下載與安裝PyCharm
- UBUNTU手動安裝JDK的詳細步驟UbuntuJDK
- Git學習2 --- Git安裝詳細步驟Git
- NodeJS入門(一)---nodejs詳細安裝步驟NodeJS
- CentOS 7.4下安裝nginx的詳細步驟CentOSNginx
- KeyShot9.3安裝教程(附詳細步驟)
- doris編譯和安裝部署詳細步驟編譯
- vnc遠端安裝,10個步驟在Linux中遠端安裝VNC並連線VNCLinux
- Nginx安裝(詳細版本)Nginx
- 詳盡的 Elasticsearch7.X 安裝及叢集搭建教程Elasticsearch