最近使用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调度的学习成本,缩短任务配置时间,避免配置过程中出错。 - 木兰确实

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐