基于kettle部署图形化界面(spoon)

最近使用kettle部署windows,mac、linux服务遇到的坑做一个总结。

1、mac、linux部署:

1⃣️拉取docker镜像

docker pull hiromuhota/webspoon

2⃣️创建并运行docker容器

docker run -d -p 8080:8080 hiromuhota/webspoon --name webspoon --restart=always
#-d 后台映射
#8080:8080 服务器实际端口:映射的容器端口
#hiromuhota/webspoon 要运行的镜像名称
#--name webspoon 容器名设定为webspoon
#--restart=always 容器设定为随docker重启而自动重启
#记得打开服务器的端口防火墙

 3⃣️运行服务: http://localhost:8080/spoon/spoon

4⃣️ 汉化版本:

docker ps

# f4bb1f5f06e4 为容器id

docker exec -it -u 0 f4bb1f5f06e4 /bin/bash

cd bin/


#安装vim
#编辑这个文件 发现 vi: command not found
root@f4bb1f5f06e4:/usr/local/tomcat/bin# vi setenv.sh
bash: vi: command not found
root@f4bb1f5f06e4:/usr/local/tomcat/bin# 

# 清空/etc/apt/sources.list文件
#执行一下命令1
 echo > /etc/apt/sources.list

#执行一下命令2
echo -e "deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib \ndeb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib \ndeb http://mirrors.aliyun.com/debian-security stretch/updates main \ndeb-src http://mirrors.aliyun.com/debian-security stretch/updates main \ndeb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib \ndeb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib \ndeb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib \ndeb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib" > /etc/apt/sources.list

#执行一下命令3
#更新软件列表 这个过程可能会有点慢 耐心等待
apt-get update

#执行一下命令4
apt-get install -y libtinfo5 --allow-remove-essential

#执行一下命令5
apt-get install -y vim


#再次编辑setenv.sh
cd /usr/local/tomcat/bin
vim setenv.sh

#在文件末尾追加配置
CATALINA_OPTS="-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
JAVA_OPTS="-Duser.language=zh -Duser.region=CN -Dfile.encoding=UTF-8"

# 查看容器
docker ps

# 重启容器
docker restart f4bb1f5f06e4

 5⃣️启动成功(如果连接数据报数据库连接异常)

docker cp mysql-connector-java-5.1.49.jar webspoon:/usr/local/tomcat/webapps/spoon/WEB-INF/lib
#将MySQL驱动复制到容器webspoon的/usr/local/tomcat/webapps/spoon/WEB-INF/lib路径下面

docker restart webspoon
#重启以生效,并在浏览器进行数据库连接测试

5⃣️启动成功(如果连接数据报数据库连接异常)

 6⃣️kettle资源配置说明

1、导入 mysql数据库文件https://toscode.mulanos.cn/uxue/dataCollection/blob/master/doc/sql/kettle-rep-mysql.sql
2、系统中配置导入上面脚本的资源库连接信息。
默认资源库账号密码均为admin

在此遇到的问题做一下总结:

大部分都会遇到下面的问题:

问题一:

 原因:查看/usr/local/tomcat/webapps/spoon/WEB-INF/lib下mysql驱动jar在第五步是否遗忘,以及jar的版本号,换了好几次版本号mysql8驱动换com.mysql.cj.jdbc.Driver,原生的jar支持5.1.49之前的版本,所以在此我们选择8版本的

 

问题二:如果jar放进去了试着连接kettle还是存在上述问题

 

关注一下自定义连接URL是不是用的localhost换成ip,博主自己陷进去了一段时间,因为docker不认localhost,外部navicat都能连接,所以关注点刚开始没在这上边

 还有网上的解决方案:仅供参考

1⃣️MYSQL驱动问题:MySQL :: Download MySQL Connector/J (Archived Versions)

2⃣️MY SQL 未设置时区导致:解决办法是登录mysql 修改时区为东八区:

mysql> set global max_allowed_packet=1024*1024;
 
mysql> set global time_zone='+8:00';
 
mysql>flush privileges

或者

default-time-zone='+8:00'

3⃣️自定义连接mysql8

jdbc:mysql://127.0.0.1:3306/kettle?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false

com.mysql.cj.jdbc.Driver

 

windows部署:
 

        在此不在过多叙述

        

1、下载webSpoon安装包。

    https://pan.baidu.com/s/1z76Zj7a__2b8_DEzA3_deQ 提取码  fs3s
2、下载tomcat8。
3、将webSpoon安装包解压到tomcat的webapps目录。
4、将kettle客户端的plugins,system两个目录复制到bin目录。
5、启动tomcat即可。

TIPS:关注一下本地.kettle文件,responsitory.xml,以及要删除的几个文件    

 

        以及出现的一些问题:都在这篇文章中得到解决:https://toscode.mulanos.cn/uxue/dataCollection/blob/master/doc/QA.md#oracleicon-default.png?t=N2N8https://toscode.mulanos.cn/uxue/dataCollection/blob/master/doc/QA.md#oracle        

 感谢小伙伴的百忙之中点赞和关注,还有遇到的问题没有解决,可以@我,我会在第一时间给大家解决

参考资料:
        dataCollection与spoon详细docker部署流程

        dataCollection: dataCollection项目在kettle基础开发的可视化任务调度系统,提供简单易用的操作界面,降低用户使用crontab调度的学习成本,缩短任务配置时间,避免配置过程中出错。 - 木兰确实

kettle管理工具专门为kettle这款优秀的ETL工具开发的web端管理工具。项目简介kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。本系统当前支持oracle和mysql项目功能job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。定时设置,操作界面kettle中的开始控件界面一致,这个可能是最优用的功能之一。作业的运行与停止,核心功能就不说了。实时查看作业运行日志,最大显示行数可以配置,这个功能看起来不起眼,实际应该是很有用的。后台有一个作业专门完成将运行的作业日志写入日志文件,文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。本系统是基于数据库资源库设计的,暂时不考虑支持文件资源库。本系统还附带了一个kettle插件,类似kettle已有的自定义类控件(可以在转换中写java代码)。该控件的设计时为了避免每一个需求都去开发一个kettle控件,从后台元数据管理到操作界面设计。该控件采用灵活的JSON传递参数,然后继承一个基类就可以完成一个任务了,就是说基于该控件,只需要开发一个具体的操作类就可以了。有兴趣可以看一下,详细介绍参看:http://www.cnblogs.com/majinju/p/5767046.html。界面截图主界面定时设置界面参数设置界面运行日志查看界面平台级日志,支持查询下载项目介绍主页:kettle-manager主页 标签:Kettle  ETL工具框架
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

查老师并不渣

感谢各位小爷赏饭吃!!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值