官方安装指导:https://dolphinscheduler.apache.org/zh-cn/docs/1.3.4/user_doc/quick-start.html

机器 服务 端口 group
hadoop01 master、api、logger 8787(master)、8888(api)
hadoop02 master、alert、worker、logger 8787(master)、7878(worker) hadoop
hadoop03 worker、logger 7878(worker) hadoop

hadoop 组配置后master分发任务才能根据cpu和内存的负载选择具体哪个worker执行任务

  • 确保三个节点都有目录/bigdata/soft/bigdata/install,且所属用户及用户组如下
  1. [hadoop@hadoop01 ~]$ ll /bigdata/
  2. 总用量 0
  3. drwxr-xr-x. 2 hadoop hadoop 6 4 13 14:21 install
  4. drwxr-xr-x. 2 hadoop hadoop 6 4 13 14:22 soft
  • 若没有这些目录,那么如下创建;3个节点都运行如下命令
  1. sudo mkdir -p /bigdata/install
  2. sudo mkdir -p /bigdata/soft
  3. sudo chown -R hadoop:hadoop /bigdata/
  4. ll /bigdata/
  • 启动zookeeper集群
  • 确保三节点上已经安装了zk
  • zk版本要求:ZooKeeper (3.4.6+)
  • 若没有安装,请先安装再往下继续
  • 因为ds的资源存储在HDFS上
  • 所以,hadoop01上运行start-dfs.sh启动hdfs

第一步:安装包下载,在hadoop01上执行

  1. [hadoop@hadoop01~]$ cd /bigdata/soft/
  2. [hadoop@hadoop01 soft]$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/incubator/dolphinscheduler/1.3.5/apache-dolphinscheduler-incubating-1.3.5-dolphinscheduler-bin.tar.gz

第二步:解压压缩包

  1. [hadoop@hadoop01 soft]$ tar -xzvf apache-dolphinscheduler-incubating-1.3.5-dolphinscheduler-bin.tar.gz -C /bigdata/install/

第三步:重命名

  1. [hadoop@hadoop01 soft]$ cd /bigdata/install/
  2. [hadoop@hadoop01 install]$ mv apache-dolphinscheduler-incubating-1.3.5-dolphinscheduler-bin/ dolphinscheduler-1.3.5
  3. [hadoop@hadoop01 install]$ ll
  4. 总用量 0
  5. drwxrwxr-x. 9 hadoop hadoop 156 4 13 14:35 dolphinscheduler-1.3.5

第四步:建库建表

此处以hadoop03安装了mysql为例
hadoop01上

  1. [hadoop@hadoop01 install]$ scp /bigdata/install/dolphinscheduler-1.3.5/sql/dolphinscheduler_mysql.sql hadoop03:/bigdata/soft/

hadoop03上,进入MySQL命令行执行

  1. mysql -uroot -p
  2. set global validate_password_policy=LOW;
  3. set global validate_password_length=6;
  4. CREATE DATABASE IF NOT EXISTS dolphinscheduler DEFAULT CHARSET utf8 DEFAULT COLLATE utf8_general_ci;
  5. GRANT ALL PRIVILEGES ON dolphinscheduler.* TO \'root\'@\'%\' IDENTIFIED BY \'123456\';
  6. GRANT ALL PRIVILEGES ON dolphinscheduler.* TO \'root\'@\'localhost\' IDENTIFIED BY \'123456\';
  7. flush privileges;
  8. use dolphinscheduler;
  9. source /kkb/soft/dolphinscheduler_mysql.sql;
  10. mysql> show tables;
  11. +--------------------------------+
  12. | Tables_in_dolphinscheduler |
  13. +--------------------------------+
  14. | QRTZ_BLOB_TRIGGERS |
  15. | QRTZ_CALENDARS |
  16. | QRTZ_CRON_TRIGGERS |
  17. | QRTZ_FIRED_TRIGGERS|
  18. | QRTZ_JOB_DETAILS |
  19. | QRTZ_LOCKS |
  20. | QRTZ_PAUSED_TRIGGER_GRPS |
  21. | QRTZ_SCHEDULER_STATE |
  22. | QRTZ_SIMPLE_TRIGGERS |
  23. | QRTZ_SIMPROP_TRIGGERS |
  24. | QRTZ_TRIGGERS |
  25. | t_ds_access_token |
  26. | t_ds_alert |
  27. | t_ds_alertgroup|
  28. | t_ds_command |
  29. | t_ds_datasource|
  30. | t_ds_error_command |
  31. | t_ds_process_definition|
  32. | t_ds_process_instance |
  33. | t_ds_project |
  34. | t_ds_queue |
  35. | t_ds_relation_datasource_user |
  36. | t_ds_relation_process_instance |
  37. | t_ds_relation_project_user |
  38. | t_ds_relation_resources_user |
  39. | t_ds_relation_udfs_user|
  40. | t_ds_relation_user_alertgroup |
  41. | t_ds_resources |
  42. | t_ds_schedules |
  43. | t_ds_session |
  44. | t_ds_task_instance |
  45. | t_ds_tenant|
  46. | t_ds_udfs |
  47. | t_ds_user |
  48. | t_ds_version |
  49. +--------------------------------+
  50. 35 rows in set (0.00 sec)

第五步:修改配置文件

  1. [hadoop@hadoop01 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/conf/

1、alert.properties

  • 此处已126邮箱为例
  • 登录自己的126邮箱

  • 开始配置文件
  1. [hadoop@hadoop01 conf]$ vim alert.properties
  2. #alert type is EMAIL/SMS
  3. alert.type=EMAIL
  4. # mail server configuration
  5. mail.protocol=SMTP
  6. mail.server.host=smtp.126.com
  7. mail.server.port=25
  8. mail.sender=youhy964@126.com
  9. mail.user=youhy964@126.com
  10. mail.passwd=WBNPUGCNZMQQYBUT
  11. # TLS
  12. mail.smtp.starttls.enable=true
  13. # SSL
  14. mail.smtp.ssl.enable=false
  15. mail.smtp.ssl.trust=smtp.126.com

2、application-api.properties

  • 修改web ui端口号
  1. [hadoop@hadoop01 conf]$ vim application-api.properties
  2. # server port
  3. server.port=8888

image-20210413153616572

3、common.properties

  1. # 修改如下3个属性的值
  2. [hadoop@hadoop01 conf]$ vim common.properties
  3. resource.storage.type=HDFS
  4. fs.defaultFS=hdfs://hadoop01:8020
  5. yarn.application.status.address=http://hadoop01:8088/ws/v1/cluster/apps/%s

4、datasource.properties

假设mysql安装在hadoop03节点

  1. # 修改如下几个属性的值
  2. [hadoop@hadoop01 conf]$ vim datasource.properties
  3. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  4. spring.datasource.url=jdbc:mysql://hadoop03:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
  5. spring.datasource.username=root
  6. spring.datasource.password=123456

5、master.properties

  1. [hadoop@hadoop01 conf]$ vim master.properties
  2. master.listen.port=8787

6、worker.properties

  1. [hadoop@hadoop01 conf]$ vim worker.properties
  2. worker.listen.port=7878
  3. worker.groups=hadoop

7、zookeeper.properties

  1. [hadoop@hadoop01 conf]$ vim zookeeper.properties
  2. zookeeper.quorum=hadoop01:2181,hadoop02:2181,hadoop03:2181

8、env/dolphinscheduler_env.sh

  1. # 修改如下属性,根据自己的实际情况,配置属性值 |
  2. [hadoop@hadoop01 conf]$ vim env/dolphinscheduler_env.sh
  3. export HADOOP_HOME=/bigdata/install/hadoop-3.1.4
  4. export HADOOP_CONF_DIR=/bigdata/install/hadoop-3.1.4/etc/hadoop
  5. export SPARK_HOME1=/bigdata/install/spark-2.3.3-bin-hadoop2.7
  6. export JAVA_HOME=/bigdata/install/jdk1.8.0_141
  7. export HIVE_HOME=/bigdata/install/hive-3.1.2

第六步:将hdfs-site.xml、core-site.xml 拷贝至ds的 conf 目录下,同时 把mysql-connector-java-5.1.48-bin.jar驱动包上传到ds的lib目录下

  1. [hadoop@hadoop01 conf]$ cp /bigdata/install/hadoop-3.1.4/etc/hadoop/hdfs-site.xml /bigdata/install/dolphinscheduler-1.3.5/conf
  2. [hadoop@hadoop01 conf]$ cp /bigdata/install/hadoop-3.1.4/etc/hadoop/core-site.xml /bigdata/install/dolphinscheduler-1.3.5/conf
  1. # 将mysql-connector-java-5.1.38.jar上传到hadoop01的/bigdata/soft目录
  2. [hadoop@hadoop01 soft]$ cd /bigdata/soft/
  3. [hadoop@hadoop01 soft]$ cp mysql-connector-java-5.1.38.jar /bigdata/install/dolphinscheduler-1.3.5/lib/

第七步:到ds的bin目录下(1.3.5版本,可以跳过此步)

  1. dos2unix dolphinscheduler-daemon.sh #dos2unix:将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)
  2. chmod +x dolphinscheduler-daemon.sh

第八步:scp到hadoop02、hadoop03

  1. [hadoop@hadoop01 bin]$ cd /bigdata/install/
  2. [hadoop@hadoop01 install]$ scp -r dolphinscheduler-1.3.5/ hadoop02:$PWD
  3. [hadoop@hadoop01 install]$ scp -r dolphinscheduler-1.3.5/ hadoop03:$PWD

生产环境上建议,worker.properties里设置的cpu和内存调一下就可以保护worker不至于挂掉,一般别超过cpu核数的2倍,内存留上1~2G(当然如果比较豪,可以预留更多资源),线程数别超过cp倍。

  1. 例如:8c16G机器 worker.exec.threads=20 worker.max.cpuload.avg=16 worker.reserved.memory=1
  2. 同理对于master调优配置 8c16G机器 master.properties文件 master.max.cpuload.avg=16 master.reserved.memory=1

在hadoop01 启动 master、api、logger

  1. [hadoop@hadoop01 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  2. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh start master-server
  3. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh start api-server
  4. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh start logger-server

在hadoop02 启动 master、alert、worker、logger

  1. [hadoop@hadoop02 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  2. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh start master-server
  3. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh start alert-server
  4. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh start worker-server
  5. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh start logger-server

在hadoop03 启动 worker、logger

  1. [hadoop@hadoop03 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  2. [hadoop@hadoop03 bin]$ ./dolphinscheduler-daemon.sh start worker-server
  3. [hadoop@hadoop03 bin]$ ./dolphinscheduler-daemon.sh start logger-server

目前3节点已经启动了hadoop集群、zookeeper集群、及ds相关进程;
启动成功之后,会出现如下进程

  1. [hadoop@hadoop01 bin]$ xcall jps
  2. ============= hadoop01 jps =============
  3. 3680 ApiApplicationServer
  4. 2465 DataNode
  5. 3761 LoggerServer
  6. 3410 JobHistoryServer
  7. 2036 QuorumPeerMain
  8. 2294 NameNode
  9. 3607 MasterServer
  10. 2666 SecondaryNameNode
  11. 2892 ResourceManager
  12. 3037 NodeManager
  13. 4351 Jps
  14. ============= hadoop02 jps =============
  15. 2320 NodeManager
  16. 2880 LoggerServer
  17. 2179 DataNode
  18. 3446 Jps
  19. 3287 AlertServer
  20. 2616 MasterServer
  21. 2798 WorkerServer
  22. 2031 QuorumPeerMain
  23. ============= hadoop03 jps =============
  24. 2160 DataNode
  25. 2289 NodeManager
  26. 3009 LoggerServer
  27. 1996 QuorumPeerMain
  28. 2927 WorkerServer
  29. 3103 Jps
  • 如何关闭ds集群?
  • 关闭个节点的各角色,就是将上边启动命令中的start换成stop即可
  1. [hadoop@hadoop01 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  2. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh stop master-server
  3. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh stop api-server
  4. [hadoop@hadoop01 bin]$ ./dolphinscheduler-daemon.sh stop logger-server
  5. [hadoop@hadoop02 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  6. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh stop master-server
  7. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh stop alert-server
  8. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh stop worker-server
  9. [hadoop@hadoop02 bin]$ ./dolphinscheduler-daemon.sh stop logger-server
  10. [hadoop@hadoop03 ~]$ cd /bigdata/install/dolphinscheduler-1.3.5/bin/
  11. [hadoop@hadoop03 bin]$ ./dolphinscheduler-daemon.sh stop worker-server
  12. [hadoop@hadoop03 bin]$ ./dolphinscheduler-daemon.sh stop logger-server

版权声明:本文为tenic原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tenic/p/14897570.html