欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng)的案例詳解

 更新時(shí)間:2022年05月28日 15:36:42   作者:華為云開發(fā)者社區(qū)  
這篇文章主要介紹了基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

為什么寫這篇文章?

  • 網(wǎng)上關(guān)于DolphinScheduler的介紹很多但是都缺少了與實(shí)際大數(shù)據(jù)平臺結(jié)合的案例指導(dǎo)。
  • DolphinScheduler1.x版本,2.x重構(gòu)了內(nèi)核實(shí)現(xiàn),性能提升20倍!但是因?yàn)橹貥?gòu)導(dǎo)致2.x與1.x部署過程存在差異,按照1.x部署2.x版本存在不少坑。
  • 選擇輕量化、免運(yùn)維、低成本的大數(shù)據(jù)云服務(wù)是業(yè)界趨勢,如果搭建DolphinScheduler再同步自建一套Hadoop生態(tài)成本太高!因此我們通過結(jié)合華為云MRS服務(wù)構(gòu)建數(shù)據(jù)中臺。

環(huán)境準(zhǔn)備

  • dolphinscheduler2.0.3安裝包
  • MRS 3.1.0普通集群
  • Mysql安裝包 5.7.35
  • ECS centos7.6

安裝MRS 客戶端

MRS客戶端提供java、python開發(fā)環(huán)境,也提供開通集群中各組件的環(huán)境變量:Hadoop、hive、hbase、flink等。

參見登錄ECS安裝集群外客戶端

安裝MySQL服務(wù)

1. 創(chuàng)建ECS用戶

為了方便數(shù)據(jù)庫管理,對于安裝的MySQL數(shù)據(jù)庫,生產(chǎn)上建立了一個mysql用戶和mysql用戶組:

# 添加mysql用戶組 
groupadd mysql 
# 添加mysql用戶 
useradd -g mysql mysql -d /home/mysql 
# 修改mysql用戶的登陸密碼 
passwd ****

2.解壓安裝包

```
cd /usr/local/ 
tar -xzvf  mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
# 改名為mysql 
mv mysql-5.7.13-linux-glibc2.5-x86_64 mysql
```

賦予用戶讀寫權(quán)限

chown -R mysql:mysql mysql/

3. 配置文件初始化

1. 創(chuàng)建配置文件my.cnf

```
vim /etc/my.cnf
[client] 
port = 3306 
socket = /tmp/mysql.sock 
[mysqld] 
character_set_server=utf8 
init_connect='SET NAMES utf8' 
basedir=/usr/local/mysql 
datadir=/usr/local/mysql/data 
socket=/tmp/mysql.sock 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 
#不區(qū)分大小寫 
lower_case_table_names = 1 
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
max_connections=5000 
default-time_zone = '+8:00'
```

2. 初始化log文件,防止沒有權(quán)限

```
#手動編輯一下日志文件,什么也不用寫,直接保存退出 
cd /var/log/ 
vim mysqld.log 
:wq 退出保存
chmod 777 mysqld.log 
chown mysql:mysql mysqld.log
```

3. 初始化pid文件,防止沒有權(quán)限

```
cd /var/run/ 
mkdir mysqld 
cd mysqld 
vi mysqld.pid 
:wq保存退出 
# 賦權(quán) 
cd .. 
chmod 777 mysqld 
chown -R mysql:mysql /mysqld
```

4. 初始化數(shù)據(jù)庫

初始化數(shù)據(jù)庫,并指定啟動mysql的用戶,否則就會在啟動MySQL時(shí)出現(xiàn)權(quán)限不足的問題

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

初始化完成后,在my.cnf中配置的datadir目錄(/var/log/mysqld.log)下生成一個error.log文件,里面記錄了root用戶的隨機(jī)密碼。

cat /var/log/mysqld.log

執(zhí)行后記錄最后一行:root@localhost: xxxxx 。 這里的xxxxx就是初始密碼。后面登入數(shù)據(jù)庫要用到。

4. 啟動數(shù)據(jù)庫

#源目錄啟動:
/usr/local/mysql/support-files/mysql.server start

設(shè)置開機(jī)自啟動服務(wù)

# 復(fù)制啟動腳本到資源目錄 
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 
# 增加mysqld服務(wù)控制腳本執(zhí)行權(quán)限 
chmod +x /etc/rc.d/init.d/mysqld 
# 將mysqld服務(wù)加入到系統(tǒng)服務(wù) 
chkconfig --add mysqld 
# 檢查mysqld服務(wù)是否已經(jīng)生效 
chkconfig --list mysqld 
# 切換至mysql用戶,啟動mysql,或者稍后下一步再啟動。 
service mysqld start 
# 從此就可以使用service mysqld命令啟動/停止服務(wù)
su mysql 
service mysqld start 
service mysqld stop 
service mysqld restart

5.登陸,修改密碼,預(yù)置dolphinscheduler的用戶

1. 修改密碼

```
# 系統(tǒng)默認(rèn)會查找/usr/bin下的命令;建立一個鏈接文件。 
ln -s /usr/local/mysql/bin/mysql /usr/bin 
# 登陸mysql的root用戶 
mysql -uroot -p 
# 輸入上面的默認(rèn)初始密碼(root@localhost: xxxxx) 
# 修改root用戶密碼為XXXXXX 
set password for root@localhost=password("XXXXXX"); 
```

2. 預(yù)置dolphinscheduler的用戶

```
mysql -uroot -p 
mysql>CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
# 修改 {user} 和 {password} 為你希望的用戶名和密碼,192.168.56.201是我的主機(jī)ID 
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler'; 
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler'; 
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'192.168.56.201' IDENTIFIED BY 'dolphinscheduler'; 
#刷新權(quán)限 
mysql> flush privileges; 
#檢查是否創(chuàng)建用戶成功 
mysql> show databases; 
#出現(xiàn)dolphinscheduler,查看創(chuàng)建的用戶 
mysql> use mysql; 
mysql> select User,authentication_string,Host from user;
```

安裝dolphinscheduler服務(wù)

1. 建立本機(jī)id免密

在任意文件夾下進(jìn)行這一步均可,為防止誤會,我在dolphinscheduler203進(jìn)行這一步,創(chuàng)建用戶dolphinscheduler,后面所有操作都是再這個用戶下做的。設(shè)置root免密登錄該用戶:

# 創(chuàng)建用戶需使用 root 登錄
useradd dolphinscheduler 
# 添加密碼 
echo "dolphinscheduler" | passwd --stdin dolphinscheduler 
# 配置 sudo 免密 
sed -i '$adolphinscheduler  ALL=(ALL)  NOPASSWD: NOPASSWD: ALL' /etc/sudoers 
sed -i 's/Defaults    requirett/#Defaults    requirett/g' /etc/sudoers 
# 修改目錄權(quán)限,在這一步前將jdbcDriver(我的mysql版本5.6.1,driver版本8.0.16)放入lib里,一并修改權(quán)限 
chown -R dolphinscheduler:dolphinscheduler dolphinscheduler203 
#進(jìn)入新用戶 
su dolphinscheduler 

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
chmod 600 ~/.ssh/authorized_keys

2. 修改配置參數(shù)

修改install-config.conf文件

[dolphinscheduler@km1 dolphinscheduler203]$ vi conf/config/install-config.conf 
修改: 
ips="192.168.56.201" 
masters="192.168.56.201" 
workers="192.168.56.201:default" 
alertServer="192.168.56.201" 
apiServers="192.168.56.201" 
pythonGatewayServers="192.168.56.201" 
# DolphinScheduler安裝路徑,如果不存在會創(chuàng)建,這里不能放你解壓后的ds路徑,放置后在運(yùn)行代碼時(shí)同名文件、文件夾會沖突導(dǎo)致消失 
installPath="/opt/dolphinscheduler203" 
# 部署用戶,填寫在 **配置用戶免密及權(quán)限** 中創(chuàng)建的用戶 
deployUser="dolphinscheduler" 
# --------------------------------------------------------- 
# DolphinScheduler ENV 
# --------------------------------------------------------- 
# 安裝的JDK中 JAVA_HOME 所在的位置 
javaHome="/opt/hadoopclient/JDK/jdk1.8.0_272" 
# --------------------------------------------------------- 
# Database 
# --------------------------------------------------------- 
# 數(shù)據(jù)庫的類型,用戶名,密碼,IP,端口,元數(shù)據(jù)庫db。其中 DATABASE_TYPE 目前支持 mysql, postgresql, H2 
# 請確保配置的值使用雙引號引用,否則配置可能不生效 
DATABASE_TYPE="mysql" 
SPRING_DATASOURCE_URL="jdbc:mysql://192.168.56.201:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8" 
# 如果你不是以 dolphinscheduler/dolphinscheduler 作為用戶名和密碼的,需要進(jìn)行修改 
SPRING_DATASOURCE_USERNAME="dolphinscheduler" 
SPRING_DATASOURCE_PASSWORD="dolphinscheduler" 
# --------------------------------------------------------- 
# Registry Server 
# --------------------------------------------------------- 
# 注冊中心地址,zookeeper服務(wù)的地址 
registryServers="192.168.56.201:2181"

zk地址獲取方式:

登錄manager,訪問zookeeper服務(wù),copy管理ip即可(前提ECS與MRS集群網(wǎng)絡(luò)已打通):

2. 修改 conf/env 目錄下的 dolphinscheduler_env.sh
以相關(guān)用到的軟件都安裝在/opt/Bigdata/client下為例:

?    export HADOOP_HOME=/opt/Bigdata/client/HDFS/Hadoop
?    export HADOOP_CONF_DIR=/opt/Bigdata/client/HDFS/Hadoop
?    export SPARK_HOME2=/opt/Bigdata/client/Spark2x/spark
?    export PYTHON_HOME=/usr/bin/pytho
?    export JAVA_HOME=/opt/Bigdata/client/JDK/jdk1.8.0_272
?    export HIVE_HOME=/opt/Bigdata/client/Hive/Beeline
?    export FLINK_HOME=/opt/Bigdata/client/Flink/flink
?    export DATAX_HOME=/xxx/datax/bin/datax.py
?    export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$DATAX_HOME:$PATH

說明

  • 這一步非常重要,例如 JAVA_HOME 和 PATH 是必須要配置的,沒有用到的可以忽略或者注釋掉
  • 環(huán)境變量查找方式說明:假設(shè)MRS客戶端安裝在/opt/Bigdata/client
source /opt/client/bigdata_env
HADOOP_HOME環(huán)境地址:通過echo $HADOOP_HOME獲得 /opt/Bigdata/client/HDFS/Hadoop
HADOOP_CONF_DIR:/opt/Bigdata/client/HDFS/Hadoop
SPARK_HOME: 通過echo $SPARK_HOME獲得/opt/Bigdata/client/Spark2x/spark
JAVA_HOME: 通過echo $JAVA_HOME獲得/opt/Bigdata/client/JDK/jdk1.8.0_272
HIVE_HOME:通過echo $HIVE_HOME獲得/opt/Bigdata/client/Hive/Beeline
FLINK_HOME:通過echo $FLINK_HOME 獲得/opt/Bigdata/client/Flink/flink

3. 將mysql 驅(qū)動包放入lib下

tar -zxvf mysql-connector-java-5.1.47.tar.gz

cp mysql-connector-java-5.1.47.jar /opt/dolphinscheduler203/lib/

4.創(chuàng)建元數(shù)據(jù)庫數(shù)據(jù)表

執(zhí)行sh script/create-dolphinscheduler.sh

5. 服務(wù)安裝、啟停

每次啟停都可以重新部署一次:sh install.sh

啟停命令

# 一鍵停止集群所有服務(wù) 
sh ./bin/stop-all.sh 

# 一鍵開啟集群所有服務(wù) 
sh ./bin/start-all.sh 

# 啟停 Master 
sh ./bin/dolphinscheduler-daemon.sh stop master-server 
sh ./bin/dolphinscheduler-daemon.sh start master-server 

# 啟停 Worker 
sh ./bin/dolphinscheduler-daemon.sh start worker-server 
sh ./bin/dolphinscheduler-daemon.sh stop worker-server 

# 啟停 Api 
sh ./bin/dolphinscheduler-daemon.sh start api-server 
sh ./bin/dolphinscheduler-daemon.sh stop api-server 

# 啟停 Logger 
sh ./bin/dolphinscheduler-daemon.sh start logger-server 
sh ./bin/dolphinscheduler-daemon.sh stop logger-server 

# 啟停 Alert 
sh ./bin/dolphinscheduler-daemon.sh start alert-server 
sh ./bin/dolphinscheduler-daemon.sh stop alert-server 

# 啟停 Python Gateway 
sh ./bin/dolphinscheduler-daemon.sh start python-gateway-server 
sh ./bin/dolphinscheduler-daemon.sh stop python-gateway-server

6. 登錄系統(tǒng)

訪問前端頁面地址:http://xxx:12345/dolphinscheduler
用戶名密碼:admin/dolphinscheduler123

提交MRS任務(wù)

1.登錄進(jìn)入dolphinscheduler webui

2. 配置MRS-hive連接

登錄mrs manager查看hiveserver ip:

創(chuàng)建Hive數(shù)據(jù)連接,普通集群沒有權(quán)限可以使用默認(rèn)用戶hive,如有需要可以使用在MRS里面已經(jīng)創(chuàng)建的用戶:

3. 創(chuàng)建任務(wù)

1、創(chuàng)建項(xiàng)目

2、創(chuàng)建工作流

3、在工作流編輯任務(wù)

4、任務(wù)上線

5、啟動任務(wù)流之后可以查詢工作流實(shí)例和任務(wù)實(shí)例

6、登錄Manager頁面,選擇“集群 > 服務(wù) > Yarn > 概覽”

7、單擊“ResourceManager WebUI”后面對應(yīng)的鏈接,進(jìn)入Yarn的WebUI頁面,查看Spark任務(wù)是否運(yùn)行

到此這篇關(guān)于基于云服務(wù)MRS構(gòu)建DolphinScheduler2調(diào)度系統(tǒng)的文章就介紹到這了,更多相關(guān)DolphinScheduler調(diào)度系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Kubernetes教程之Windows?HostProcess?運(yùn)行容器化負(fù)載

    Kubernetes教程之Windows?HostProcess?運(yùn)行容器化負(fù)載

    這篇文章主要介紹了Kubernetes?Windows?HostProcess?運(yùn)行容器化負(fù)載,本篇內(nèi)容還是比較多的,總共包含了?Windows?HostProcess的創(chuàng)建、為?Windows?Pod?和容器配置?GMSA?和?Windows?的?Pod?和容器配置?RunAsUserName三大功能模塊,需要的朋友可以參考下
    2022-07-07
  • Rainbond云原生部署開源社區(qū)Discourse的配置過程

    Rainbond云原生部署開源社區(qū)Discourse的配置過程

    這篇文章主要為大家介紹了Rainbond云原生部署開源社區(qū)Discourse配置過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 虛擬化和云計(jì)算的區(qū)別分析

    虛擬化和云計(jì)算的區(qū)別分析

    這篇文章主要介紹了虛擬化和云計(jì)算的區(qū)別,深入淺出的列舉分析了虛擬化與云計(jì)算的幾點(diǎn)常見區(qū)別,需要的朋友可以參考下
    2016-10-10
  • K8S內(nèi)部pod之間相互調(diào)用案例以及詳解

    K8S內(nèi)部pod之間相互調(diào)用案例以及詳解

    這篇文章主要給大家介紹了關(guān)于K8S內(nèi)部pod之間相互調(diào)用案例的相關(guān)資料,Pod是Kubernetes中最小的可部署單元,它是一個或多個容器的集合,它們共享網(wǎng)絡(luò)和存儲資源,并在同一節(jié)點(diǎn)上運(yùn)行,需要的朋友可以參考下
    2023-08-08
  • 淺談Spark RDD API中的Map和Reduce

    淺談Spark RDD API中的Map和Reduce

    rdd是什么?如何創(chuàng)建?什么是map和reduce?本文就這些問題向大家作了一些分析,供大家參考,如有不足,歡迎指出。
    2017-10-10
  • k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) Pod 負(fù)載均衡的方法

    k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) 

    service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個服務(wù)可以通過 service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實(shí)現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下
    2022-10-10
  • K8S刪除pod的4種方法小結(jié)

    K8S刪除pod的4種方法小結(jié)

    在Kubernetes集群環(huán)境中工作時(shí),有時(shí)會遇到需要從一個工作節(jié)點(diǎn)中刪除pod的情況,下面這篇文章主要給大家介紹了關(guān)于K8S刪除pod的4種方法,需要的朋友可以參考下
    2024-01-01
  • 不同k8s集群間服務(wù)如何相互訪問實(shí)現(xiàn)詳解

    不同k8s集群間服務(wù)如何相互訪問實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了不同k8s集群間服務(wù)如何相互訪問實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Kubernetes應(yīng)用配置管理創(chuàng)建使用詳解

    Kubernetes應(yīng)用配置管理創(chuàng)建使用詳解

    這篇文章主要為大家介紹了Kubernetes應(yīng)用配置管理創(chuàng)建使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解

    這篇文章主要為大家介紹了Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評論