返回顶部
首页 > 资讯 > 服务器 >Liunx中部署Kettle集群
  • 599
分享到

Liunx中部署Kettle集群

服务器sshlinux数据仓库运维 2023-09-26 09:09:24 599人浏览 独家记忆
摘要

文章目录 一、部署环境二、搭建步骤1、Linux下JDK环境搭建2、各服务器之间开启SSH免密登录3、查看所需端口是否被占用4、Linux下Kettle安装5、测试Kettle是否安装成功6、

文章目录


一、部署环境

环境:
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查看各服务器之间时间是否同步
    dateyum -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)的配置内容为:

        master1</name>   localhost</hostname>   8080</port>   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中完全一致

             master1</name>     master</hostname>     8080</port>     cluster</username>     cluster</password>     Y</master>    </slaveserver></masters>    Y</report_to_masters>       slave1-8081</name>   slave1</hostname>   8082</port>   cluster</username>   cluster</password>   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 &

服务开启成功
在这里插入图片描述

浏览器访问
ip:port
账号密码默认
cluster
主从服务Web登录如下:
在这里插入图片描述
在这里插入图片描述

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

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

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

    在这里插入图片描述

  3. 在主对象树中,选择“Kettle集群schmas”,右键点击“新建”,在弹出对话框中把主从的服务器信息填入,然后点击“选择子服务器”,添加刚才新建的子服务器,然后确定。
    在这里插入图片描述

  4. 在输出中右键选择“集群”,选择自己创建的“Schema”集群,点击“确定”
    在这里插入图片描述

  5. 在“Run Configurations”中右键点击“新建”,填写如下参数
    在这里插入图片描述

  6. 点击“运行”,选择自己创建的“测试集群”,最后点击“启动”即可
    在这里插入图片描述
    至此Kettle集群服务搭建完成。

三、注意事项

kettle自带调度运行会造成资源占用且不释放,最好使用windows或者liunx自带调度或者第三方调度服务
2、集群只能在图形化界面使用,如使用命令行运行作业或者转换都为单节点运行

来源地址:https://blog.csdn.net/qgwqgw/article/details/128985903

--结束END--

本文标题: Liunx中部署Kettle集群

本文链接: https://lsjlt.com/news/418306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Liunx中部署Kettle集群
    文章目录 一、部署环境二、搭建步骤1、Linux下JDK环境搭建2、各服务器之间开启SSH免密登录3、查看所需端口是否被占用4、Linux下Kettle安装5、测试Kettle是否安装成功6、...
    99+
    2023-09-26
    服务器 ssh linux 数据仓库 运维
  • php中什么是集群部署?如何实现集群部署?
    随着互联网进入快速发展的时代,各种网站、应用如雨后春笋般出现,人们对于服务的需求越来越高。而随着用户量增加,单一服务器已经无法满足需求,集群部署PHP项目成为解决方案之一。一、什么是集群部署?集群部署是将多台服务器组合在一起,按照特定的方式...
    99+
    2023-05-14
    集群部署 php
  • elasticsearch 集群部署
    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用...
    99+
    2024-04-02
  • Mysql-mmm集群部署
      90主 <----------> 91主    |    |    |  ------------...
    99+
    2024-04-02
  • GreenPlum 5.10.0 集群部署
    第1部分 初始化系统配置 1.1 部署环境 序号 ip地址 主机名 内存 系统版本 内核版本 1 192.168.61.61 gpmaster61 16Gb CentOS 7.5.1804 3...
    99+
    2024-04-02
  • Influxdb Cluster集群部署
    准备工作 确定安装版本 1、此次安装选择的是influxdb-cluster集群部署方案,参考项目开源地址为:https://github.com/chengshiwen/influxdb-clust...
    99+
    2023-10-07
    linux 服务器
  • Docker Swarm部署集群
    一、Swarm简介Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/Swarm 模式简介 要在Swarm模式下运行docker,需要先安装docker,参考...
    99+
    2023-01-31
    集群 Docker Swarm
  • Docker中怎么部署MySQL8集群
    这篇文章将为大家详细讲解有关Docker中怎么部署MySQL8集群,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一.CentOS7.9安装Docker20安装yum-utils工具yum&n...
    99+
    2023-06-20
  • kubeadm中如何部署kubernetes集群
    kubeadm中如何部署kubernetes集群,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、环境要求这里使用RHEL7.5master、etcd:192.168.10.1...
    99+
    2023-06-19
  • Linux中如何部署Hadoop集群
    这篇文章给大家分享的是有关Linux中如何部署Hadoop集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下...
    99+
    2023-06-27
  • Docker中redis集群部署实战
    目录环境准备安装gcc-c++查看版本创建Redis网卡创建6个redis服务在/var目录下创建脚本文件create_redis_script.sh编写脚本内容查看脚本文件赋予create_redis_script.s...
    99+
    2022-11-27
    Docker中redis集群部署 docker搭建redis集群 docker安装redis集群
  • docker中如何部署mysql集群
    在Docker中部署MySQL集群可以使用Docker Compose来管理多个MySQL容器,并使用MySQL Router来实现...
    99+
    2024-04-09
    docker mysql
  • ambari中怎么部署hadoop集群
    在Ambari中部署Hadoop集群通常需要按照以下步骤进行操作: 登录到Ambari的Web界面,并创建一个新的集群。 在创建集...
    99+
    2024-03-14
    hadoop ambari
  • k8s中如何部署redis集群
    在Kubernetes中部署Redis集群通常可以通过以下步骤进行: 创建Redis的ConfigMap:在Kubernetes中...
    99+
    2024-04-09
    redis
  • k8s中如何部署mysql集群
    在Kubernetes中部署MySQL集群可以使用StatefulSet和PersistentVolume。以下是一个简单的步骤: ...
    99+
    2024-04-02
  • k8s中怎么部署Kafka集群
    在Kubernetes中部署Kafka集群可以通过使用Kubernetes的StatefulSet和Service来实现。以下是一个...
    99+
    2024-04-02
  • centos 7.4部署couchbase集群
           couchbase是一个较新的、发展迅速的nosql数据库技术。2014年,viber宣布使用couchbase替换mongodb,...
    99+
    2024-04-02
  • redis3.0集群安装部署
    wget http://download.redis.io/releases/redis-3.0.0.tar.gz && tar zxvf redis-3.0.0.tar.gz &&...
    99+
    2024-04-02
  • MongoDB分片集群部署
    一、环境说明 1、我们prod环境MongoDB的集群架构是做的分片集群的部署,但是目前我们没有分片,即所有数据都在一个分片上,后期如果数量大,需要分配,集群随时可以分片,对业务方透明2、各个角色的部署情况...
    99+
    2024-04-02
  • Mongodb 分片集群部署
    Mongodb分片集群介绍       分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程。将数据分散到不同的机器上,不需要功...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作