CDH6.3.2整合DolphinScheduler3.0.0

注意事项

zookeeper版本兼容要查看dolphinscheduler的libs目录下zookeeper的jar包

CDH6.3.2

DolphinScheduler3.0.0

使用CDH或其他大数据平台,注意保持用户组一致,CHD使用的是supergroup用户组

前置条件

  • 默认CDH以正确安装并启动

  • 至少官方要求的基础环境以正确安装并配置,点击跳转

  • 使用mysql需要驱动包 mysql-connector-java-8.0.16+.jar,同时所有服务的libs里面都需要

  • zookeeper使用CDH中就可以,官网要求3.4.6+,但是CDH的3.4.5也可以使用

开始部署

配置用户免密及权限(官网没有创建用户组)

groupadd supergroup
# 创建用户并指定用户组,并修改登录方式
useradd dolphinscheduler -g supergroup -m -s /bin/bash

# 添加密码
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操作)

su dolphinscheduler
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id localhost
#输入yes并输入密码,如果以下命令不需要输入密码,则配置成功
ssh localhost

下载二进制包 ,点击下载

tar -xvzf apache-dolphinscheduler-3.0.0-bin.tar.gz
# 修改目录权限,使得部署用户对二进制包解压后的 apache-dolphinscheduler-*-bin 目录有操作权限
chown -R dolphinscheduler:supergroup apache-dolphinscheduler-*-bin
cd apache-dolphinscheduler-3.0.0-bin/

将mysql-connector-java-8.0.20.jar复制或上传到当前目录

CDH6.3.2整合DolphinScheduler3.0.0_第1张图片

创建脚本cp_mysql.sh,粘贴一下内容

#!/bin/bash
cp -rf mysql-connector-java-8.0.20.jar api-server/libs/
cp -rf mysql-connector-java-8.0.20.jar alert-server/libs/
cp -rf mysql-connector-java-8.0.20.jar master-server/libs/
cp -rf mysql-connector-java-8.0.20.jar worker-server/libs/
cp -rf mysql-connector-java-8.0.20.jar tools/libs/

保存退出并授权执行

chmod +x cp_mysql.sh
./cp_mysql.sh

修改配置文件install_env.sh dolphinscheduler_env.sh

官网缺少的数据库初始化

按照官网教程部署配置mysql,创建数据库,用户等

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler@123!';
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler@123!';
flush privileges;
 bash tools/bin/upgrade-schema.sh

[注意]hdfs相关配置

如果需要使用hdfs等依赖组件配置,需要修改master-server,worker-server,api-server的conf/common.properties,这个文件默认是一样的,可以修改一份后直接复制

修改后,执行安装脚本

bash bin/install.sh

问题总结

如果启动失败,请检查zookeeper版本是否兼容,bin/env下面的两个配置文件是否配置正确

日志文件查看在配置的installPath路径的下的master-server/logs/dolphinscheduler-master.log

报错1:zookeeper connect timeout: localhost:2181

修改master-server/conf/application.yaml中的block-until-connected为6000ms

报错2:Failed to put registry key: /nodes/master报错

基本都是版本问题,可以查看libs下面的zookeeper版本

报错3: 本地执行spark报错NoSuchMethodError

org.apache.spark.sql.AnalysisException: java.lang.NoSuchMethodError: org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(Lorg/apache/hadoop/hive/conf/HiveConf;Lorg/apache/hadoop/hive/metastore/HiveMetaHookLoader;Ljava/util/Map;Ljava/lang/String;)Lorg/apache/hadoop/hive/metastore/IMetaStoreClient;;

需要将本地项目依赖的所有jar上传,检查依赖中是否缺少或版本不一致或存在多个版本

完成成功使用

访问http://localhost:12345/dolphinscheduler

账号admin

密码dolphinscheduler123

使用教程

Bug及问题

  1. 资源中心创建文件夹失败,报错未启用配置

修改Hdfs配置api-server/conf/common.properties文件来设置存储为hdfs,并复制core-site.xml,hdfs-site.xml复制到当前目录

  1. DolphinScheduler上传大文件失败,api日志报错No suitable resolver

前端请求超时取消问题解决方法

  1. 在非master节点部署DolphinScheduler会出现用户权限问题,尽可能在master节点或cm服务端所在节点部署,DolphinScheduler创建的租户无读写权限,即使加入supergroup组也无权限,保持用户同步,比如DolphinScheduler部署服务器上新增test用户,master节点也要新增test用户,然后命令刷新映射

#新增用户指定supergroup组(cm主节点和DolphinScheduler部署机器)
useradd test -g supergroup -s /bin/bash
#刷新用户及组映射
su -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings" hdfs

总结

遇到配置问题或bug,按照开发思路,去排查,基本都能解决或者取issue搜索,DolphinScheduler的配置文件里面有详细的说明,3.x后的官方教程写的比较粗

你可能感兴趣的:(BigData,大数据平台调度)