kettle是一个免费开源的、可视化的、功能强大的ETL工具。一般为了部署方便,通常都部署在docker容器中,那么如何远程访问kettle的图形界面呢?
我们通常有两种方式:
1)客户端方式,即通过VNC(虚拟网络控制台);
2)浏览器方式,即通过noVNC。
假设你已经使用docker方式部署了kettle,如:docker-compose-kettle.yml
version: '2.1'
services:
kettle:
image: registry.cn-qingdao.aliyuncs.com/dataease/kettle:v8.3-0318
container_name: kettle
ports:
- 5901:5901
environment:
- PENTAHO_DI_JAVA_OPTIONS=-Xms1024m -Xmx4096m -XX:MaxPermSize=256m -Dfile.encoding=utf-8
volumes:
- ${DE_BASE}/dataease/conf/:/opt/dataease/conf
- ${DE_BASE}/dataease/data/kettle:/opt/dataease/data/kettle
networks:
- dataease-network
restart: always
增加暴露5901端口,重启启动容器,此时5901上还没有服务。
宿主机器执行:
docker exec -it kettle bash
进入kettle容器,
安装tightvncserver,并设置用户为wxl,启动nvcserver服务,此时服务在5901上启动,并设置登录8位以上密码。
说明:默认端口为5900,:1表示+1,即5901。
apt-get update
apt-get install tightvncserver
USER=wxl vncserver :1
因为kettle容器默认是没有图形支持的。我们安装xfce4,大概822M。
apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
注意修改~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
启动vncserver失败时,要先删除掉/tmp/.X1-lock、/tmp/.X11-unix/,然后再次重启。
rm -rf /tmp/.X1-lock
rm -rf /tmp/.X11-unix/
USER=wxl vncserver :1
这样,我们就可以通过远程工作机器上的vncViewer客户端访问了。如:
浏览器访问方式,需要在宿主机器上安装noVNC
gitclone https://github.com/novnc/noVNC
cd noVNC
./utils/novnc_proxy --vnc localhost:5901
在浏览器中访问:http://localhost:6080/vnc_lite.html 输入上面设置登录密码可以访问了。
启动spoon.sh图形界面。
启动后的效果:
其它:考虑到默认是国外源,建议修改为国内源,提高update的速度。
通常vi命令不支持,可以在更新国内源之前,先安装vim,用来编辑源/etc/apt/source.list
apt-get install vim
ubuntu 20.04国内源-阿里云:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse