dolphinscheduler安装与配置:使用脚本一键安装配置dolphinscheduler单机版(配置MySQL版本)

使用shell脚本一键安装配置dolphinscheduler

前言:使用此脚本可以帮助您自动下载安装配置dolphinscheduler单机版,包括设置MySQL保存元数据。自动下载、解压dolphinscheduler安装包,自动修改dolphinscheduler的配置,配置MySQL连接,初始化数据库。
使用准备:需要已经安装wget和MySQL5.7,把脚本中的以下配置修改为自己的即可使用:

#dolphinscheduler安装目录
installDir="/opt/module"
#dolphinscheduler安装版本
version="3.1.5"
#MySQL驱动jar包版本,必须8.0.16及其以上
mysql_connector_version="8.0.16"
#MySQL主机ip地址
mysql_ip="192.168.198.101"
#MySQL用户名
mysql_user="root"
#MySQL密码
mysql_password="root"

1. 把下面的脚本复制保存为/tmp/install_dolphinscheduler.sh文件

#!/bin/bash# dolphinscheduler安装目录
installDir="/opt/module"
# dolphinscheduler安装版本
version="3.1.5"
# MySQL驱动jar包版本,必须8.0.16及其以上
mysql_connector_version="8.0.16"
# MySQL主机ip地址
mysql_ip="192.168.198.101"
# MySQL用户名
mysql_user="root"
# MySQL密码
mysql_password="root"
# 要创建的数据库名
db_name="dolphinscheduler"# 数据库设置操作
# 检查数据库是否存在
check_database=$(mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "SHOW DATABASES LIKE '$db_name';" | grep $db_name)
sleep 1
if [ $? -eq 0 ]; thenecho "检查数据库成功"if [ -n "$check_database" ]; then# 数据库存在,删除数据库mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "DROP DATABASE $db_name;"echo "数据库已删除"fi
elseecho "检查数据库失败,请检查数据库信息是否正确,即将退出"exit 1
fi# 创建数据库
mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "CREATE DATABASE $db_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"
if [ $? -eq 0 ]; thenecho "数据库已创建"
elseecho "数据库创建失败,请再次尝试执行此脚本,即将退出"exit 1
fi
mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$mysql_user'@'%' IDENTIFIED BY '$mysql_password';"
# mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$mysql_user'@'localhost' IDENTIFIED BY '$mysql_password';"
mysql -h $mysql_ip -u$mysql_user -p$mysql_password -e "flush privileges;"
if [ $? -eq 0 ]; thenecho "数据库已创建"
elseecho "数据库创建失败,请再次尝试执行此脚本,即将退出"exit 1
fi# dolphinscheduler安装操作
if test -f /tmp/apache-dolphinscheduler-"$version"-bin.tar.gz; thenecho "/tmp/apache-dolphinscheduler-$version-bin.tar.gz已存在,即将进行解压"
elsewget https://archive.apache.org/dist/dolphinscheduler/$version/apache-dolphinscheduler-$version-bin.tar.gz -P /tmpif [ $? -eq 0 ]; thenecho "dolphinscheduler下载成功"elseecho "dolphinscheduler下载失败,请手动下载到/tmp目录下再次执行次脚本"echo "下载地址:https://archive.apache.org/dist/dolphinscheduler/3.1.5/apache-dolphinscheduler-3.1.5-bin.tar.gz"exit 1fi
fiif test -d "${installDir}"/apache-dolphinscheduler-"$version"-bin; thenecho "正在删除原来的dolphinscheduler..."sudo rm -rf "${installDir}"/apache-dolphinscheduler-"$version"-bin
fi
tar -zxvf /tmp/apache-dolphinscheduler-"$version"-bin.tar.gz -C "$installDir"
if [ $? -eq 0 ]; thenecho "解压成功"
elseecho "解压失败,请再次尝试执行此脚本,即将退出"exit 1
fiif test -f /tmp/mysql-connector-java-"$mysql_connector_version".jar; thenecho "/tmp/mysql-connector-java-$mysql_connector_version.jar已存在"
elsewget https://repo1.maven.org/maven2/mysql/mysql-connector-java/"$mysql_connector_version"/mysql-connector-java-"$mysql_connector_version".jar -P /tmpif [ $? -eq 0 ]; thenecho "mysql驱动下载成功"elseecho "mysql驱动下载失败,请手动下载到/tmp目录下再次执行次脚本"echo "下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/$mysql_connector_version/mysql-connector-java-$mysql_connector_version.jar"exit 1fi
fi
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/worker-server/libs
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/api-server/libs
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/alert-server/libs
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/master-server/libs
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/tools/libs
cp /tmp/mysql-connector-java-"$mysql_connector_version".jar "$installDir"/apache-dolphinscheduler-"$version"-bin/standalone-server/libs/standalone-server
if [ $? -eq 0 ]; thenecho "mysql驱动复制成功"
elseecho "mysql驱动复制失败,即将退出"exit 1
fidolphinschedulerenv='\
# Database related configuration, set database type, username and password\
export DATABASE=${DATABASE:-mysql}\
export SPRING_PROFILES_ACTIVE=${DATABASE}\
export SPRING_DATASOURCE_URL="jdbc:mysql://'"$mysql_ip"':3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"\
export SPRING_DATASOURCE_USERNAMEE='"$mysql_user"'\
export SPRING_DATASOURCE_PASSWORD='"\"$mysql_password\""'\
\
# DolphinScheduler server related configuration'applicationyaml='\driver-class-name: com.mysql.cj.jdbc.Driver\url: jdbc:mysql://'"$mysql_ip"':3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8\username: '"$mysql_user"'\password: '"\"$mysql_password\""''applicationyaml_tools='\driver-class-name: com.mysql.cj.jdbc.Driver\url: jdbc:mysql://'"$mysql_ip"':3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8'applicationyaml2='\schema-locations: classpath:sql/dolphinscheduler_mysql.sql\datasource:\driver-class-name: com.mysql.cj.jdbc.Driver\url: jdbc:mysql://'"$mysql_ip"':3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8\username: '"$mysql_user"'\password: '"\"$mysql_password\""''sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir/apache-dolphinscheduler-$version-bin/bin/env/dolphinscheduler_env.sh"
if [ $? -eq 0 ]; thenecho "dolphinscheduler_env.sh修改成功"
elseecho "dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/standalone-server/conf/dolphinscheduler_env.sh
if [ $? -eq 0 ]; thenecho "standalone-server/conf/dolphinscheduler_env.sh修改成功"
elseecho "standalone-server/conf/dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/alert-server/conf/dolphinscheduler_env.sh
if [ $? -eq 0 ]; thenecho "alert-server/conf/dolphinscheduler_env.sh修改成功"
elseecho "alert-server/conf/dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/worker-server/conf/dolphinscheduler_env.sh
if [ $? -eq 0 ]; thenecho "worker-server/conf/dolphinscheduler_env.sh修改成功"
elseecho "worker-server/conf/dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/api-server/conf/dolphinscheduler_env.sh
if [ $? -eq 0 ]; thenecho "api-server/conf/dolphinscheduler_env.sh修改成功"
elseecho "api-server/conf/dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/# Database related configuration/,/# DolphinScheduler server related configuration/c '"$dolphinschedulerenv"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/master-server/conf/dolphinscheduler_env.sh
if [ $? -eq 0 ]; thenecho "master-server/conf/dolphinscheduler_env.sh修改成功"
elseecho "master-server/conf/dolphinscheduler_env.sh修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/    password: root/c '"$applicationyaml"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/standalone-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "conf/application.yaml修改成功"
elseecho "conf/application.yaml修改失败,即将退出"exit 1
fised -i '/      schema-locations: classpath:sql\/dolphinscheduler_h2.sql/,/    password: ""/c '"$applicationyaml2"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/standalone-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "conf/application.yaml修改成功"
elseecho "conf/application.yaml修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/    password: root/c '"$applicationyaml"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/worker-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "worker-server/conf/application.yaml修改成功"
elseecho "worker-server/conf/application.yaml修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/    password: root/c '"$applicationyaml"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/api-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "api-server/conf/application.yaml修改成功"
elseecho "api-server/conf/application.yaml修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/    password: root/c '"$applicationyaml"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/alert-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "alert-server/conf/application.yaml修改成功"
elseecho "alert-server/conf/application.yaml修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/    password: root/c '"$applicationyaml"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/master-server/conf/application.yaml
if [ $? -eq 0 ]; thenecho "master-server/conf/application.yaml修改成功"
elseecho "master-server/conf/application.yaml修改失败,即将退出"exit 1
fi
sed -i '/    driver-class-name: com.mysql/,/characterEncoding=UTF-8/c '"$applicationyaml_tools"'' "$installDir"/apache-dolphinscheduler-"$version"-bin/tools/conf/application.yaml
if [ $? -eq 0 ]; thenecho "tools/conf/application.yaml修改成功"
elseecho "tools/conf/application.yaml修改失败,即将退出"exit 1
fibash "$installDir"/apache-dolphinscheduler-"$version"-bin/tools/bin/upgrade-schema.sh
if [ $? -eq 0 ]; thenecho "初始化数据库成功"
elseecho "初始化数据库失败,即将退出"exit 1
fi# 设置dolphinscheduler用户环境变量
if test -n "$(grep '#DOLPHINSCHEDULER_HOME' ~/.bashrc)"; thenecho "DOLPHINSCHEDULER_HOME已存在"
elseecho >> ~/.bashrcecho '#DOLPHINSCHEDULER_HOME' >> ~/.bashrcecho "export DOLPHINSCHEDULER_HOME=$installDir/apache-dolphinscheduler-$version-bin" >> ~/.bashrcecho 'export PATH=$PATH:$DOLPHINSCHEDULER_HOME/bin' >> ~/.bashrc
fi#rm -f /tmp/mysql-connector-java-"$mysql_connector_version".jar
#rm -rf /tmp/apache-dolphinscheduler-"$version"-bin.tar.gz
echo "dolphinscheduler安装完成"
"$installDir"/apache-dolphinscheduler-"$version"-bin/bin/dolphinscheduler-daemon.sh start standalone-server
if [ $? -eq 0 ]; thenecho "dolphinscheduler单机版启动成功"ip_addr=$(ip addr | grep 'inet ' | awk '{print $2}'| tail -n 1 | grep -oP '\d+\.\d+\.\d+\.\d+')echo "浏览器访问地址:http://$ip_addr:12345/dolphinscheduler/ui/login"echo "登录账号:admin"echo "登录密码:dolphinscheduler123"
elseecho "dolphinscheduler单机版启动失败,请查看日志"exit 1
fiexit 0

2. 增加执行权限

chmod a+x /tmp/dolphinscheduler.sh

3. 执行/tmp/dolphinscheduler.sh

/tmp/dolphinscheduler.sh

执行之后等待下载、安装、配置完成,如下图:
在这里插入图片描述
浏览器访问dolphinscheduler:http://192.168.198.101:12345/dolphinscheduler
如下图:
在这里插入图片描述
登录进入如图:
在这里插入图片描述

4. 加载环境变量

source ~/.bashrc

5.启动/停止dolphinscheduler

因为再脚本中已经启动,所以不需要再启动
停止dolphinscheduler

dolphinscheduler-daemon.sh stop standalone-server

在这里插入图片描述

启动dolphinscheduler

dolphinscheduler-daemon.sh start standalone-server

本期文章到此结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/189470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【linux】日志有哪些

Linux系统日志主要有以下几种类型: 内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中设置决定内核消息及各种系统程序消息记录到什么位置。/var/log/message:该日志文件存放了内核消息…

CentOS 部署 WBO 在线协作白板

1)WBO 白板工具介绍 1.1)WBO 白板简介 WBO 是一个自由和开源的在线协作白板。它允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和…

服务器和Linux ,安装R rstudio ,常用软件

服务器的基本概念: 如服务器的基本结构,节点,端口的概念等。 服务器的基本设置和管理: 如何配置新服务器, 如何管理服务器,如何分配账户并确保他们互不访问, 如何全局安装软件让所有人都可以…

TZOJ 1386 十转换转R进制

答案&#xff1a; #include<stdio.h> char fun(int n) {if (n > 0 && n < 10) //如果是小于10进制的return n 48; //ASCII值48else if (n > 10 && n < 16) //如果是大于10进制小于16进制的return n 55; //ASCII值55elseretur…

PD QC快充协议诱骗取电sink受电芯片大全_测试报告

随着Type-C接口的充电器普及&#xff0c;市面上的PD充电器越来越多&#xff0c;小家电产品可不配充电器&#xff0c;使用Type-C接口&#xff0c;然后加入一颗PD协议取电协议芯片XSP08即可让充电器/充电宝/车充等电源输出9V/12V/15V/20V电压给产品供电。 快充取电芯片应用场景&a…

从0开始学习JavaScript--JavaScript ES6 模块系统

JavaScript ES6&#xff08;ECMAScript 2015&#xff09;引入了官方支持的模块系统&#xff0c;使得前端开发更加现代化和模块化。本文将深入探讨 ES6 模块系统的各个方面&#xff0c;通过丰富的示例代码详细展示其核心概念和实际应用。 ES6 模块的基本概念 1 模块的导出 ES…

【算法刷题】Day10

文章目录 15. 三数之和题干&#xff1a;算法原理&#xff1a;1、排序 暴力枚举 利用set 去重2、排序 双指针 代码&#xff1a; 18. 18. 四数之和题干&#xff1a;算法原理&#xff1a;1、排序 暴力枚举 利用set 去重2、排序 双指针 代码&#xff1a; 15. 三数之和 原题链…

springboot数据格式验证——自定义日期格式验证及list验证

我们在工作中经常需要对日期格式进行定义&#xff0c;如果客户端传来的日期字符串不符合要求&#xff0c;那么根本无法保存&#xff0c;但是已有的注解并没有日期格式的验证&#xff0c;那我们就自己实现一个 一、自定义日期格式验证的注解DateFormat import javax.validatio…

2023年阅读类APP如何发展?怎么做好商业化? | TopOn观察

前言 阅读类APP作为泛娱乐应用的重要板块&#xff0c;近年来在全球都发展火热。本文将主要从阅读类应用的市场规模、头部产品及地区特点、商业化模式及提升商业变现几个方面入手&#xff0c;解析2023年阅读类APP的发展趋势&#xff0c;希望为阅读类应用开发者带来参考价值。 一…

28.线段树与树状数组基础

一、线段树 1.区间问题 线段树是一种在算法竞赛中常用来维护区间的数据结构。它思想非常简单&#xff0c;就是借助二叉树的结构进行分治&#xff0c;但它的功能却非常强大&#xff0c;因此在很多类型的题目中都有它的变种&#xff0c;很多题目都需要以线段树为基础进行发展。…

【Skynet 入门实战练习】分布式 ID | 雪花算法 | 缓存设计 | LRU算法 | 数据库

文章目录 前言雪花算法LRU 算法缓存模块数据库测试逻辑 前言 本节实现了 分布式 ID 生成系统&#xff0c;采用雪花算法实现唯一 ID&#xff1b;实现缓存架构&#xff0c;采用 LRU &#xff08;最近最少使用&#xff09;算法。 雪花算法 分布式 ID 生成算法的有很多种&#x…

Redis——某马点评day01——短信登录

项目介绍 导入黑马点评项目 项目架构 基于Session实现登录 基本流程 实现发送短信验证码功能 controller层中 /*** 发送手机验证码*/PostMapping("code")public Result sendCode(RequestParam("phone") String phone, HttpSession session) {// 发送短信…

B站缓存视频M4S合并MP4(js + ffmpeg )

文章目录 B站缓存视频转MP4&#xff08;js ffmpeg &#xff09;1、说明 2、ffmpeg2.1 下载地址2.2 配置环境变量2.3 测试2.4 转换MP4命令 3、处理程序 B站缓存视频转MP4&#xff08;js ffmpeg &#xff09; 注意&#xff1a;这样的方式只用于个人之间不同设备的离线观看。请…

spring boot mybatis TypeHandler 看源码如何初始化及调用

目录 概述使用TypeHandler使用方式在 select | update | insert 中加入 配置文件中指定 源码分析配置文件指定Mapper 执行query如何转换 结束 概述 阅读此文 可以达到 spring boot mybatis TypeHandler 源码如何初始化及如何调用的。 spring boot 版本为 2.7.17&#xff0c;my…

SQL Server 2016(创建数据表)

1、需求描述。 在名为“class”的数据库中创建表&#xff0c;表名称为“course”&#xff0c;其中要包含序号、课程、课程编号、学分、任课教师、上课地点、开始时间、结束时间、备注等列。 设置各个字段的数据类型。其中&#xff0c;"序号"列为标识列&#xff0c;从…

分享几个可以免费使用GPT工具

1. 国产可以使用GPT3.5和4.0的网站&#xff0c;每日有免费的使用额度&#xff0c;响应速度&#xff0c;注册时不用使用手机号&#xff0c;等个人信息&#xff0c;注重用户隐私&#xff0c;好评&#xff01; 一个好用的ChatGPT系统 &#xff0c;可以免费使用3.5 和 4.0https://…

企业如何做好合规管理?

近年来“合规”作为一个热点话题&#xff0c;频繁出现在公众视野&#xff0c;已然成为企业管理发展的大趋势。国家相继出台的各项合规管理标准预示着我国的企业合规管理正逐步从头部央企向民营企业扩展。因此&#xff0c;各大企业将合规管理作为了企业管理的首要任务。 随着中…

Mysql 行转列,把逗号分隔的字段拆分成多行

目录 效果如下源数据变更后的数据 方法第一种示例SQL和业务结合在一起使用 第二种示例SQL和业务结合在一起使用 结论 效果如下 源数据 变更后的数据 方法 第一种 先执行下面的SQL&#xff0c;看不看能不能执行&#xff0c;如果有结果&#xff0c;代表数据库版本是可以的&…

C语言:写一个函数,输入一个十六进制数,输出相应的十进制数

分析&#xff1a; 当用户运行该程序时&#xff0c;程序会提示用户输入一个十六进制数。用户需要在命令行中输入一个有效的十六进制数&#xff0c;例如&#xff1a;"1A3F"。 接下来&#xff0c;程序调用了名为 xbed 的函数&#xff0c;并将用户输入的十六进制数作…

激光SLAM:Faster-Lio 算法编译与测试

激光SLAM&#xff1a;Faster-Lio 算法编译与测试 前言编译测试离线测试在线测试 前言 Faster-LIO是基于FastLIO2开发的。FastLIO2是开源LIO中比较优秀的一个&#xff0c;前端用了增量的kdtree&#xff08;ikd-tree&#xff09;&#xff0c;后端用了迭代ESKF&#xff08;IEKF&a…