赞
踩
jdk1.8
kettle8
centos7
检查是否有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
检查是否已安装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
- netstat -ntlp //查看当前所有tcp端口
-
- netstat -ntulp | grep 80 //查看所有80端口使用情况
jps命令失效,进行安装
yum install java-1.8.0-openjdk-devel.x86_64
官网下载后将压缩包传入服务器中进行解压
unzip xxxx
- 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
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:目标主机待拷贝文件 拷贝至本机的文件夹
启动主服务器
./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
在本地打开kettle的图形化界面,新建一个test转换
在‘“转换”中选择“子服务器”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。