当前位置:   article > 正文

Linux部署ETL工具kettle_kettle linux安装

kettle linux安装

1 系统环境

jdk1.8

kettle8

centos7

2 配置过程

2.1 配置jdk

检查是否有java环境

java -version

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

  1. mkdir /usr/local/java
  2. cd /usr/local/java
  3. tar -zxvf jdk-8u101-linux-x64.tar.gz
  4. vim /etc/profile
  5. export JAVA_HOME=/usr/local/java/jdk1.8.0_101
  6. export JRE_HOME=${JAVA_HOME}/jre
  7. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
  8. export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
  9. export PATH=$PATH:${JAVA_PATH}
  10. source /etc/profile
  11. java -version

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

  1. date
  2. yum -y install ntp
  3. ntpdate -u cn.pool.ntp.org

2.2 服务器开启ssh免密

检查是否已安装SSH服务

ssh

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

  1. sudo apt-get update
  2. 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中

  1. 一是使用命令:
  2. 在主机A的命令行上执行,就可以将主机A上生成的公钥传到主机B中。
  3. ssh-copy-id 主机B用户名@主机Bip
  4. 二是手动操作:
  5. 首先在主机A上执行命令
  6. scp .ssh/id_rsa.pub 主机B用户名@主机Bip:~/home
  7. 命令执行成功后会将主机A的公钥传到主机B的家目录里。
  8. 切换到主机B,命令行执行
  9. cat ~/home/id_rsa.pub >> ~/.ssh/authorized_keys

免密登录

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

2.3 检查端口是否被占用

  1. netstat -ntlp //查看当前所有tcp端口
  2. 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是否安装成功

  1. cd data-integration
  2. ./kitchen.sh

报错信息如下:

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

输入 

  1. 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
  2. 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)的配置内容为:

  1. <slaveserver>
  2. <name>master1</name>
  3. <hostname>localhost</hostname>
  4. <port>8080</port>
  5. <master>Y</master>
  6. </slaveserver>

name:指定Kettle主服务器名称

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

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

master:指定是否是主服务器

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

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

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

  1. <masters>
  2. <slaveserver>
  3. <name>master1</name>
  4. <hostname>master</hostname>
  5. <port>8080</port>
  6. <username>cluster</username>
  7. <password>cluster</password>
  8. <master>Y</master>
  9. </slaveserver>
  10. </masters>
  11. <report_to_masters>Y</report_to_masters>
  12. <slaveserver>
  13. <name>slave1-8081</name>
  14. <hostname>slave1</hostname>
  15. <port>8082</port>
  16. <username>cluster</username>
  17. <password>cluster</password>
  18. <master>N</master>
  19. </slaveserver>

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

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

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

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

2.7 集群carte服务开启

启动主服务器

./carte.sh ip port

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

  1. nohup /opt/Kettle/data-integration/./carte.sh 192.168.1.132 9090
  2. /opt/Kettle/data-integration/logs/out.log 2>&1 &

启动从服务器

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

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

  1. nohup /opt/Kettle/data-integration/./carte.sh /opt/Kettle/data-integration/pwd/carte-config-9091.xml
  2. >/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. 点击“运行”,选择自己创建的“测试集群”,最后点击“启动”即可 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/860618
推荐阅读
相关标签
  

闽ICP备14008679号