Pentaho Work with Big Data(八)—— kettle集群
2016-04-18 22:14
756 查看
一、简介
集群技术可以用来水平扩展转换,使它们能以并行的方式运行在多台服务器上。转换的工作可以平均分到不同的服务器上。
一个集群模式包括一个主服务器和多个子服务器,主服务器作为集群的控制器。简单地说,作为控制器的Carte服务器就是主服务器,其他的Carte服务器就是子服务器。
一个集群模式也包含元数据,元数据描述了主服务器和子服务器之间怎样传递数据。在Carte服务器之间通过TCP/IP套接字传递数据。
二、环境
4台CentOS release 6.4虚拟机,IP地址为
192.168.56.104
192.168.56.102
192.168.56.103
192.168.56.104作为主Carte。
192.168.56.102、192.168.56.103作为子Carte。
192.168.56.104、192.168.56.102、192.168.56.103分别安装Pentaho的PDI,安装目录均为/home/grid/data-integration。
PDI版本:6.0
三、配置静态集群
1. 建立子服务器
(1)打开PDI,新建一个转换。
(2)在“主对象树”标签的“转换”下,右键点击“子服务器”,新建三个子服务器。如图1所示。
图1
说明:
. master、slave1、slave2的配置分别如图2、图3、图4所示。
图2
图3
图4
. “用户名”和“密码”项在各自子服务器的/home/grid/data-integration/pwd/kettle.pwd文件中定义,如图5所示。
图5
2. 建立集群模式
在“主对象树”标签的“转换”下,右键点击“Kettle集群Schemas”,新建一个名为“cluster”集群模式。如图6所示。
图6
说明:
. cluster的配置如图7所示。
图7
. 集群模式中加入了上一步建立的一主两从Carte子服务器。
3. 编辑转换
(1)建立转换如图8所示。
图8
说明:
. 这个转换的详细配置参考/article/7619308.html中的“把数据从Hive抽取到RDBMS”。
. 右键点击“Table output”,选择弹出菜单里的“集群...”,如图9所示。
图9
. 在弹出窗口中选择上一步建立的集群模式“cluster”后,点击确定,如图10所示。
图10
此时会看到“Table output”步骤的右上角出现“Cx2”标志,如图8的红框中所示,说明此步骤在集群的两个子服务器上运行。
. “Table input”没有集群标志,说明此步骤在主服务器上运行。
4. 执行与监控
(1)在192.168.56.104上执行下面的命令启动master。
图11
(5)右键点击“cluster”,选择弹出菜单中的“Monitor all slave servers”,如图12所示。
图12
(6)转换成功执行后,会在监控标签中看到执行信息,如图13到15所示。
图13
图14
图15
从图13可以看到,“Table input”步骤在master运行,从hive表读取36616行记录,向“Table output”步骤输出36616行记录。
从图14、图15可以看到,“Table output”步骤分别在两个子服务器slave1、slave2上运行,各自读取了18308行记录,并分别向mysql表写了18308行记录。此时查看mysql表,共写入了36616行记录。如图16所示。
图16
四、配置动态集群
1. 建立子服务器,这步和配置静态集群相同。
2. 建立集群模式
在“主对象树”标签的“转换”下,右键点击“Kettle集群Schemas”,新建一个名为“cluster_dynamic”集群模式。如图17所示。
图17
说明:
. cluster_dynamic的配置如图18所示。
图18
. 与配置静态集群不同,这里只加入了master。
3. 编辑转换
(1)建立转换如图19所示。
图19
说明:
. 这个转换的详细配置参考/article/7619308.html中的“把数据从Hive抽取到RDBMS”。
. 右键点击“Table output”,选择弹出菜单里的“集群...”,如图9所示。
. 在弹出窗口中选择上一步建立的集群模式“cluster_dynamic”后,点击确定,如图20所示。
图20
此时会看到“Table output”步骤的右上角出现“CxN”标志,如图19的红框中所示,说明此步骤在集群的两个子服务器上运行。
. “Table input”没有集群标志,说明此步骤在主服务器上运行。
4. 执行与监控
(1)在192.168.56.104上编辑/home/grid/data-integration/pwd/carte-config-8181.xml文件,内容如下:
(5)在192.168.56.102上执行下面的命令启动slave1。
图21
(5)右键点击“cluster”,选择弹出菜单中的“Monitor all slave servers”,如图12所示。
(6)转换成功执行后,会在监控标签中看到执行信息,如图22到24所示。
图22
图23
图24
从图23可以看到,“Table input”步骤在master运行,从hive表读取36616行记录,向“Table output”步骤输出36616行记录。
从图23可以看到,“Table output”步骤分别在动态子服务器slave1运行,读取了18308行记录,并向mysql表写了18308行记录。
从图24可以看到,“Table output”步骤分别在动态子服务器slave2运行,读取了18308行记录,并向mysql表写了18308行记录。
此时查看mysql表,共写入了36616行记录。如图16所示。
参考:
Kettle解决方案:使用PDI构建开源ETL解决方案
集群技术可以用来水平扩展转换,使它们能以并行的方式运行在多台服务器上。转换的工作可以平均分到不同的服务器上。
一个集群模式包括一个主服务器和多个子服务器,主服务器作为集群的控制器。简单地说,作为控制器的Carte服务器就是主服务器,其他的Carte服务器就是子服务器。
一个集群模式也包含元数据,元数据描述了主服务器和子服务器之间怎样传递数据。在Carte服务器之间通过TCP/IP套接字传递数据。
二、环境
4台CentOS release 6.4虚拟机,IP地址为
192.168.56.104
192.168.56.102
192.168.56.103
192.168.56.104作为主Carte。
192.168.56.102、192.168.56.103作为子Carte。
192.168.56.104、192.168.56.102、192.168.56.103分别安装Pentaho的PDI,安装目录均为/home/grid/data-integration。
PDI版本:6.0
三、配置静态集群
1. 建立子服务器
(1)打开PDI,新建一个转换。
(2)在“主对象树”标签的“转换”下,右键点击“子服务器”,新建三个子服务器。如图1所示。
图1
说明:
. master、slave1、slave2的配置分别如图2、图3、图4所示。
图2
图3
图4
. “用户名”和“密码”项在各自子服务器的/home/grid/data-integration/pwd/kettle.pwd文件中定义,如图5所示。
图5
2. 建立集群模式
在“主对象树”标签的“转换”下,右键点击“Kettle集群Schemas”,新建一个名为“cluster”集群模式。如图6所示。
图6
说明:
. cluster的配置如图7所示。
图7
. 集群模式中加入了上一步建立的一主两从Carte子服务器。
3. 编辑转换
(1)建立转换如图8所示。
图8
说明:
. 这个转换的详细配置参考/article/7619308.html中的“把数据从Hive抽取到RDBMS”。
. 右键点击“Table output”,选择弹出菜单里的“集群...”,如图9所示。
图9
. 在弹出窗口中选择上一步建立的集群模式“cluster”后,点击确定,如图10所示。
图10
此时会看到“Table output”步骤的右上角出现“Cx2”标志,如图8的红框中所示,说明此步骤在集群的两个子服务器上运行。
. “Table input”没有集群标志,说明此步骤在主服务器上运行。
4. 执行与监控
(1)在192.168.56.104上执行下面的命令启动master。
cd /home/grid/data-integration/ ./carte.sh 192.168.56.104 8181(2)在192.168.56.102上执行下面的命令启动slave1。
cd /home/grid/data-integration/ ./carte.sh 192.168.56.102 8181(3)在192.168.56.103上执行下面的命令启动slave2。
cd /home/grid/data-integration/ ./carte.sh 192.168.56.103 8181(4)保存并执行转换,如图11所示,选择“集群方式执行”,勾选“提交转换”、“准备执行”、“开始执行”三项,然后点击“启动”执行转换。
图11
(5)右键点击“cluster”,选择弹出菜单中的“Monitor all slave servers”,如图12所示。
图12
(6)转换成功执行后,会在监控标签中看到执行信息,如图13到15所示。
图13
图14
图15
从图13可以看到,“Table input”步骤在master运行,从hive表读取36616行记录,向“Table output”步骤输出36616行记录。
从图14、图15可以看到,“Table output”步骤分别在两个子服务器slave1、slave2上运行,各自读取了18308行记录,并分别向mysql表写了18308行记录。此时查看mysql表,共写入了36616行记录。如图16所示。
图16
四、配置动态集群
1. 建立子服务器,这步和配置静态集群相同。
2. 建立集群模式
在“主对象树”标签的“转换”下,右键点击“Kettle集群Schemas”,新建一个名为“cluster_dynamic”集群模式。如图17所示。
图17
说明:
. cluster_dynamic的配置如图18所示。
图18
. 与配置静态集群不同,这里只加入了master。
3. 编辑转换
(1)建立转换如图19所示。
图19
说明:
. 这个转换的详细配置参考/article/7619308.html中的“把数据从Hive抽取到RDBMS”。
. 右键点击“Table output”,选择弹出菜单里的“集群...”,如图9所示。
. 在弹出窗口中选择上一步建立的集群模式“cluster_dynamic”后,点击确定,如图20所示。
图20
此时会看到“Table output”步骤的右上角出现“CxN”标志,如图19的红框中所示,说明此步骤在集群的两个子服务器上运行。
. “Table input”没有集群标志,说明此步骤在主服务器上运行。
4. 执行与监控
(1)在192.168.56.104上编辑/home/grid/data-integration/pwd/carte-config-8181.xml文件,内容如下:
<slave_config> <slaveserver> <name>master</name> <hostname>192.168.56.104</hostname> <port>8181</port> <username>cluster</username> <password>mypassword</password> <master>Y</master> </slaveserver> </slave_config>(2)在192.168.56.102上编辑/home/grid/data-integration/pwd/carte-config-8181.xml文件,内容如下:
<slave_config> <masters> <slaveserver> <name>master</name> <hostname>192.168.56.104</hostname> <port>8181</port> <username>cluster</username> <password>mypassword</password> <master>Y</master> </slaveserver> </masters> <report_to_masters>Y</report_to_masters> <slaveserver> <name>slave1</name> <hostname>192.168.56.102</hostname> <port>8181</port> <username>cluster</username> <password>mypassword</password> <master>N</master> </slaveserver> </slave_config>(3)在192.168.56.103上编辑/home/grid/data-integration/pwd/carte-config-8181.xml文件,内容如下:
<slave_config> <masters> <slaveserver> <name>master</name> <hostname>192.168.56.104</hostname> <port>8181</port> <username>cluster</username> <password>mypassword</password> <master>Y</master> </slaveserver> </masters> <report_to_masters>Y</report_to_masters> <slaveserver> <name>slave2</name> <hostname>192.168.56.103</hostname> <port>8181</port> <username>cluster</username> <password>mypassword</password> <master>N</master> </slaveserver> </slave_config>(4)执行下面的命令启动master。
cd /home/grid/data-integration/ ./carte.sh pwd/carte-config-8181.xmlmaster启动之后,启动slave。
(5)在192.168.56.102上执行下面的命令启动slave1。
cd /home/grid/data-integration/ ./carte.sh pwd/carte-config-8181.xml(6)在192.168.56.103上执行下面的命令启动slave2。
cd /home/grid/data-integration/ ./carte.sh pwd/carte-config-8181.xml(7)保存并执行转换,如图21所示,选择“集群方式执行”,勾选“提交转换”、“准备执行”、“开始执行”三项,然后点击“启动”执行转换。
图21
(5)右键点击“cluster”,选择弹出菜单中的“Monitor all slave servers”,如图12所示。
(6)转换成功执行后,会在监控标签中看到执行信息,如图22到24所示。
图22
图23
图24
从图23可以看到,“Table input”步骤在master运行,从hive表读取36616行记录,向“Table output”步骤输出36616行记录。
从图23可以看到,“Table output”步骤分别在动态子服务器slave1运行,读取了18308行记录,并向mysql表写了18308行记录。
从图24可以看到,“Table output”步骤分别在动态子服务器slave2运行,读取了18308行记录,并向mysql表写了18308行记录。
此时查看mysql表,共写入了36616行记录。如图16所示。
参考:
Kettle解决方案:使用PDI构建开源ETL解决方案
相关文章推荐
- 模拟链表
- 替换位置
- Coinbase在美国推出借记卡兑换比特…
- 拥有1900万客户的日本娱乐巨头DMM…
- 为什么中国防火墙会给比特币矿工造…
- 香港财长提及“区块链”背后的重大意…
- 从风险管理角度看比特币扩容决策
- 俄罗斯比特币用户世界第五 央…
- Bitwage与保险公司合作 提供…
- mysql常用指令
- G20峰会:FSB将区块链和互联网金融…
- BitFury集团宣布对BitPesa公司进行…
- 韩国证券交易所开发区块链交易体系
- IBM高管当选为区块链项目委员会主…
- 韩国证券交易所开发区块链交易体系
- IBM高管当选为区块链项目委员会主…
- 红杉资本:区块链技术或对万事达的…
- windows软件:Adobe Acrobat Ⅺ Pro激活教程
- 比特币不能颠覆世界,但它的区块链…
- IBM做了个"超级账簿":打算普及…