部署 Kettle 集群
1 准备工作¶
DataEase 本身并不需要 Kettle 组成集群模式,多个独立的 Kettle 节点也可以由 DataEase 内部的调用策略来分配使用。
1.1 服务器准备¶
此处搭建三个 Kettle 节点,节点规划如下:
- kettle-1 节点,IP 为 10.1.11.55
- kettle-2 节点,IP 为 10.1.11.178
- kettle-3 节点,IP 为 10.1.11.68
所有服务器的操作系统均为 CentOS 7,这里使用的是 CentOS 7.7,服务器硬件配置视数据规模而定。
其他信息:
- NFS 节点,IP 为 10.1.11.64,用于 Kettle 的挂载路径为 /opt/kettle
1.2 软件准备¶
下载 Kettle 安装包,此处使用的是 pdi-ce-8.3.0.0-371.zip,链接地址:https://pan.baidu.com/s/106CxFdc0n_kYOHRT4M5ZaQ 提取码:spzf 。
1.3 防火墙¶
此处我们会在 18080 端口运行 Kettle,所以需要保证 18080 端口可被外部访问,可以执行以下命令打开防火墙的 18080 端口:
firewall-cmd --zone=public --add-port=18080/tcp --permanent
firewall-cmd --reload
2 安装 NFS¶
由于 Kettle 需要使用通过 DataEase 上传的 Excel 文件,此处采用了 NFS 方案。
# 安装 NFS 相关软件包
yum install -y nfs-utils
# 创建要挂载的目录
mkdir -p /opt/dataease/data/kettle
# 修改 /etc/fstab 文件
echo "10.1.11.64:/opt/kettle /opt/dataease/data/kettle nfs defaults 0 0" >> /etc/fstab
# 挂载
mount -a
3 安装 JDK 1.8¶
执行命令安装 OpenJDK 1.8:
yum install -y java-1.8.0-openjdk
4 安装 Kettle¶
4.1 解压安装包¶
执行命令将安装包解压到 /opt/kettle 目录下:
unzip -d /opt/kettle pdi-ce-8.3.0.0-371.zip
4.2 安装驱动¶
Kettle 需要通过数据库驱动程序来连接各类数据源,官方提供的安装包内驱动程序并不齐全,此处需要额外添加几个驱动,可以通过百度网盘进行下载:
链接: https://pan.baidu.com/s/1bTpL1MtFnebaOv1wqKhulQ?pwd=ltvj 提取码: ltvj
解压后的数据库驱动文件,拷贝到 Kettle 应用的安装位置,例如:/opt/kettle/data-integration/lib 目录下,然后重启 Kettle 即可。
4.3 创建配置文件¶
创建 Kettle 运行时的配置文件,将数据目录指向 NFS 路径:
mkdir -p /opt/kettle/conf/.kettle
cat > /opt/kettle/conf/.kettle/repositories.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<repositories>
<repository>
<id>KettleFileRepository</id>
<name>repo</name>
<description>File repository</description>
<is_default>false</is_default>
<base_directory>/opt/dataease/data/kettle</base_directory>
<read_only>N</read_only>
<hides_hidden_files>N</hides_hidden_files>
</repository>
</repositories>
EOF
4.4 配置环境变量¶
设置环境变量 KETTLE_HOME:
echo "KETTLE_HOME=/opt/kettle/conf" >> /etc/profile
source /etc/profile
4.5 运行 Kettle¶
执行启动命令:
nohup /opt/kettle/data-integration/carte.sh 0.0.0.0 18080 &