最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

这篇具有很好参考价值的文章主要介绍了最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 背景

本文基于Ambari集群搭建最新版本的海豚调度dolphinscheduler-3.1.3版本,后续会尝试整合到Ambari中。

1 安装准备

安装dolphinscheduler需要在环境中安装如下依赖
① JDK8
下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH 环境变量中
② 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
③ 注册中心:ZooKeeper (3.4.6+)

2 安装集群

节点 ip 服务角色
Ambari-1 192.168.x.31 ds-master ds-api ds-alert
Ambari-2 192.168.x.32 ds-master
Ambari-3 192.168.x.33 ds-worker
Ambari-4 192.168.x.34 ds-worker
Ambari-5 192.168.x.35 ds-worker

2.1 配置dolphinscheduler用户

新建dolphinscheduler用户,并且一定要配置 sudo 免密.

# 创建用户需使用 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

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

配置免密

su dolphinscheduler
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

集群之间完成免密

ssh-copy-id -i ~/.ssh/id_rsa.pub dolphinscheduler@主机

2.2 配置mysql

DolphinScheduler 元数据存储在关系型数据库中,故需创建相应的数据库和用户。注:这里根据Mysql安装版本的不同选择不同的执行方式。

mysql5.6/5.7

mysql -uroot -p
mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
# 修改 {user} 和 {password} 为你希望的用户名和密码
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;

mysql8:
创建数据库并指定编码格式

mysql> CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

开启权限

# 修改 {user} 和 {password} 为你希望的用户名和密码
mysql> CREATE USER '{user}'@'%' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'%';
mysql> CREATE USER '{user}'@'localhost' IDENTIFIED BY '{password}';
mysql> GRANT ALL PRIVILEGES ON dolphinscheduler.* TO '{user}'@'localhost';
mysql> FLUSH PRIVILEGES;

执行过程中可能出现如下报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
执行如下命令查看mysql密码要求规则

show variables like 'validate_password%';

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
修改校验登记为LOW,重新设置即可

set global validate_password.policy=LOW;

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

2.3 启动zk

2.4 修改ds配置文件

2.4.1 mysql的JDBC驱动放入ds的lib目录下

包括 api-server/libs 和 alert-server/libs 和 master-server/libs 和 worker-server/libs

cp ../mysql-connector-java-8.0.16.jar ./lib
cp ../mysql-connector-java-8.0.16.jar ./api-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./alert-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./master-server/libs/
cp ../mysql-connector-java-8.0.16.jar ./worker-server/libs/

2.4. 2 修改bin/env目录下的install_env.sh配置文件

我们仅需修改INSTALL MACHINE,DolphinScheduler ENV、Database、Registry Server
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

2.4.3 修改dolphinscheduler_env.sh 文件

bin/env/dolphinscheduler_env.sh 中配置JAVA_HOME、数据库、注册中心等相关配置
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

2.6 初始化数据库

bash tools/bin/upgrade-schema.sh

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

2.7 启动ds

sh install.sh

报错如下:

9:32:47.555 [main] INFO org.apache.zookeeper.common.X509Util - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation
09:32:47.561 [main] INFO org.apache.zookeeper.ClientCnxnSocket - jute.maxbuffer value is 1048575 Bytes
09:32:47.578 [main] INFO org.apache.zookeeper.ClientCnxn - zookeeper.request.timeout value is 0. feature enabled=false
ZooKeeper -server host:port -client-configuration properties-file cmd args
addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE
addauth scheme auth
close
config [-c] [-w] [-s]
connect host:port
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
delete [-v version] path
deleteall path [-b batch size]
delquota [-n|-b|-N|-B] path
get [-s] [-w] path
getAcl [-s] path
getAllChildrenNumber path
getEphemerals path
history
listquota path
ls [-s] [-w] [-R] path
printwatches on|off
quit
reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,…]]] | [-add serverId=host:port1:port2;port3[,…]] [-remove serverId[,…]*]
redo cmdno
removewatches path [-c|-d|-a] [-l]
set [-s] [-v version] path data
setAcl [-s] [-v version] [-R] path acl
setquota -n|-b|-N|-B val path
stat [-w] path
sync path
version
whoami
Command not found: Command not found rmr
09:32:47.584 [main] ERROR org.apache.zookeeper.util.ServiceUtils - Exiting JVM with code 127

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
查看具体生成日志发现如下报错:

Caused by: org.apache.dolphinscheduler.registry.api.RegistryException: Failed to put registry key: /nodes/master
239 at org.apache.dolphinscheduler.plugin.registry.zookeeper.ZookeeperRegistry.put(ZookeeperRegistry.java:186)
240 at org.apache.dolphinscheduler.service.registry.RegistryClient.initNodes(RegistryClient.java:247)
241 at org.apache.dolphinscheduler.service.registry.RegistryClient.afterConstruct(RegistryClient.java:77)
242 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
243 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
244 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
245 at java.lang.reflect.Method.invoke(Method.java:498)
246 at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor L i f e c y c l e E l e m e n t . i n v o k e ( I n i t D e s t r o y A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 389 ) 247 a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . I n i t D e s t r o y A n n o t a t i o n B e a n P o s t P r o c e s s o r LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389) 247 at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:389)247atorg.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessorLifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:333)
248 at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:157)
249 … 46 common frames omitted
250 Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for /dolphinscheduler/nodes/master
251 at org.apache.zookeeper.KeeperException.create(KeeperException.java:106)
252 at org.apache.zookeeper.KeeperException.create(KeeperException.java:54)
253 at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1450)
254 at org.apache.curator.framework.imps.CreateBuilderImpl$18.call(CreateBuilderImpl.java:1216)
255 at org.apache.curator.framework.imps.CreateBuilderImpl$18.call(CreateBuilderImpl.java:1193)
256 at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:93)
257 at org.apache.curator.framework.imps.CreateBuilderImpl.pathInForeground(CreateBuilderImpl.java:1190)
258 at org.apache.curator.framework.imps.CreateBuilderImpl.protectedPathInForeground(CreateBuilderImpl.java:605)
259 at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:595)
260 at org.apache.curator.framework.imps.CreateBuilderImpl.forPath(CreateBuilderImpl.java:48)
261 at org.apache.dolphinscheduler.plugin.registry.zookeeper.ZookeeperRegistry.put(ZookeeperRegistry.java:184)

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
这里最新版本的ds与zk版本不兼容,最新版本的ds需要最新版本的zk,即3.8版本,当前环境安装的是3.4.6。通过查看ds依赖的zk的jarb包也能验证这一点
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

解决思路:下载3.8版本的zk并安装
下载地址:
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
安装方法可以看这篇文章《zookeeper快速入门》
安装完成并启动zk,然后再重新启动ds成功。
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
访问master节点url连接:

http://<your_ip>:12345/dolphinscheduler/ui/login

默认账户密码:admin/dolphinscheduler123

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程

3 [附加]ds源码修改与打包

当前ds-3.1.3版本数据源还不支持trino,可以修改源码,增加对trino数据源的支持,修改完成后使用如下命令重新编译并完成打包。

./mvnw clean install -Prelease -DskipTests=true

这里的-DskipTests=true指跳过测试,如果不加该参数,整个耗时会特别长。编译完成后可看到如下成功页面。
最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程
然后进入你的maven仓库即可发现已经打包的ds-3.1.3安装包

cd /root/.m2/repository/org/apache/dolphinscheduler/dolphinscheduler-dist/3.1.3
ll -h

最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程文章来源地址https://www.toymoban.com/news/detail-414393.html

到了这里,关于最新版海豚调度dolphinscheduler-3.1.3安装部署详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在本地(个人电脑上)安装Tomcat服务器并部署web项目?【2023最新版】

    服务器软件:apache-tomcat-8.5.27 操作系统:Windows 10 64位 家庭版 构成: 硬件 : 电脑 ,提供服务供其它客户电脑访问 软件 : 电脑上安装的服务器软件 ,安装后能提供服务给网络中的其他计算机, 将本地文件映射成一个虚拟的url地址供网络中的其他人访问。 作用: Web服务器

    2024年02月10日
    浏览(33)
  • 2023.7月最新版idea安装Jrebel实现热部署,可解决后端启动等待时间过长问题

    激活方式多种多样,我采取的是方式一在线获取, 第二种方式是下载破解版的jrebel包,然后解压,将.lic结尾路径添加进去 第三种方式应该是获取激活码了 1、安装JRebel插件后,注册地址填写网址 + 生成的GUID,邮箱随便填写,然后即可。 http://jrebel-license.jiweichengzhu.com/{GUID}

    2024年02月15日
    浏览(36)
  • 海豚²来了丨DolphinDB 集成 DolphinScheduler,任务调度更轻松

    DolphinDB 是一款高性能时序数据库。DolphinDB 集成了功能强大的编程语言和高容量高速度的批流一体数据分析系统,为海量数据(特别是时间序列数据)的快速存储、检索、计算及分析提供一站式解决方案。在实际生产环境中,经常存在 数据导入、转换、查询计算,更新等一系

    2024年02月03日
    浏览(26)
  • 全网最新版ChatGLM-6B开源模型环境详细部署及安装——如何在低显存单显卡上面安装私有ChatGPT GPT-4大语言模型

    ChatGPT的爆火让许多公司和个人都想要开发自己的大型语言模型,但是,由于算力和语言模型开发能力等诸多方面的限制,许多人最终都只能在开发的早期阶段止步不前。然而,近期清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) Data Mining at Tsinghua University)发布

    2024年02月05日
    浏览(29)
  • 海豚调度 DolphinScheduler(2.x和3.x版本) 本地环境搭建,方便本地调式代码

    💡 本系列文章是 DolphinScheduler 由浅入深的教程,涵盖搭建、二开迭代、核心原理解读、运维和管理等一系列内容。适用于想对 DolphinScheduler了解或想要加深理解的读者。 祝开卷有益。 大数据学习指南 DolphinScheduler 的开源版本有不少的 BUG,所以在公司生产使用的话,需要做二

    2024年02月11日
    浏览(24)
  • 【云原生】Docker部署/容器加速器(最新版)

    目录 初时Docker和部署 1.什么是Docker 2.容器和虚拟化的区别 3.部署Docker 1.卸载历史版本 2.设置存储库 3.安装Docker最新引擎 4.安装Docker特定安装引擎 1.先查看当前docker-ce都有那些版本 2.替换为所需版本,然后运行以下命令 要安装的命令: 5.启动Docker 6.测试 4.创建docker个人容器加

    2024年02月09日
    浏览(25)
  • 全网最详细CentOS 7下部署最新版nextcloud教程

    0.前言 什么是Nextcloud Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页

    2024年02月04日
    浏览(27)
  • 快速安装最新版Docker

    安装docker 列出系统中以安装的docker包: 卸载以安装的docker包 如果系统中没有docker,则直接进行下一步 安装docker所需依赖:  添加docker的yum源: yum安装docker: 验证docker版本以确认安装成功: 如图所示,docker安装成功 启动docker 执行以下命令启动docker: 然后将docker设置为开机

    2024年02月12日
    浏览(24)
  • composer最新版本安装

    安装前请务必确保已经正确安装了 PHP。打开命令行窗口并执行  php -v  查看是否正确输出版本号。 打开命令行并依次执行下列命令安装最新版本的 Composer: 复制 复制 复制 执行第一条命令下载下来的  composer-setup.php  脚本将简单地检测  php.ini  中的参数设置,如果某些参

    2024年02月13日
    浏览(22)
  • Linux安装ES最新版

    链接:https://pan.baidu.com/s/16SOoN7ZveFu1ly9B2wudoA?pwd=8fm7  知识准备 https://blog.csdn.net/tongxin_tongmeng/article/details/126342599  下载、解压ES8 ES8上传Linux ES8运行环境(☆☆☆☆☆) ES8环境变量 创建新用户 ES服务启动、查看、关闭 ES服务访问  ES8关闭密码认证

    2023年04月09日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包