zoukankan      html  css  js  c++  java
  • 【转载】KETTLE集群搭建

    一、集群的原理与优缺点

    1.1集群的原理

             Kettle集群是由一个主carte服务器和多个从carte服务器组成的,类似于master-slave结构,不同的是’master’处理具体任务,只负责任务的分发和收集运行结果。

    Master carte结点收到请求后,把任务分成多个部分交给slave carte执行,slave执行完毕后把结果交给mater 进行汇总,再由mster返回结果。

    1.2集群的优点

             和其它系统的集群一样,有以下优点:

             1)多服务器运行,加快处理速度,对于大数据量的操作更明显

             2)防单点失败,一台服务器故障后其它服务器还可以运行

    1.3集群的缺点

             1)采用主从结构,不具备自动切换主从的功能。所以一旦主节点宕机,整个系统不可用

             2)对网络要求高,节点之间需要不断的传输数据

             3)需要更多的服务器,而且主节点没有处理能力

    1.4 适用场景

             适合于:

             1)需求kettle能时刻保持正常运行的场景

             2)大批量处理数据的场景

    二、集群搭建

    2.1 配置子服务器

    2.1.1 配置主服务器

    打开ketlle目录,找到pwd目录,里面有4个XML文件,分别是子服务器的配置文件和密码文件:

     

    Carte-config-master-8080.xml是主服务器的配置文件。编辑该文件,根据情况修改其中的namehostnameportmaster等属性。Name是服务器的名称,hostname是主机名或者IP,port是端口号,Master表明是否是主服务器。此外,加上两行:

    <username>cluster</username>
    <password>cluster</password>

    在<master>Y<mater>之下

     

             接着启动主服务器,在kettle目录中打开cmd窗口,执行

      carte localhost 8080

     

             至此,主服务器配置完成。

    2.1.2 配置从服务器

             剩下的三个为从服务器的配置文件。以carte-config-8081.xml为例。打开该文件:

     

    发现该文件有<master>和<slaveserver>两层标签,<master>标签表示该服务器要连接的主服务器的信息,保持与carte-config-master.xml一致。<slaveserver>标签是从服务器的信息,按照需要更改即可。

             然后启动slave1-8081从服务器:

     

             按照同样的方法,配置slave2-8082slave3-8083slave4-8084并启动。(本实验只配置一主三从)

    2.2 建立集群

    2.2.1 在spoon中创建子服务器。

             打开spoon.bat,新建一个转换。选择主对象树-子服务器,右键新键子服务器:

     

    按照这种文件配置master slave1-8081 、slave2-8082、slave3-8083、slave4-8084。

    2.2.2 建立集群

             在主对象树中选择kettle集群schemas,填写schema名称,端口、sokects缓存大小、sockets刷新时间间隔、socketts数据是否压缩。在右边点击选择子服务器,选择需要的子服务器。

    Schema名称即集群的名称。

    端口即集群对外服务的端口.

    sockets缓存大小:sockets缓存

    Sockets刷新时间间隔:达到多少行记录时刷新到子服务器。

    Sockets数据是否压缩:如果网络状况差,则建议选择。网络良好时不用选择。

     

    2.3 执行转换

          配置完成之后,要做个实验验证一下这个集群。新建一个转换,设置一个表输入读取100行数据,读出来的数据交给集群去排序,之后将排序后的结果存入到Excel里。

      

      配置完集群后,选择转换中的执步骤”排序记录“,右键该步骤,选择”集群”,选择刚才配置的集群。

         

             选择然后会发现排序纪录多出”CX3”,表示有3个子服务器来执行。在一个三个子服务器的集群中,主服务器负责任务分发、结果收集,转换任务由从服务器执行,故只有三个节点执行。

     

             执行该转换:这个就成功了。

     

            

       

         也可以通过web页面来管理集群,输入 http://localhost:8080 , 点击状态进入。

          

      

       参考文章:KETTLE集群搭建:http://www.cnblogs.com/skyrim/p/5104557.html

          Kettle 集群(cluster)在多个服务器(windows、linux)上并发执行 :http://blog.csdn.net/lixuemei504/article/details/38271145

  • 相关阅读:
    屏蔽2003:在系统启动时至少有一个服务或驱动程序产生错误
    C#中有关string和byte[]转换的问题
    如何控制winform程序只能打开一个呢?
    ArrayList的使用方法【转载】
    ASP.NET中ajaX学习记录
    C#去除字符串空格的几种方法【转载】
    C# 中2,10,16进制及其ASCII码之间转化
    vc++下char数组赋值乱码问题
    c#关机时自动退出程序
    Android入门前言(一)之Android应用开发入门五问 (转自:http://blog.csdn.net/android_tutor/)
  • 原文地址:https://www.cnblogs.com/sdadx/p/6589562.html
Copyright © 2011-2022 走看看