1 系统环境

jdk1.8

kettle8

centos7

2 配置过程

2.1 配置jdk

检查是否有java环境

java -version

如果没有,就执行以下命令,有就跳过

mkdir  /usr/local/java

cd /usr/local/java

tar -zxvf jdk-8u101-linux-x64.tar.gz

vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

source /etc/profile

java -version

date查看各服务器之间时间是否同步

date

yum -y install ntp 

ntpdate -u cn.pool.ntp.org

2.2 服务器开启ssh免密

检查是否已安装SSH服务

ssh

如果没有安装就执行以下命令,有就跳过

sudo apt-get update

sudo apt-get install openssh-server

检查是否启动ssh服务

service --status-all | grep ssh

启动ssh

sudo service sshd start

在主机A上生成rsa密钥对

ssh-keygen -t rsa

三次回车后会在root目录下生成“.ssh”文件夹,里面会有两个文件,分别是id_rsa和id_rsa.pub
id_rsa:是本机的私钥,在使用ssh协议向其它主机传输数据前,主机会使用该私钥对数据进行加密
id_rsa.pub:是本机的公钥,因为ssh协议采用非对称加密法(公钥可以用来解密使用私钥进行加密的数据,同样,私钥也可以用来解密公钥进行加密的数据),所以主机一般将该公钥放到其它需要远程登录到的主机的ssh服务器中

将主机A上生成的公钥传到主机B中

一是使用命令:
在主机A的命令行上执行,就可以将主机A上生成的公钥传到主机B中。
ssh-copy-id 主机B用户名@主机Bip


二是手动操作:
首先在主机A上执行命令
scp .ssh/id_rsa.pub 主机B用户名@主机Bip:~/home
命令执行成功后会将主机A的公钥传到主机B的家目录里。
切换到主机B,命令行执行
cat ~/home/id_rsa.pub >> ~/.ssh/authorized_keys

免密登录

在主机A上重启ssh服务systemctl restart sshd
再执行ssh 用户名@ip

2.3 检查端口是否被占用

netstat -ntlp   //查看当前所有tcp端口

netstat -ntulp | grep 80   //查看所有80端口使用情况

jps命令失效,进行安装

yum install java-1.8.0-openjdk-devel.x86_64

2.4 Linux下Kettle安装

官网下载后将压缩包传入服务器中进行解压

unzip xxxx

2.5 测试Kettle是否安装成功

cd data-integration

./kitchen.sh

报错信息如下:

#######################################################################
WARNING:  no libwebkitgtk-1.0 detected, some features will be unavailable
    Consider installing the package with apt-get or yum.
    e.g. 'sudo apt-get install libwebkitgtk-1.0-0'
#######################################################################

输入 

wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/webkitgtk-2.4.9-1.el7.x86_64.rpm


yum install webkitgtk-2.4.9-1.el7.x86_64.rpm

2.6 Kettle集群环境配置

Carte的配置文件所在路径:/kettlle/data-integration/pwd

在该目录下含有6个文件

一个主服务器配置文件        carte-config-master-8080.xml

四个从服务器配置文件

carte-config-8081.xml、carte-config-8082.xml

carte-config-8083.xml、carte-config-8084.xml

一个集群账号密码文件kettle.pwd(密码可以修改)

主服务器(carte-config-master-8080.xml)的配置内容为:

<slaveserver>
   <name>master1</name>
   <hostname>localhost</hostname>
   <port>8080</port>
   <master>Y</master>
 </slaveserver>

name:指定Kettle主服务器名称

hostname:指定Kettle主服务器IP地址

port:指定Kettle主服务器端口号

master:指定是否是主服务器

伪分布式环境不需要配置该文件。

子服务器(carte-config-8081.xml)的配置内容为:

其中masters中,name、hostname、port需要和carte-config-master-8080.xml中完全一致

<masters>
    <slaveserver>
     <name>master1</name>
     <hostname>master</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>slave1</hostname>
   <port>8082</port>
   <username>cluster</username>
   <password>cluster</password>
   <master>N</master>
  </slaveserver>

其他从服务器依据以上配置,把主服务器中更改好的pwd文件夹分别覆盖其他服务器上的相应文件夹。拷贝文件至目标主机ip

scp -rp 待拷贝文件 用户名@目标主机ip:目标主机文件夹

从目标主机拷贝文件至本机

scp -rp 用户名@目标主机ip:目标主机待拷贝文件 拷贝至本机的文件夹

2.7 集群carte服务开启

启动主服务器

./carte.sh ip port

主服务器保持后台运行并将日志写入自定义文件

nohup /opt/Kettle/data-integration/./carte.sh 192.168.1.132 9090


/opt/Kettle/data-integration/logs/out.log 2>&1 &

启动从服务器

./carte.sh pwd/carte-config-8081.xml

从服务器保持后台运行并将日志写入自定义文件

nohup /opt/Kettle/data-integration/./carte.sh /opt/Kettle/data-integration/pwd/carte-config-9091.xml 


>/opt/Kettle/data-integration/logs/out.log 2>&1 &

浏览器访问                ip:port

账号密码默认            cluster

2.8 在kettle图形界面中对集群进行设定

  1. 在本地打开kettle的图形化界面,新建一个test转换

  2. 在‘“转换”中选择“子服务器”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入

  3. 在主对象树中,选择“Kettle集群schmas”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入,然后点击“选择子服务器”,添加刚才新建的子服务器,然后确定。 
  4. 在输出中右键选择“集群”,选择自己创建的“Schema”集群,点击“确定” 
  5. 在“Run Configurations”中右键点击“新建”,填写如下参数 
  6. 点击“运行”,选择自己创建的“测试集群”,最后点击“启动”即可 
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐