世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
1.下载:dolphinscheduler
2.下载:zookeeper
3.配置:zookeeper
4.配置:dolphinscheduler
5.创建用户:dolphinscheduler
6.设置ssh免密登录:
7.数据库初始化:
8.配置数据源:
9.执行数据库脚本:
10.环境变量配置:
11.参数配置:
12.资源中心功能:
13.一键部署:
14.修改端口:
15.登陆系统:
1.下载:dolphinscheduler
https://dolphinscheduler.apache.org/zh-cn/docs/release/download.html
下载二进制版本:1.3.2
2.下载:zookeeper
https://zookeeper.apache.org/releases.html
下载第一行的:3.6.2
3.配置:zookeeper
cp conf/zoo_smple.cfg conf/zoo.cfg
在zoo.cfg中修改dataDir和clientPort
4.配置:dolphinscheduler
vi conf/zookeeper.properties: 主要修改zookeeper的连接地址
5.创建用户:dolphinscheduler
#创建用户需使用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
#修改目录权限,使得部署用户对dolphinscheduler-bin目录有操作权限
chown -R dolphinscheduler:dolphinscheduler dolphinscheduler-bin
6.设置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
7.数据库初始化:
mysql -uroot -p
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> flush privileges;
8.配置数据源:
下载jar包:https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.20
将mysql的jar包放到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://xxx:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 需要修改ip,本机localhost即可
spring.datasource.username=xxx 需要修改为上面的{user}值
spring.datasource.password=xxx 需要修改为上面的{password}值
9.执行数据库脚本:
sh script/create-dolphinscheduler.sh
10.环境变量配置:
vi conf/env/dolphinscheduler_env.sh
export HADOOP_HOME=/opt/soft/hadoop
export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
#export SPARK_HOME1=/opt/soft/spark1
export SPARK_HOME2=/opt/soft/spark2
export PYTHON_HOME=/opt/soft/python
export JAVA_HOME=/opt/soft/java
export HIVE_HOME=/opt/soft/hive
export FLINK_HOME=/opt/soft/flink
export DATAX_HOME=/opt/soft/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
11.参数配置:
vi conf/config/install_config.conf
#这里填 mysql or postgresql
dbtype="mysql"
#数据库连接地址
dbhost="localhost:3306"
#数据库名
dbname="dolphinscheduler"
#数据库用户名,此处需要修改为上面设置的{user}具体值
username="xxx"
#数据库密码, 如果有特殊字符,请使用\转义,需要修改为上面设置的{password}具体值
password="xxx"
#Zookeeper地址,单机本机是localhost:2181,记得把2181端口带上
zkQuorum="localhost:2181"
#将DS安装到哪个目录,如: /opt/soft/dolphinscheduler,不同于现在的目录
installPath="/opt/soft/dolphinscheduler"
#使用哪个用户部署,使用第3节创建的用户
deployUser="dolphinscheduler"
#邮件配置,以qq邮箱为例
#邮件协议
mailProtocol="SMTP"
#邮件服务地址
mailServerHost="smtp.qq.com"
#邮件服务端口
mailServerPort="25"
#mailSender和mailUser配置成一样即可
#发送者
mailSender="xxx@qq.com"
#发送用户
mailUser="xxx@qq.com"
#邮箱密码
mailPassword="xxx"
TLS协议的邮箱设置为true,否则设置为false
starttlsEnable="true"
#开启SSL协议的邮箱配置为true,否则为false。注意: starttlsEnable和sslEnable不能同时为true
sslEnable="false"
#邮件服务地址值,参考上面 mailServerHost
sslTrust="smtp.qq.com"
#业务用到的比如sql等资源文件上传到哪里,可以设置:HDFS,S3,NONE,单机如果想使用本地文件系统,请配置为HDFS,因为HDFS支持本地文件系统;如果不需要资源上传功能请选择NONE。强调一点:使用本地文件系统不需要部署hadoop
resourceStorageType="HDFS"
#这里以保存到本地文件系统为例
#注:但是如果你想上传到HDFS的话,NameNode启用了HA,则需要将hadoop的配置文件core-site.xml和hdfs-site.xml放到conf目录下,本例即是放到/opt/dolphinscheduler/conf下面,并配置namenode cluster名称;如果NameNode不是HA,则修改为具体的ip或者主机名即可
defaultFS="file:///data/dolphinscheduler" #hdfs://{具体的ip/主机名}:8020
#如果没有使用到Yarn,保持以下默认值即可;如果ResourceManager是HA,则配置为ResourceManager节点的主备ip或者hostname,比如"192.168.xx.xx,192.168.xx.xx";如果是单ResourceManager请配置yarnHaIps=""即可
yarnHaIps="192.168.xx.xx,192.168.xx.xx"
#如果ResourceManager是HA或者没有使用到Yarn保持默认值即可;如果是单ResourceManager,请配置真实的ResourceManager主机名或者ip
singleYarnIp="yarnIp1"
#资源上传根路径,支持HDFS和S3,由于hdfs支持本地文件系统,需要确保本地文件夹存在且有读写权限
resourceUploadPath="/data/dolphinscheduler"
#具备权限创建resourceUploadPath的用户
hdfsRootUser="hdfs"
#在哪些机器上部署DS服务,本机选localhost
ips="localhost"
#ssh端口,默认22
sshPort="22"
#master服务部署在哪台机器上
masters="localhost"
#worker服务部署在哪台机器上,并指定此worker属于哪一个worker组,下面示例的default即为组名
workers="localhost:default"
#报警服务部署在哪台机器上
alertServer="localhost"
#后端api服务部署在在哪台机器上
apiServers="localhost"
12.资源中心功能:
sudo mkdir /data/dolphinscheduler
sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
13.一键部署:
sh install.sh
14.修改端口:
vi conf/application-api.properties
15.登陆系统:
访问前端页面地址,接口ip(自行修改) http://192.168.xx.xx:12345/dolphinscheduler