企业级大数据安全架构(十一)
一、Kerberos接入dophinscheduler
建议将dophinscheduler集成到Ambari安装部署,在Ambari上面开启kerberos
1.安装准备
编译
从GitHub获取dolphinscheduler-1.3.9源码
git clone https://github.com/apache/dolphinscheduler.git -b 1.3.9-release
https://github.com/apache/dolphinscheduler/archive/2.0.3.zip
进入源码目录进行编译
mvn -U clean install -Prpmbuild -Dmaven.test.skip=true -X
编译完成后在dolphinscheduler-dist/target/rpm/apache-dolphinscheduler/RPMS/noarch路径下可以找到打包好的rpm
将编译好的包发送到其他节点
注意:nodejs版本不要太低,不然编译过程不容易通过,另外npm尽量不要使用淘宝镜像
2.环境准备
2.1创建部署用户
选择需要部署dolphinscheduler的机器创建系统用户dolphinscheduler
创建部署用户,并且一定要配置sudo免密。以创建dolphinscheduler用户为例
useradd dolphinscheduler;
echo "dolphinscheduler" | passwd --stdin dolphinscheduler
# 配置sudo免密
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
# 修改目录权限,使得部署用户对dolphinscheduler-backend目录有操作权限
chown -R dolphinscheduler:dolphinscheduler dolphinscheduler
2.2在部署用户并配置 ssh 本机免密登录
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.3 其他待部署的机器配置ssh免密
su dolphinscheduler;
for ip in db003.hdp.com db004.hdp.com;
do
ssh-copy-id $ip # 该操作执行过程中需要手动输入 dolphinscheduler 用户的密码
done
2.4数据库初始化
(1)登陆数据库:mysql -uroot -phdp123456
(2)创建数据库并设置相应权限
CREATE DATABASE dolphinscheduler;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'hdp123456';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'hdp123456';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'current_hostname' IDENTIFIED BY 'hdp123456';
FLUSH PRIVILEGES;
2.5选择需要部署dolphinscheduler的机器进行rpm安装
执行安装命令rpm -ivh apache-dolphinscheduler-1.3.10-1.noarch.rpm
安装完成后将mysql驱动包放到dolphinscheduler/lib目录下
2.6配置调度所执行任务的必要环境
修改dolphinscheduler目录conf下的dolphinscheduler_env.sh 环境变量
export HADOOP_HOME=/usr/hdp/3.1.0.0-78/hadoop
export HADOOP_CONF_DIR=/usr/hdp/3.1.0.0-78/hadoop/etc/hadoop/
export SPARK_HOME2=/usr/hdp/3.1.0.0-78/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/opt/module/jdk1.8.0_281
export HIVE_HOME=/usr/hdp/3.1.0.0-78/hive
export FLINK_HOME=/usr/hdp/3.1.0.0-78/flink
export PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH:$FLINK_HOME/bin:$PATH
组件配置路径根据自己安装路径配置,但是jdk必须软链到/usr/bin/java,否则后续安装完成之后启动会报错java命令找不到
ln -s /opt/module/jdk1.8.0_281/bin/java /usr/bin/java
3.Ambari集成dophinscheduler
3.1部署ambari插
#将dolphinscheduler自定义集成配置文件拷贝到ambari-server服务节点的相关目录
cp -r ambari_plugin/common-services/DOLPHIN /var/lib/ambari-server/resources/common-services/
cp -r ambari_plugin/statcks/DOLPHIN /var/lib/ambari-server/resources/stacks/HDP/3.1/services/
3.2重启ambari-server
在ambari server部署节点执行重启命令ambari-server restart
3.3开始安装
(1)进入ambari界面,界面左侧 >> services >> Add service >> Dolphin Scheduler >> NEXT >>选择DS Master
(2)选择要部署机器
(3)选择安装组件机器
(4)配置部署的用户,数据库host用户名密码,hdfs地址
(4)完成安装登陆
初始化登陆用户名密码是admin/dolphinscheduler123,该用户名密码是在前面初始化的时候sql导入的用户名密码
(5)登陆界面