四种安装方式,机器有限,最后选的伪集群安装,所有都装在一台机器上。
安装手册
需要依次安装
- 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就是配置文件
- 将其中的数据目录改为刚创建的zkData.
dataDir=/tmp/zookeeper 修改为 dataDir=/opt/module/zookeeper-3.7.1/zkData - 将服务端口修改为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
-
mysql需要mysql-connector-java 驱动 (8.0.16) ,下载jar包,放到如下文件夹
api-server/libs
alert-server/libs
master-server/libs
worker-server/libs
tools/libs -
执行命令
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