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