以下配置和记录只为学习使用,查看了网上资料进行的实践,这是文档记录的一个章节,提供给大家学习。

目录

1.Carte的配置

2.Carte的启动

3.Carte的停止

4.Carte的使用

4.1配置子服务器

4.2配置run configuration执行服务器

4.3carte执行

5.Carte集群设置

5.1.配置子服务器

5.2集群运行配置

5.3步骤转换设置

5.4Carte集群执行

5.5Carte集群和carte执行器混合使用


现在公司使用的都是8.3稳定版本的开源Pentaho,也就是习惯称呼的Kettle。一般把Pentaho server安装在linux服务器上,使得server稳定运行,在Windows系统下安装客户端PDI使用。

客户端PDI连接Pentaho server的repository存储库后,都会把任务提交到server上或者设置调度计划执行作业。而不会在PDI客户端上调度作业。

但为了提高Pentaho的性能,可以增加多台carte服务器建立一个集群,下图是Pentaho性能扩展方式:

1.使用转换步骤中的多线程

2.建立carte集群

3.使用Hadoop大数据服务

本章节介绍第二种设置PDI集群。

集群技术可以用来水平扩展转换,使它们能以并行的方式运行在多台服务器上。转换的工作可以平均分到不同的服务器上。一个集群模式包括一个主服务器和多个子服务器,主服务器作为集群的控制器。只有在集群模式中,才有主服务器和子服务器的概念。作为控制器的Carte服务器就是主服务器,其它的Carte服务器就是子服务器。

本节将介绍怎样配置和执行一个转换,让其运行在carte集群上。

文章建立carte01位主服务器,carte02和carte03为从服务器,这三台carte服务器都是在同一个物理机上配置的,大家也可以在不同物理机配置carte服务器。

1.Carte的配置

注意事项:需要在/pentaho/.kettle的目录下有repositories.xml 文件,文件里的repository连接信息需要填写在carte配置文件中。

carte-01-config.xml内容为:

carte-02-config.xml 内容:

<slave_config><masters><slaveserver><name>carte-01</name><hostname>carte-server-01</hostname><port>8080</port><username>cluster</username><password>cluster</password><master>Y</master></slaveserver></masters><report_to_masters>Y</report_to_masters> <!--配置向master汇报--><slaveserver><name>carte-02</name><hostname>carte-server-01</hostname><port>8081</port><username>cluster</username><password>cluster</password><master>N</master><get_properties_from_master>carte-01</get_properties_from_master> <override_existing_properties>Y</override_existing_properties></slaveserver><repository><name>pentaho-repo</name><username>admin</username><password>password</password></repository><max_log_lines>10000</max_log_lines> <max_log_timeout_minutes>2880</max_log_timeout_minutes> <object_timeout_minutes>240</object_timeout_minutes>
</slave_config>

carte-03-config.xml 内容同carte-02-config.xml。

2.Carte的启动

由于配置了carte的master主服务器,所以只有carte 的主服务器启动完成后,才能启动其他从服务器。

在PDI的安装目录data-integration下建立了Carte的一键启动脚本auto_start_carte.sh

#!/bin/bash
DIR_REL=`dirname $0`
cd $DIR_REL
DIR=`pwd`
echo "path is :$DIR"
sh $DIR/carte.sh  carte-01-config.xml >$DIR/carte_log/carte01.log 2>&1 &
sleep 20
sh $DIR/carte.sh  carte-02-config.xml >$DIR/carte_log/carte02.log 2>&1 &
sh $DIR/carte.sh  carte-03-config.xml >$DIR/carte_log/carte03.log 2>&1 &
echo "carte have been started!"

3.Carte的停止

方法1:通过URL命令停止

http://10.XX:8080/kettle/stopCarte

方法2:使用脚本

./carte.sh <ip_addr> <port> -s –u <username> –p <password>

示例:./carte.sh 10.XX.105 8081 -s -u cluster -p cluster

方法3:杀进程

通过 ps -ef | grep carte  命令查出carte的进程,

使用kill -9 XXX杀死对应进程即可。

4.Carte的使用

4.1配置子服务器

首先设置Master 的carte服务器:

名称:任意,这里设置为carte01

主机地址:10XX

端口号:8081,这里的端口号就是配置文件里设置的对应端口号

用户名/密码:cluster/cluster

如果是master则勾选“是主服务器”

Carte02从服务器配置,并不需要勾选“是主服务器”

4.2配置run configuration执行服务器

右击“run configuration”新建执行服务器,如下图所示

测试执行转换/作业选择carte01执行器,执行正常,表明设置没有问题。

如果carte01执行器中没有选择“Send resources to this server”那么子作业或者子转换就不会执行,主作业失败!

4.3carte执行

建立作业如下,其中job1设置执行器是cart01执行,需要勾选“将作业执行结果发送到从服务器上”,任务才会正常执行。

5.Carte集群设置

在执行转换时,主服务器负责分发跟踪任务和收集结果总汇,从服务器负责具体的转换执行。在Kettle中,如果主服务器也宕机的话并不存在服务器(类似于redis、zookeeper等)重新选举的功能,也就是说一旦主服务器宕机,则Kettle集群就不能使用了。

只有在转换的界面中有Kettle集群schemas设置和使用。

5.1.配置子服务器

右击“Kettle集群schemas设置”,如下图所示增加carte集群节点,并设置主服务器和从服务器节点。Carte的集群部署分为静态模式和动态模式,这里选择为动态集群。只要carte01主服务器没问题,其他从服务器宕掉不影响任务的进行。

如果没有选择“Dynamic cluster”就是静态集群,那么其中任一个carte服务器节点有问题,这个carte集群就不可用了。

5.2集群运行配置

选择slave server,并选择“Clustered”。

5.3步骤转换设置

在需要集群运行的步骤设置集群运行,右击该步骤选择“集群”,选择上一步中设置的集群“carte”

如果是动态集群,则对应的转换步骤左上角会显示CxN,如果是静态集群,则对应的转换步骤左上角会显示Cx2这样样式。

5.4Carte集群执行

对于转换选择设置好的cluster执行

执行正常,如下图所示:

caret01:

carte02:

carte03:​​​​​​​

作业中的子转换选择cluster执行,测试转换执行也正常:

5.5Carte集群和carte执行器混合使用

测试运行正常。

参考文章:

Kettle — 集群使用_永远不会懂-CSDN博客_kettle集群

Kettle构建Hadoop ETL实践(十):并行、集群与分区_wzy0623的专栏-CSDN博客

Kettle/Pentaho的Carte集群配置和使用相关推荐

  1. Kettle Carte集群关闭问题

    Kettle Carte命令行是没有关闭的服务的命令的.一般,情况下,直接kill掉pid就是了.但是kettle开启的进程好多个,如果一个个kill,一方面比较麻烦,另外可能kill掉一个pid之后 ...

  2. Hadoop集群配置(最全面总结)

    Hadoop集群配置(最全面总结) 通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker.这些机器是masters.余下的机器即作为DataNode也作为Ta ...

  3. 基于redis的cas集群配置(转)

    1.cas ticket统一存储 做cas集群首先需要将ticket拿出来,做统一存储,以便每个节点访问到的数据一致.官方提供基于memcached的方案,由于项目需要,需要做计入redis,根据官方 ...

  4. redis+主从复制+集群配置

    redis+主从复制+集群配置 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...

  5. JavaEE进阶知识学习-----SpringCloud(四)Eureka集群配置

    Eureka集群配置 microservicecloud-eureka-7001使EurekaServer服务注册中心,一旦这个出现问题,那么微服务就不能正常的工作,为防止这种情况,所以出现了集群,就 ...

  6. FastDFS 集群配置(转载)

    本文转载自::https://blog.csdn.net/xiaoweiqb/article/details/68065618 配置最终目标 以4台服务做集群,其中2台作为tracker服务器又作为s ...

  7. Redis高可用之集群配置(六)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  8. Redis集群配置和常见异常解决

    Redis集群配置和常见异常解决 参考文章: (1)Redis集群配置和常见异常解决 (2)https://www.cnblogs.com/hzb462606/p/11121281.html 备忘一下 ...

  9. Nginx+Tomcat简单集群配置

    2019独角兽企业重金招聘Python工程师标准>>> 1.软件准备 下载Nginx和Tomcat Nginx:http://nginx.org/en/download.html 这 ...

最新文章

  1. 手把手教你从零到一搭建深度学习项目(附PDF下载)
  2. java线程条件变量_多线程同步条件变量(转载)
  3. gulp压缩js转义es6的常见错误及解决方案
  4. Hourglass网络
  5. 解决 ASP.NET Core 部署到 IIS,更新项目时文件夹正在使用错误
  6. ROCKOUT软件测试工程师,具透丨这才是让 iMessage 变得好玩有用的原因:iMessage App Store 详解...
  7. OpenLayers学习入门篇
  8. 计算机毕业设计Java宠物医院后台管理系统设计与实现(源码+系统+mysql数据库+lw文档)
  9. 【黑苹果】戴尔DELL Vostro 14 5490+i5-10210U和i7-10510U+OpenCore+macos 10.15.4 efi文件下载
  10. Win7删除GRUB For DOS启动项
  11. react 首页加载loading
  12. 考研英语(四)——名词性从句
  13. 计算机中求声音传输时间公式,计算机常用计算公式汇总
  14. 2020李宏毅学习笔记——16.Recurrent Netural Network 下
  15. Spring Boot整合websocket实现群聊,点对点聊天,图片发送,音频发送
  16. Room cannot verify the data integrity. Looks like you‘ve changed schema but forgot to update the ve
  17. 【洛谷1337】[JSOI2004] 吊打XXX(模拟退火经典题)
  18. 胡昌泽 day4笔记
  19. uni-app开发多端之钉钉小程序
  20. 数据结构和算法 绪论

热门文章

  1. Gossip算法详解
  2. js模仿微信打飞机游戏代码
  3. Excel技巧 - 长数字串如何筛选重复项
  4. 报错Cannot mix different versions of joi schemas解决方法
  5. 【求职】关于简历制作的心得
  6. AI 作图绘画的软件和网址
  7. 从身份证号里可以解析出出生地,年月日,性别及年龄
  8. Prezi - the best presentation tool
  9. win10系统每天凌晨3点左右,自动关机重启
  10. python中range函数是什么意思_python中range什么意思