暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【docker高阶应用】kettle集群秒级构建

loulou分享 2017-10-21
3088

    前天发现kettle容器片数据损坏,所以重做下环境,同时把环境的文档分享给大家。

一、预期需求

  • Kettle环境集群化,一键管理。

  • Kettle集群编排话,master和slave节点随时切换。

  • Kettle开发内容本地化,支持自动化驱动扩展,任务随时保存。

二、Docker安装

根据操作系统,根据docker官方要求,安装docker环境。

三、原始镜像选择

docker pull wmarinho/pentaho-kettle  //2017版 5.4.0.1-130

docker pull wmarinho/postgresql:9.3

四、镜像重构

因为该镜像没有远程桌面环境支持,所以安装vnc支持kettle的桌面使用。

docker run --name postgresql -d -p 5432:5432 -d localhost:5000/postgresql:9.3

docker run --name pentaho -d -p 8181:8181 --link postgresql -e PGHOST=postgresql localhost:5000/pentaho-kettle

docker exec -u 0 -it pentaho bin/bash 

apt-get  update

apt-get install net-tools

apt-get install vnc4server   //先update否则报错E: Unable to locate package vnc4server 错误,

vnc4server  :1//记住密码 kettle   配置文件/usr/bin/vncserver

注意:安装vnc过程中,由于debit源在国外,下载很难,需要替换源。替换阿里源方式如下:

mv etc/apt/sources.list etc/apt/source.list.bak

vim etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

##测试版源

deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

# 源码

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

##测试版源

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

# Canonical 合作伙伴和附加

deb http://archive.canonical.com/ubuntu/ xenial partner

deb http://extras.ubuntu.com/ubuntu/ xenial main

Apt-get update

vnc4server  :1 /测试vncserver是否可以正常安装

docker exec -it pentaho /bin/bash

vnc4server //记住密码 kettle (root 初始化使用了5901 6001)

netstat -anp  //验证5902 6002是否打开

启动脚本调整:vncserver脚本嵌入到run.sh中,由于配置文件的锁定关系,需要每次删除锁定文件,然后再重建:2的server,详细参考run.sh,已更新服务器为最新配置。

Docker stop pentaho

Docker commit 容器ID local host:5000/kettle

Docker push localhost:5000/kettle

 


五、服务编排

   编排文件的内容比较大,在配置文件代码展示上,只展示图中,kettle-m,kettle-sq的编配内容。在编排过程中,需要参考第七章节完成集群脚本的修改和联动。具体服务编排如下:

 

 


 

六、客户端访问

    一键启动: .\compose.bat  kettle-cluster up -d

安装vnc viewer客户端,并访问地址local host:5902(vnc4server :2的端口),并使用密码kettle登录。

连接成功后,执行. /opt/pentaho/data-integration/spoon.sh,然后开始使用kettle的旅程吧!

 


 

七、Cluster脚本

Master脚本

  图示部分都是自定义扩展部分,用于固话vncserver配置信息,以及持久化第三方包引入kettle容器。

 

Salve脚本

  图示部分都是自定义扩展部分,用于固话vncserver配置信息,以及持久化第三方包引入kettle容器。特别需要注意的是红色为slave通过环境变量(编排脚本中,参考第四部分)切换的附属master配置。

 



文章转载自loulou分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论