Liunx中部署Kettle集群

这篇具有很好参考价值的文章主要介绍了Liunx中部署Kettle集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、部署环境

环境:
JDK 1.8
Centos7
Kettle 8.2.0
Kettle组件:
Spoon:图形化工具,用于快速设计和维护复杂的ETL工作流。
Kitchen:运行作业的命令行工具。
Pan:运行转换的命令行工具。
Carte:轻量级的(大概1MB)Web服务器,用来远程执行转换或作业,一个运行有Carte进程的机器可以作为从服务器,从服务器是Kettle集群的一部分。

二、搭建步骤

1、Linux下JDK环境搭建

  1. 检查是否有java环境
    java -version
  2. 没有则搭建
  3. date查看各服务器之间时间是否同步
    date
    yum -y install ntp 
    ntpdate -u cn.pool.ntp.org
    

2、各服务器之间开启SSH免密登录

  1. 检查是否已安装SSH服务

    ssh
    
  2. 没有则安装

    输入sudo apt-get update命令以实现更新Ubuntu系统

    输入sudo apt-get install openssh-server命令以安装ssh

  3. 检查是否启动SSH服务

    service --status-all | grep ssh
    
  4. 启动ssh服务

    sudo service sshd start
    
  5. 在主机A上生成rsa密钥对

    ssh-keygen -t rsa
    

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

  6. 将主机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的公钥添加到主机B的授权列表中。

  7. 免密登录

    • 在主机A上重启ssh服务systemctl restart sshd
    • 再执行ssh 用户名@ip,你会发现已经免密登录了。

3、查看所需端口是否被占用

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

jps命令失效,进行安装

yum install java-1.8.0-openjdk-devel.x86_64

4、Linux下Kettle安装

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

unzip xxxx

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

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(密码可以修改)

  1. 主服务器(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:指定是否是主服务器

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

  2. 子服务器(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>
    
  3. 其他从服务器依据以上配置,把主服务器中更改好的pwd文件夹分别覆盖其他服务器上的相应文件夹。
    拷贝文件至目标主机ip

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

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

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

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 &

服务开启成功
kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

浏览器访问
ip:port
账号密码默认
cluster
主从服务Web登录如下:
kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维
kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

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

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

  2. 在‘“转换”中选择“子服务器”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

  3. 在主对象树中,选择“Kettle集群schmas”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入,然后点击“选择子服务器”,添加刚才新建的子服务器,然后确定。
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

  4. 在输出中右键选择“集群”,选择自己创建的“Schema”集群,点击“确定”
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

  5. 在“Run Configurations”中右键点击“新建”,填写如下参数
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维

  6. 点击“运行”,选择自己创建的“测试集群”,最后点击“启动”即可
    kettle linux,Kettle,服务器,ssh,linux,数据仓库,运维
    至此Kettle集群服务搭建完成。

三、注意事项

1、kettle自带调度运行会造成资源占用且不释放,最好使用windows或者liunx自带调度或者第三方调度服务
2、集群只能在图形化界面使用,如使用命令行运行作业或者转换都为单节点运行文章来源地址https://www.toymoban.com/news/detail-708988.html

到了这里,关于Liunx中部署Kettle集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kettle web 版本 (webspoon) 中文部署 kettle 页面编辑 kettleweb 中文

    github 地址 : https://github.com/HiromuHota/pentaho-kettle 安装命令 可以看到已经装好了 页面访问,可以看到现在是英文的 进入 webspoon 容器 执行命令1 执行命令2 执行命令3 执行命令4 执行命令5 再次编辑 setenv.sh 在文件末尾追加这两项配置 保存 重启成功再次访问地址 汉化成功

    2024年02月11日
    浏览(49)
  • kettle—安装部署

    其实kettle 很好安装的,在linux 和 windows 上解压,就可以用了,但是在Mac 上,我说的是arm 架构的芯片的mac 上,也就是目前的m1 和 m2 上是不行的 关于这一点其实很多软件的解决方式都一样 找到对应arm版本的软件 基于Rosetta进行转译 在此过渡期间,部分 Apple 的 Mac 继续使用基于

    2023年04月19日
    浏览(30)
  • 一台服务器上部署 Redis 伪集群

    哈喽大家好,我是咸鱼 今天这篇文章介绍如何在一台服务器(以 CentOS 7.9 为例)上通过 redis-trib.rb 工具搭建 Redis cluster (三主三从) redis-trib.rb 是一个基于 Ruby 编写的脚本,其功能涵盖了创建、管理以及维护 Redis 集群的各个方面 值得注意的是,随着时间的推移,一些较新版

    2024年02月11日
    浏览(77)
  • Liunx服务器磁盘挂载

    可以看到我的vdb磁盘是没有进行挂载的,挂载前需要先进行磁盘分区 分区相关指令 m 显示命令列表 p 显示磁盘分区同fdisk -l n 新增分区 d 删除分区 w 写入并退出 首先输入n新增分区,然后选择p分区类型为主分区。然后按回车键直到出现“ Command(m for help): ”,最后输入w写入分

    2024年02月12日
    浏览(42)
  • liunx服务器安装kafka

    kafka 3.0.0 之前 (包括3.0.0版本)支持jdk 8 ,3.0.0之后版本不再支持jdk8版本 , 按照官网安装kafka ,出现了各种各样的问题。 总结:kafka和zookeeper和jdk版本对应, kafka启动报错 根据提示改正后 需要删除某些临时文件内容 。 下面整理了kafka安装的完整步骤, 适合所有kafka安装版

    2024年02月08日
    浏览(35)
  • liunx服务器使用selenium

    最近在本地windows系统(下面简称本地)用selenium写了一个自动化爬虫,放到我liunx服务器(下面简称服务器)上面运行报错,记录处理流程 一开始以为和本地一样,下好chrome浏览器和驱动就可以直接运行了(太天真了~) 1、下载chrome 查看chrome版本安装对应版本chromedriver 我的

    2024年02月11日
    浏览(45)
  • minio集群部署,4台服务器+1台nginx

    分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码 分布式Minio存放数据的磁盘目录必须是空目录 分布式Minio官方建议生产环境最少4个节点,因为有N个节点,得至少保证有N/2的节点才能可读,保证至少N/2+1的节点才能可写。这里只是作演示搭建,只

    2024年02月15日
    浏览(55)
  • Temporal部署指南:集群架构、服务器部署流程、部署细节及Temporal UI配置

    本文详细介绍了Temporal的部署流程,包括集群架构、Temporal Server的部署流程、部署细节以及Temporal UI的配置。通过指南,您可以了解到如何部署Temporal到生产环境,并对服务器配置、数据库设置、以及UI部署有清晰的指导。

    2024年02月04日
    浏览(66)
  • 概述、搭建Redis服务器、部署LNP+Redis、创建Redis集群、连接集群、集群工作原理

    Top 案例1:搭建redis服务器 案例2:常用命令限 案例3:部署LNP+Redis 案例4:创建redis集群 1.1 具体要求如下 在主机redis64运行redis服务 修改服务运行参数 ip 地址192.168.88.64 服务监听的端口6364 redis服务的连接密码为 tarenaplj 1.2 方案 准备1台新虚拟机,要求如表-1所示。   1.3 步骤 实

    2024年02月12日
    浏览(76)
  • 在docker上部署kettle web版本

    目录 前言 部署过程 kettle部署 开始汉化 安装vim 步骤一:清空sources.list 步骤二 步骤三:更新软件列表 步骤四 步骤五:安装vim 汉化配置 因为最近要上数据预处理的网课,我的电脑上没有安装kettle,因为安装kettle需要的jdk版本和我电脑已经安装的版本不匹配,这时候一般就是

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包