Kafka的启动与关闭

2022-08-13  本文已影响0人  笔头还没烂

Kafka安装完后,默认kafka的bin目录下会有kafka-server-start.sh与kafka-server-stop.sh两个脚本。
若要运行单台机器上的kafka,运行kafka-server-start.sh脚本同时跟上kafka的配置文件,即可启动kafka。命令如下:

kafka-server-start.sh /export/server/kafka_2.12-2.4.1/config/server.properties  >> /dev/null 2>&1 &

你会发现,配置文件后面还跟上了重定向的命令,它的意义是:
(1)最后一个&符号的作用:让一个命令在后台运行,一般在命令的末尾加& 符号
(2)/dev/null 可以理解为黑洞,任何东西重定向到该目录都会消失
(3)>> /dev/null 常规正常的日志如info日志被重定向“黑洞”之后是不显示了,但是warning、error级别的信息该命令会不生效,即警告和错误的日志依然会显示。所以需要再加上 2>&1,即错误级别的日志也重定向到正常级别的日志。即所有的日志都放到“黑洞”里都不显示了。
小结:如果单纯运行start.sh脚本加配置文件的命令,前端会有很多日志显示出来。为了解决这个问题,我们加上重定向的命令,使错误的日志和正常的日志均不显示。

同理,若要关闭单台机器上的kafka,运行kafka-server-stop.sh即可关闭kafka。

法宝:我们发现,运行单台机器上的kafka命令比较复杂,而且我们用kafka,一般不会只在一台机器上运行。此时我们可以封装一个脚本,同时启动几台机器上的kafka,启动kafka的脚本代码如下:

#!/bin/bash

KAFKA_HOME=/export/server/kafka_2.12-2.4.1

for num in {1..3}
do
        host=node${num}
        echo ${host}
        /usr/bin/ssh ${host} "cd ${KAFKA_HOME};source /etc/profile;export JMX_PORT=9
988;${KAFKA_HOME}/bin/kafka-server-start.sh ${KAFKA_HOME}/config/server.properties  
>>/dev/null 2>&1 &"
        echo "${host} started"
done

同理,我们也可以封装一个脚本,同时关闭几台机器上的kafka,关闭kafka的脚本代码如下:

#!/bin/bash
KAFKA_HOME=/export/server/kafka_2.12-2.4.1

for num in {1..3}
do
        host=node${num}
        echo ${host}
        /usr/bin/ssh ${host} "cd ${KAFKA_HOME};source /etc/profile;${KAFKA_HOME}/bin
/kafka-server-stop.sh"
        echo "${host} stoped"
done

ps:上面的脚本是分别在node1、node2、node3上面启动和关闭 kafka,如果你的kafka集群对应的主机名不是node1、node2和node3,则需要修改对应的主机名。

上一篇 下一篇

猜你喜欢

热点阅读