Kettle Carte命令行是没有关闭的服务的命令的。一般,情况下,直接kill掉pid就是了。但是kettle开启的进程好多个,如果一个个kill,一方面比较麻烦,另外可能kill掉一个pid之后,一看,又自动开启了。
命令行关闭Carte
命令行下,是可以通过以下命令直接kill掉所有kettle的进程的
ps -aux | grep kettle | awk '{print$2}'| xargs kill -9
通过web UI关闭Carte
Carte是可以通过Web UI关闭的。直接在浏览器中输入如下:
ip:[port]/kettle/stopCarte
等待一两秒,就可以关闭Carte了。
注意,Carte集群,是在每一个机子上都开启了Carte服务的。所以需要在对所有的服务器都通过以上URL关闭Carte服务。一般顺序是先关闭从机(习惯性,因为集群环境下为了防止主服务器先关闭了服务之后,从机的上的服务退出的不完全,至于Kettle里影响与否,我也没试过)。
外网无法访问下的Carte关闭
这是我这次关闭Carte的实际情况。 因为服务器被攻击,出于安全考虑,将从机的外网IP禁止了,需要紧急排查从机安全隐患。这个时候,外网无法访问,自然也没法通过Web UI来操作了。不过,习惯了用Web Ui关闭Carte,强迫症上来了,就通过curl命令实现了。
curl -u <username> ip:[port]/kettle/stopCarte
虽然有点多此一举,直接ssh到从机上一个个kill掉进程也是一样的效果。但是,终究是多一个方法不是嘛。