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

发布于:2024-04-20 ⋅ 阅读:(23) ⋅ 点赞:(0)

部署 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 和主机名映射。
192.168.0.103 ds-node1
192.168.0.104 ds-node2
192.168.0.105 ds-node3

2. 安装必要的软件

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

sudo dnf install java-1.8.0-openjdk mysql wget unzip net-tools

3. 安装和配置 ZooKeeper

  • 在所有节点上安装 ZooKeeper:
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:
mkdir /opt/zookeeper/data
echo "1" > /opt/zookeeper/data/myid  # 在 ds-node1 上为 1,ds-node2 上为 2,ds-node3 上为 3
  • 编辑 /opt/zookeeper/conf/zoo.cfg
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 服务:
/opt/zookeeper/bin/zkServer.sh start

4. 安装和配置 TiDB

  • 在 ds-node1 上安装 TiDB:
# 下载 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:
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 数据库:
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 服务:

/opt/zookeeper/bin/zkServer.sh start

验证 ZooKeeper 是否启动:
您可以使用以下命令检查 ZooKeeper 服务的状态:

/opt/zookeeper/bin/zkServer.sh status

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

/opt/zookeeper/bin/zkServer.sh stop

启动和关闭 TiDB 服务

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

cd /opt/tidb
./bin/tidb-server

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

nohup ./bin/tidb-server > tidb.log 2>&1 &

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

ps -ef | grep tidb-server
kill [pid]

启动和关闭 DolphinScheduler 服务

配置 DolphinScheduler:
在启动 DolphinScheduler 之前,您需要确保数据库配置正确。在 /opt/dolphinscheduler/conf/datasource.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 服务:

sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start master-server

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

sh /opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start worker-server

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

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 服务的启动和关闭。确保每次修改配置或更新服务后,验证服务状态以确保系统正常运行。