1. 资源规划
| 组件 | bigdata-hk-node1 | bigdata-hk-node2 | bigdata-hk-node3 |
|---|---|---|---|
| OS | centos7.6 | centos7.6 | centos7.6 |
| JDK | jvm | jvm | jvm |
| Zookeeper | QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
| MySQL | N.A | N.A | mysqld |
| DS | MasterServer / ApiApplicationServer | MasterServer / WorkerServer / AlertServer / LoggerServer | WorkerServer / LoggerServer |
2. 安装介质
版本:apache-dolphinscheduler-1.3.9-bin.tar.gz
下载:https://dolphinscheduler.apache.org/zh-cn/download/download.html
3. 环境准备
- 安装JDK(v1.8+)
- 安装MySQL(v5.7+,JDBC Driver v5.1.47+)
- 安装ZooKeeper(v3.4.6+)
参考:《CentOS7.6-安装ZooKeeper-3.6.3》
说明:节点内存建议分配大于4G,否则告警服务器、日志服务器等无法正常启动。
4. 安装DS
4.1. 解压缩
cd /sharetar -zxvf apache-dolphinscheduler-1.3.9-bin.tar.gz -C /opt/module/mv /opt/module/apache-dolphinscheduler-1.3.9-bin /opt/module/dolphinscheduler-1.3.9
4.2. 创建部署用户
先在“bigdata-hk-node1”节点部署DolphinScheduler,之后分发到其他节点,所有安装节点均需新建用户:**dolphinscheduler**。
sudo su# 新建用户(所有DS相关节点执行)useradd dolphinscheduler# 设置密码echo "dolphinscheduler" | passwd --stdin dolphinscheduler
设置sudo免密:
sudo suecho 'dolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' >> /etc/sudoerssed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
4.3. 配置hosts映射
安装虚拟机时已配置好映射,此处可省略。
sudo vi /etc/hosts192.168.56.101 bigdata-hk-node1192.168.56.102 bigdata-hk-node2192.168.56.103 bigdata-hk-node3
4.3. 配置ssh免密登录
配置节点“bigdata-hk-node1”到其他节点的ssh免密登录,以下操作均在bigdata-hk-node1节点上执行。
修改DolphinScheduler安装目录权限。
sudo chown -R dolphinscheduler:dolphinscheduler /opt/module/dolphinscheduler-1.3.9
生成密钥。
su - dolphinschedulerssh-keygen
将生成的公钥复制到其他节点。
ssh-copy-id bigdata-hk-node1ssh-copy-id bigdata-hk-node2ssh-copy-id bigdata-hk-node3
4.4. 配置数据库
# bigdata-hk-node3(MySQL安装节点,root)sudo susource /etc/profilemysql -uroot -p123456
内容如下:
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;quit
4.5. 创建表和导入基础数据
修改“conf”目录下“datasource.properties”中的配置。如果选择MySQL,请注释掉PostgreSQL相关配置(反之同理),还需要手动添加MySQL驱动jar包到“lib”目录下,这里下载的是:mysql-connector-java-5.1.47.jar,然后正确配置数据库连接相关信息。
cd /opt/module/dolphinscheduler-1.3.9cp /share/mysql-connector-java-5.1.47.jar /opt/module/dolphinscheduler-1.3.9/lib/vi conf/datasource.properties
内容如下: ```
postgre
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/dolphinscheduler
mysql
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://192.168.56.103:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true spring.datasource.username=dolphinscheduler spring.datasource.password=dolphinscheduler
修改并保存完后,执行“script”目录下的创建表及导入基础数据脚本。```bashcd /opt/module/dolphinscheduler-1.3.9sh script/create-dolphinscheduler.sh
4.6. 修改运行参数
cd /opt/module/dolphinscheduler-1.3.9rm -rf conf/env/dolphinscheduler_env.shvi conf/env/dolphinscheduler_env.sh
内容如下:
export HADOOP_HOME=/opt/module/hadoop-3.2.2export HADOOP_CONF_DIR=/opt/module/hadoop-3.2.2/etc/hadoopexport SPARK_HOME2=/opt/module/sparkexport PYTHON_HOME=/usr/bin/pythonexport JAVA_HOME=/opt/module/jdk1.8.0_221export HIVE_HOME=/opt/module/apache-hive-3.1.2-binexport DATAX_HOME=/opt/module/datax/bin/datax.pyexport PATH=$HADOOP_HOME/bin:$SPARK_HOME2/bin:$PYTHON_HOME:$JAVA_HOME/bin:$HIVE_HOME/bin:$DATAX_HOME:$PATH
创建JDK软链接:
sudo ln -s /opt/module/jdk1.8.0_221/bin/java /usr/bin/java
4.7. 修改一键部署参数
cd /opt/module/dolphinscheduler-1.3.9vi conf/config/install_config.conf
内容如下:
# 这里填mysql或postgresqldbtype="mysql"# 数据库连接地址dbhost="192.168.56.103:3306"# 数据库名dbname="dolphinscheduler"# 数据库用户名username="dolphinscheduler"# 数据库密码,如果有特殊字符,请使用 \ 转义password="dolphinscheduler"# Zookeeper 地址zkQuorum="192.168.56.101:2181,192.168.56.102:2181,192.168.56.103:2181"# 将DS安装到哪个目录,不同于解压目录,在解压目录中新建了一个install_path作为安装目录installPath="/opt/module/dolphinscheduler-1.3.9/install"# 使用哪个用户部署,使用第 3 节创建的用户deployUser="dolphinscheduler"# 邮件协议mailProtocol="SMTP"# 邮件服务地址mailServerHost="smtp.qq.com"# 发送者mailSender="xxx@qq.com"# 发送用户mailUser="xxx@qq.com"# 邮件服务地址值,与${mailServerHost}保持一致sslTrust="smtp.qq.com"# 业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS、S3、NONE# 单机如果想使用本地文件系统,请配置为 HDFS,因为 HDFS 支持本地文件系统;# 如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoopresourceStorageType="HDFS"# 用户数据本地目录,请确保该目录存在,且具有读写权限dataBasedirPath="/opt/module/dolphinscheduler-1.3.9/data"# 如果上传资源保存想保存在hadoop上,hadoop集群的NameNode 启用了HA的话,# 需要将hadoop的配置文件core-site.xml和hdfs-site.xml 放到安装路径的conf目录下# 本例即是放到/opt/module/dolphinscheduler/conf下面,并配置namenode cluster名称;# 如果NameNode不是HA,则只需要将mycluster修改为具体的ip或者主机名即可defaultFS="hdfs://bigdata-hk-node1:8020"# 如果没有使用到Yarn,保持以下默认值即可;# 如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者 hostname# 比如"192.168.xx.xx,192.168.xx.xx";# 如果是单ResourceManager请配置yarnHaIps=""即可yarnHaIps=""# 如果ResourceManager是HA或者没有使用到Yarn保持默认值即可;# 如果是单ResourceManager,请配置真实的ResourceManager主机名或者ipsingleYarnIp="192.168.56.102"# 资源上传根路径,主持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限resourceUploadPath="/opt/module/dolphinscheduler-1.3.9/resource"# 在哪些机器上部署DS服务ips="192.168.56.101,192.168.56.102,192.168.56.103"# master服务部署在哪台机器上masters="192.168.56.101,192.168.56.102"# worker服务部署在哪台机器上,并指定此worker属于哪一个worker组# 下面示例的default即为组名workers="192.168.56.102:default,192.168.56.103:default"# 报警服务部署在哪台机器上alertServer="192.168.56.102"# api 服务端口(默认)apiServerPort="12345"# 后端api服务部署在在哪台机器上apiServers="192.168.56.101"
4.8. 一键部署
su - dolphinschedulercd /opt/module/dolphinscheduler-1.3.9sh install.sh
进程查看:
# bigdata-hk-node1jps**** MasterServer**** ApiApplicationServer# bigdata-hk-node2jps**** MasterServer**** WorkerServer**** AlertServer**** LoggerServer# bigdata-hk-node3jps**** WorkerServer**** LoggerServer
日志查看:
ls -l /opt/module/dolphinscheduler-1.3.9/install/logstail -200f /opt/module/dolphinscheduler-1.3.9/install/logs/dolphinscheduler-*.outtail -200f /opt/module/dolphinscheduler-1.3.9/install/logs/dolphinscheduler-*.log
5. 服务启停
cd /opt/module/dolphinscheduler-1.3.9/install# 一键启停sh ./bin/start-all.shsh ./bin/stop-all.sh
6. 验证
WebUI:http://bigdata-hk-node1:12345/dolphinscheduler
默认账户口令:admin/dolphinscheduler123
