DolphinScheduler集部署
⼀、环境要求
1.硬件环境
硬件环境包括:系统、硬件、端⼝号
系统要求
硬件要求,只是推荐配置,没有那么强也可以。
端⼝号要求。如果说在部署的过程中,某个节点起不来,查看⽇志,抛异常说端⼝号被占⽤,⽤ps或者net 查看端⼝号使⽤进程是否被占⽤。
2.软件要求
软件环境包括: mysql、jdk、zookeeper、hadoop
CDH5.12.0
jdk1.8
mysql5.7
zookeeper-3.4.5-cdh5.12.0
⼆、部署过程
1.下载编译好的bin包(也可以下载未编译过的⼆进制包然后编译)
wget /i/incubator/dolphinscheduler/1.3.2/apache-dolphinscheduler-incubating-1.3. 2.创建部署⽬录
官⽅⽂档默认建⽴在opt⽬录下,解压之后mv重命名。
# Create the deployment directory. Do not choose a deployment directory with a high-privilege directory such as / root or / home. mkdir -p /opt/dolphinscheduler;
cd /opt/dolphinscheduler;
# uncompress
tar -zxvf apache-dolphinscheduler-1.3. -C /opt/dolphinscheduler;
mv apache-dolphinscheduler-1.3.6-bin dolphinscheduler-bin
本次⽰例安装在不同的⽬录中:
在三台机器上分别创建这两个⽂件夹
[root@ruozedata001 ~]# mkdir -p /ruozedata/software
[root@ruozedata001 ~]# mkdir -p /ruozedata/app
下载好的bin包不能直接使⽤,还需要完成⼀些基础的配置。没有⽤mv重命名的⽅法,⽽是创建了软链接。
[root@ruozedata001 ~]# cd /ruozedata/
[root@ruozedata001 ruozedata]# cd software/
[root@ruozedata001 software]# ll
total 4
drwxr-xr-x 9 root root 4096 Sep 17 21:59 apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin
[root@ruozedata001 software]# ln -s apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin
dolphinscheduler-bin
[root@ruozedata001 software]# ll
total 8
drwxr-xr-x 9 root root 4096 Sep 17 21:59 apache-dolphinscheduler-incubating-1.3.2-dolphinscheduler-bin
lrwxrwxrwx 1 root root  61 Sep 17 22:00 dolphinscheduler-bin -> apache-dolphinscheduler-incubating-1.3.2-
dolphinscheduler-bin
[root@ruozedata001 software]#
3.创建部署⽤户和主机映射
有点⼉类似hadoop的创建⽤户,和打通映射关系
官⽅⽂档给出的⽅法
在**所有**部署机器上创建部署⽤户,⼀定要配置sudo⽆密码。如果我们计划在 4 台机器上部署 DolphinScheduler:ds1、ds2、ds3 和ds4,我们⾸先需要在每台机器上创建⼀个部署⽤户。
# To create a user, you need to log in as root and set the deployment user name. Please modify it yourself. The
following uses dolphinscheduler as an example. useradd dolphinscheduler;
# Set the user password, please modify it yourself. The following takes dolphinscheduler123 as an example. echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
# Configure sudo passwordless echo 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
本次我们将⽤户配在hadoop⽤户上
通过id,hadoop查看我们是否有这个⽤户。
如果hadoop⽤户已经存在,useradd hadoop -g hadoop (这块⼉没懂应该是指定组)
三台机器⼀起做⽤户的配置和免密登陆
# 创建⽤户需使⽤root登录,设置部署⽤户名,请⾃⾏修改,后⾯以hadoop为例
useradd hadoop;
# 设置⽤户密码,请⾃⾏修改,后⾯以dolphinscheduler123为例
echo "ruozedata123" | passwd --stdin hadoop
# 配置sudo免密
echo 'hadoop  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`上给该部署⽤户分配读写的权限
4.配置host映射和ssh打通及修改⽬录权限
⼤部分的⽣产环境应该已经配置过了host映射,查看⽅法为
对应的三台机器内⽹ip 和 机器名称
没有的话可以参照官⽅⽂档:
使⽤第⼀台机器(主机名是ds1)作为部署机器,在ds1上配置所有要部署的机器的hosts,在ds1上以root⾝份登录。
vi /etc/hosts
#add ip hostname
x ds1
x ds2
x ds3
x ds4
将 ds1 上的 /etc/hosts 同步到所有部署机器
for ip in ds2 ds3;
# Please replace ds2 ds3 here with the hostname of machines you want to deploy do sudo scp -r /etc/hosts $ip:/etc/ # Need to enter root password during operation done
SSH 打通:
⾸先我们在三台机器下切换到⽤户。三台机器都⽣成密钥
su - hadoop
ssh-keygen
到第⼆台机器下将密钥拷贝到第⼀台机器
同样第三台也是这样操作
拷贝完成后第⼀台机器有三台的密钥了
参考hadoop配置⽂档,赋予权限,将配置好的密钥发送到另外两台机器上。
三台机器配置完成后验证是否配置成功,第⼀次输⼊yes,不需要输⼊密码,配置成功。
三台机器互相信任关系已经打通
ssh ruozedata001 date
ssh ruozedata002 date
ssh ruozedata003 date
修改⽬录权限
sudo chown -R hadoop:hadoop /ruozedata
ll /ruozedata
5.数据库初始化
mysql操作官方文档
官⽅⽂档:
进⼊数据库。默认数据库是 PostgreSQL。如果选择MySQL,则需要将mysql-connector-java驱动包添加到DolphinScheduler的lib⽬录下。
数据库初始化只在node01配置
那么将mysql-connector-java驱动包到DolphinScheduler的lib⽬录,直接下载这个⽂件拷贝到这个⽬录下也可以。
[hadoop@ruozedata001 ~]$ cd
/ruozedata/software/dolphinscheduler-bin/lib
[hadoop@ruozedata001 lib]$
[hadoop@ruozedata001 lib]$ cp /usr/share/java/mysql-connector-java.jar  ./
拷贝完之后进⼊到mysql,创建db和⽤户和赋予权限
mysql - -P3306 -uroot -p

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。