部署 Apache DolphinScheduler 集群在三台 CentOS 8 服务器上

部署 Apache DolphinScheduler 集群在三台 CentOS 8 服务器上涉及以下步骤:安装依赖、安装和配置 ZooKeeper、安装和配置 TiDB、安装和配置 DolphinScheduler。以下是每个步骤的详细指导:

1. 系统和网络准备

  • 确保所有服务器(192.168.0.103, 192.168.0.104, 192.168.0.105)可以互相通信。
  • 设置主机名分别为 ds-node1, ds-node2, ds-node3。
  • 在所有服务器上配置 /etc/hosts 文件,添加所有节点的 IP 和主机名映射。
bash 复制代码
192.168.0.103 ds-node1
192.168.0.104 ds-node2
192.168.0.105 ds-node3

2. 安装必要的软件

在所有节点上安装 Java、MySQL(TiDB 客户端兼容性)和其他必要的工具。

bash 复制代码
sudo dnf install java-1.8.0-openjdk mysql wget unzip net-tools

3. 安装和配置 ZooKeeper

  • 在所有节点上安装 ZooKeeper:
bash 复制代码
sudo wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0-bin /opt/zookeeper
  • 在每个节点配置 ZooKeeper:
bash 复制代码
mkdir /opt/zookeeper/data
echo "1" > /opt/zookeeper/data/myid  # 在 ds-node1 上为 1,ds-node2 上为 2,ds-node3 上为 3
  • 编辑 /opt/zookeeper/conf/zoo.cfg
plaintext 复制代码
tickTime=2000
dataDir=/opt/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=ds-node1:2888:3888
server.2=ds-node2:2888:3888
server.3=ds-node3:2888:3888
  • 启动 ZooKeeper 服务:
bash 复制代码
/opt/zookeeper/bin/zkServer.sh start

4. 安装和配置 TiDB

  • 在 ds-node1 上安装 TiDB:
bash 复制代码
# 下载 TiDB
wget https://download.pingcap.org/tidb-community-server-v5.0.1-linux-amd64.tar.gz
tar -xzf tidb-community-server-v5.0.1-linux-amd64.tar.gz
mv tidb-community-server-v5.0.1-linux-amd64 /opt/tidb

# 启动 TiDB
cd /opt/tidb
./bin/tidb-server

5. 安装和配置 DolphinScheduler

  • 下载并解压 DolphinScheduler 到 ds-node1:
bash 复制代码
wget https://dlcdn.apache.org/dolphinscheduler/3.2.1/apache-dolphinscheduler-3.2.1-bin.tar.gz
tar -xzf apache-dolphinscheduler-3.2.1-bin.tar.gz
mv apache-dolphinscheduler-3.2.1-bin /opt/dolphinscheduler
  • 配置 DolphinScheduler 数据库:
bash 复制代码
mysql -h 127.0.0.1 -u root -p
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds_user'@'%' IDENTIFIED BY 'ds_pass';
FLUSH PRIVILEGES;
  • 修改 /opt/dolphinscheduler/conf/datasource.properties 配置数据库连接。

  • 分别在所有节点上启动 DolphinScheduler 各组件。

6. 验证集群状态

  • 访问 DolphinScheduler 的 Web 界面(默认端口:12345),登录并查看各个服务的状态。

总结

这是一个基本的安装和部署过程,实际部署可能需要根据实际网络环境和安全要求进行适当的调整。此外,生产环境中可能还需要配置额外的安全和监控措施。在部署过程中,确保逐步验证每个组件的功能,

让我详细说明如何启动和关闭ZooKeeper、TiDB和DolphinScheduler服务,这将帮助您更好地管理集群的运行状态。

启动和关闭 ZooKeeper 服务

启动 ZooKeeper:

在每个节点上,使用以下命令启动 ZooKeeper 服务:

bash 复制代码
/opt/zookeeper/bin/zkServer.sh start

验证 ZooKeeper 是否启动:

您可以使用以下命令检查 ZooKeeper 服务的状态:

bash 复制代码
/opt/zookeeper/bin/zkServer.sh status

关闭 ZooKeeper:

当需要停止 ZooKeeper 服务时,可以在每个节点上运行:

bash 复制代码
/opt/zookeeper/bin/zkServer.sh stop

启动和关闭 TiDB 服务

启动 TiDB:

在 ds-node1 上,您已下载并解压了 TiDB。可以通过执行以下命令来启动 TiDB 服务器:

bash 复制代码
cd /opt/tidb
./bin/tidb-server

这将在前台启动 TiDB 服务。为了在后台运行它,并让其持续运行,您可以使用 nohup& 将其放入后台:

bash 复制代码
nohup ./bin/tidb-server > tidb.log 2>&1 &

关闭 TiDB:

可以通过查找 TiDB 进程并使用 kill 命令来关闭 TiDB:

bash 复制代码
ps -ef | grep tidb-server
kill [pid]

启动和关闭 DolphinScheduler 服务

配置 DolphinScheduler:

在启动 DolphinScheduler 之前,您需要确保数据库配置正确。在 /opt/dolphinscheduler/conf/datasource.properties 中设置数据库连接信息:

properties 复制代码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:4000/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=ds_user
spring.datasource.password=ds_pass

启动 DolphinScheduler Master 服务:

在 Master 节点上(例如 ds-node1),运行以下命令启动 Master 服务:

bash 复制代码
sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start master-server

启动 DolphinScheduler Worker 服务:

在每个工作节点上,运行以下命令来启动 Worker 服务:

bash 复制代码
sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start worker-server

关闭 DolphinScheduler 服务:

关闭服务时,可以在相应的服务器上运行以下命令:

bash 复制代码
sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh stop master-server
sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh stop worker-server

这些命令将分别关闭 Master 和 Worker 服务。

总结

通过以上步骤,您可以有效地管理 ZooKeeper、TiDB 和 DolphinScheduler 服务的启动和关闭。确保每次修改配置或更新服务后,验证服务状态以确保系统正常运行。

相关推荐
冰橙子id8 分钟前
centos7编译安装LNMP架构
mysql·nginx·架构·centos·php
十年磨一剑~34 分钟前
centos查看开启关闭防火墙状态
linux·运维·centos
ALLSectorSorft1 小时前
上门服务小程序会员系统框架设计
小程序·apache
行云流水剑1 小时前
【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南
服务器·学习·ubuntu
搬码临时工2 小时前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
杨过姑父2 小时前
部署开源版禅道,修改apache端口无效解决
bug·apache·软件工程·issue
鳄鱼杆2 小时前
服务器 | Centos 9 系统中,如何部署SpringBoot后端项目?
服务器·spring boot·centos
杰哥技术分享3 小时前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos
酷爱码3 小时前
Spring Boot 整合 Apache Flink 的详细过程
spring boot·flink·apache
weixin_461259414 小时前
[C]C语言日志系统宏技巧解析
java·服务器·c语言