以 8.3版本为例
- 准备了3台服务器作为集群节点。
- 每个节点安装jdk,设置jdk环境变量(略)
- 上传kettle安装包到每个节点并解压
unzip pdi-ce-8.3.0.0-371.zip
- 修改$KETTLE_HOME/pwd下的配置文件
主节点需要修改carte-config-master-8080.xml
副节点修改carte-config-xxxx.xml文件,有几个副节点就对应更改就行
主节点修改carte-config-master-8080.xml
<slaveserver>
<name>master</name>
<hostname>172.20.7.230</hostname>
<port>8080</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
副节点1修改carte-config-8081.xml,masters标签中与主节点一致
<masters>
<slaveserver>
<name>master</name>
<hostname>172.20.7.230</hostname>
<port>8080</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</masters>
<report_to_masters>Y</report_to_masters>
<slaveserver>
<name>slave1-8081</name>
<hostname>172.20.7.231</hostname>
<port>8081</port>
<username>cluster</username>
<password>cluster</password>
<master>N</master>
</slaveserver>
副节点2 修改carte-config-8082.xml。参照elt2修改方式
- 一般上传解压后需要给予脚本执行权限,在$KETTLE_HOME下执行
chmod +x *.sh
如果是在windows环境运行过,迁移到Linux。可能会因为缓存出现错误
Unexpected problem updating configuration org.apache.aries.transaction
# 删除缓存文件
rm -rf $KETTLE_HOME/system/karaf/caches/*
- 启动
# 主要 不要把hive-jdbc的包放在$KETTLE_HOME/lib下,会和jetty包冲突
# 在$KETTLE_HOME下执行
# 节点1
./carte.sh ./pwd/carte-config-master-8080.xml
# 节点2
./carte.sh ./pwd/carte-config-8081.xml
# 节点3
./carte.sh ./pwd/carte-config-8082.xml
-
配置集群
7.1 先配置子服务器
根据carte-config的xml配置填写对应信息
主节点:
副节点1:
副节点2:
7.2 配置kettle集群schemas
-
使用
在需要集群运行的步骤上右键,选择集群
选择配置好的集群
选择集群运行