安装dolphinscheduler

四种安装方式,机器有限,最后选的伪集群安装,所有都装在一台机器上。

安装手册

需要依次安装

  • JDK:下载JDK (1.8+),安装并配置 JAVA_HOME 环境变量,并将其下的 bin 目录追加到 PATH环境变量中。如果你的环境中已存在,可以跳过这步。
  • dolphinscheduler二进制包:在下载页面下载 DolphinScheduler 二进制包
  • 数据库:PostgreSQL (8.2.15+) 或者 MySQL (5.7+),两者任选其一即可,如 MySQL 则需要 JDBC Driver 8.0.16
  • 注册中心:ZooKeeper (3.4.6+),下载地址
  • 进程树分析
    Fedora/Red/Hat/CentOS/Ubuntu/Debian安装psmisc

1、下方的比较简单,不讲了
JDK1.8以上
Mysql5.7以上

2、安装ZooKeeper (3.4.6+)

  • 下载二进制文件

不下载源码版,不然还得自己编译
下载地址

下载后解压

tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
  • 修改配置文件
    进入解压的文件夹,创建数据目录,
mdir zkData

再进入conf,先创建配置文件。

cp zoo_sample.cfg zoo.cfg

zoo.cfg就是配置文件

  1. 将其中的数据目录改为刚创建的zkData.
    dataDir=/tmp/zookeeper 修改为 dataDir=/opt/module/zookeeper-3.7.1/zkData
  2. 将服务端口修改为8090
    默认的server端口是8080,我的8080已经被占了,所以修改成8090,你也可以修改成你想要的端口
    在配置文件里加上
    admin.serverPort=10086
  • 启动服务端
    在zookeeper下执行
bin/zkServer.sh start

如果顺利会提示启动成功,如果不成功,到logs下找后缀为.out的文件,看一下错在哪里。

  • 进入客户端
bin/zkCli.sh
quit  #退出

很顺利!

3、安装进程树分析 psmisc

yum -y install psmisc

4、安装dolphinscheduler

进入重点咯~~~~

1)下载二进制版本

wget https://dlcdn.apache.org/dolphinscheduler/3.0.2/apache-dolphinscheduler-3.0.2-bin.tar.gz

解压缩&授权

tar -zxvf apache-dolphinscheduler-3.0.2-bin.tar.gz
# 创建用户需使用 root 登录
useradd dolphinscheduler

# 添加密码
echo "dolphins" | 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-3.0.2-bin 目录有操作权限
chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-3.0.2-bin

2)配置机器SSH免密登陆

由于安装的时候需要向不同机器发送资源,所以要求各台机器间能实现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

3)启动zookeeper

进入 zookeeper 的安装目录,将 zoo_sample.cfg 配置文件复制到 conf/zoo.cfg,并将 conf/zoo.cfg 中 dataDir 中的值改成 dataDir=./tmp/zookeeper

#启动 zookeeper

./bin/zkServer.sh start

注:忽然发现系统默认装的openjava,不是jdk,重装,很简单,下载压缩包,解压,在/etc/profile里加上下面语句,然后source /etc/profile,让其生效

JAVA_HOME=/usr/java/jdk1.8.0_231
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/toos.jar
export PATH JAVA_HOME CLASSPATH

4)修改配置文件

  • 修改 install_env.sh 文件
    文件 install_env.sh 描述了哪些机器将被安装 DolphinScheduler 以及每台机器对应安装哪些服务。您可以在路径 bin/env/install_env.sh 中找到此文件,可通过以下方式更改env变量,export <ENV_NAME>=,配置详情如下。
# ---------------------------------------------------------
# INSTALL MACHINE
# ---------------------------------------------------------
# Due to the master, worker, and API server being deployed on a single node, the IP of the server is the machine IP or localhost
ips="localhost"
sshPort="22"
masters="localhost"
workers="localhost:default"
alertServer="localhost"
apiServers="localhost"

# DolphinScheduler installation path, it will auto-create if not exists
installPath=~/dolphinscheduler

# Deploy user, use the user you create in section **Configure machine SSH password-free login**
deployUser="dolphinscheduler"
  • 修改 dolphinscheduler_env.sh 文件

文件 ./bin/env/dolphinscheduler_env.sh 描述了下列配置:

DolphinScheduler 的数据库配置
一些任务类型外部依赖路径或库文件,如 JAVA_HOME 和 SPARK_HOME都是在这里定义的
注册中心zookeeper
服务端相关配置,比如缓存,时区设置等

必须根据您的环境更改 JAVA_HOME、注册中心和数据库


先到mysql去建库,建账号,进入数据库客户端,执行下列命令

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
create user 'dolphin'@'%' identified by 'dolphin';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphin'@'localhost';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphin'@'%';
flush privileges;

创建好账号,记住用户名密码


下面是我的配置,改了JAVA_HOME,DATABASE,SPRING_DATASOURCE_URL,SPRING_DATASOURCE_USERNAME,SPRING_DATASOURCE_PASSWORD,SPRING_JACKSON_TIME_ZONE,REGISTRY_ZOOKEEPER_CONNECT_STRING
zookeeper的服务端口我设置了8090,访问端口是2181,注意不要混淆

# JAVA_HOME, will use it to start DolphinScheduler server
export JAVA_HOME=/usr/java/jdk1.8.0_231

# Database related configuration, set database type, username and password
export DATABASE=${DATABASE:-mysql}
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai"
export SPRING_DATASOURCE_USERNAME=dolphin
export SPRING_DATASOURCE_PASSWORD=dolphin

# DolphinScheduler server related configuration
export SPRING_CACHE_TYPE=${SPRING_CACHE_TYPE:-none}
export SPRING_JACKSON_TIME_ZONE=${SPRING_JACKSON_TIME_ZONE:-CST}
export MASTER_FETCH_COMMAND_NUM=${MASTER_FETCH_COMMAND_NUM:-10}

# Registry center configuration, determines the type and link of the registry center
export REGISTRY_TYPE=${REGISTRY_TYPE:-zookeeper}
export REGISTRY_ZOOKEEPER_CONNECT_STRING=${REGISTRY_ZOOKEEPER_CONNECT_STRING:-localhost:2181}

注意时区,我系统设置了CST时区,所以下方要设置,否则再下一步的数据库初始化会一直报错
先看一下时区
在这里插入图片描述
我的原始时区是EST,后来改成CST,命令如下

timedatectl set-timezone Asia/Shanghai

为了时间准确,安装ntp,这个不是必须的,命令如下:

yum install ntp
systemctl enable ntpd
systemctl start ntpd
ntpdate time.XXX.XX.XX

5) 初始化mysql

  1. mysql需要mysql-connector-java 驱动 (8.0.16) ,下载jar包,放到如下文件夹
    api-server/libs
    alert-server/libs
    master-server/libs
    worker-server/libs
    tools/libs

  2. 执行命令

bash tools/bin/upgrade-schema.sh

帮助文档

如果顺利,就ok。不顺利,查看报错排查错误吧。

6) 安装dolphinScheduler

启动 DolphinScheduler
使用上面创建的部署用户 dolphinscheduler 运行以下命令完成部署,部署后的运行日志将存放在 logs 文件夹内

bash ./bin/install.sh

很可能执行不成功,看报错信息,查错。

7) 登录 DolphinScheduler

浏览器访问地址 http://localhost:12345/dolphinscheduler/ui 即可登录系统UI。默认的用户名和密码是 admin/dolphinscheduler123

8)常用命令

启停服务

一键停止集群所有服务

bash ./bin/stop-all.sh

一键开启集群所有服务

bash ./bin/start-all.sh

启停 Master

bash ./bin/dolphinscheduler-daemon.sh stop master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server

启停 Worker

bash ./bin/dolphinscheduler-daemon.sh start worker-server
bash ./bin/dolphinscheduler-daemon.sh stop worker-server

启停 Api

bash ./bin/dolphinscheduler-daemon.sh start api-server
bash ./bin/dolphinscheduler-daemon.sh stop api-server

启停 Alert

bash ./bin/dolphinscheduler-daemon.sh start alert-server
bash ./bin/dolphinscheduler-daemon.sh stop alert-server


重启了下服务器发现服务启动不了了!!!!

记录一下,重启后四个服务的logs目录里的XXXX.log都变成了root的权限,用dolphinscheduler启动服务,自然启动不起来了。
重新授权

chown dolphinscheduler:dolphinscheduler  dolphinscheduler-worker.log

记得把下面四个目录下设置为root的log都找到授权,再执行start-all.sh就好了。另外记得起zookeeper。

./api-server/logs
./alert-server/logs
./worker-server/logs
./master-server/logs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值