- 今天在Linux环境按照kafka的时候,启动成功了,一直处于启动状态,没法继续下面的操作,就把Ctrl+C掉了。再次启动的时候,就报端口占用的问题了。
原因:因为这种方式为窗口运行方法,此种方式一旦窗口关闭或者执行了CTR+C,那么kafka进程就被你kill掉了,kafka服务端就被你关闭了。但是kafka很多关联的进程没有关掉,属于非正常关闭,所有才有后续的端口号的占用的问题。
1.一般情况下,正常关闭,避免关联的进程没有关闭而引起进程占用问题。
2.才有让一个程序一直在后台运行,而避免上面的窗口运行方法,一旦窗口关闭或者执行了CTR+C,那么kafka进程就被你kill掉了的问题
- kafka的后台运行命令:
nohup ./zkServer.sh start >> /logs/zookeeper.file 2>&1 &
- 后台启动zookeeper:
nohup ~/kafka/bin/zookeeperserver.sh ~/kafka/config/zookeeper.properties >> ~/kafka/logs/zookeeper.flie 2>&1 &
目录为:
参数说明:
nohup
your_command > /dev/null 2>&1 &
1)、nohup:表示所属终端关闭后,进程不会死掉;
2)、> /dev/null :标准输出重定向到 /dev/null (a dummy device that does not record any output).
3)、2>&1 :标准出错重定向到标准输出,也到/dev/null
4)、最后的& :后台任务