cd /export/software
tar -zxvf kafka_2.12-2.4.1.tgz -C ../server/
配置软连接
cd /export/server ln -s kafka_2.12-2.4.1 kafka2.修改server.properties
cd /export/server/kafka/config vim server.properties # 指定broker的id broker.id=0 #指定kafka的绑定监听的地址(域名通过cat /etc/hosts 查看) listeners=PLAINTEXT://xxx(域名):9092 #指定kafka数据的位置 log.dirs=/export/server/kafka/data # 配置zk的三个节点(分别为n1n2n3域名) zookeeper.connect=xxxn1:2181,xxxn2:2181,xxxn3:21813.将安装好的kafka复制到另外两台服务器
cd /export/server scp -r kafka_2.12-2.4.1/ n2:$PWD scp -r kafka_2.12-2.4.1/ n3:$PWD
在 n2 和 n3 分别配置 软连接
cd /export/server scp -r kafka_2.12-2.4.1/ n2:$PWD scp -r kafka_2.12-2.4.1/ n3:$PWD
修改另外两个节点的broker.id分别为1和2
---------n2.itcast.cn-------------- cd /export/server/kafka/config vim server.properties broker.id=1 listeners=PLAINTEXT://n2xxx:9092 --------n3.itcast.cn-------------- cd /export/server/kafka/config vim server.properties broker.id=2 listeners=PLAINTEXT://n3xxx:9092
4.配置KAFKA HOME环境变量
vim /etc/profile
内容如下:
#KAFKA_HOME
export KAFKA_HOME=/export/server/kafka
export PATH=:$PATH:${KAFKA_HOME}
加载环境变量
source /etc/profile
其他的两个节点也是一样的处理
5.启动服务器(前台方法与后台方法)5.1前台方法
# 启动ZooKeeper
cd /export/server/zookeeper/bin
./zkServer.sh start
对n2,n3同样操作(3台机子的zookeeper都要启动)
# 启动Kafka cd /export/server/kafka ./kafka-server-start.sh ../config/server.properties
对n2,n3同样操作(3台机子的kafka都要启动)
这个方法会占用前台页面,如要操作需要再开一个窗口,好处就是能直接看到有没报错,建议先用前台打开,如果没有报错再采用后台方法,按住ctrl c 关闭前台
5.2后台方法(同样3台虚拟机都要启动)
此处kafka 2>&1 代表如果有报错,会把报错报错信息重定向到日志里面,方便查看错误(可以不加,建议加上)
# 启动ZooKeeper nohup bin/zookeeper-server-start.sh config/zookeeper.properties & # 启动Kafka cd /export/server/kafka nohup bin/kafka-server-start.sh config/server.properties 2>&1 &
# 测试Kafka集群是否启动成功 :
使用 jps 查看各个节点 是否出现有kafka
或者通过 zookeeper查看 brokers节点目录下, 是否有三个ids
6.kafka一键启动/关闭脚本为了方便将来进行一键启动、关闭Kafka,我们可以编写一个shell脚本来操作。将来只要执行一次该脚本就可以快速启动/关闭Kafka。(新手建议多利用命令进行开关,熟练后可以通过脚本一键开启关闭)
6.1.在节点1中创建 /export/onekey 目录cd /export/onekey6.2.准备slave配置文件,用于保存要启动哪几个节点上的kafka(n1,n2.n3域名)
n1.cn n2.cn n3.cn6.3.编写start-kafka.sh脚本
vim start-kafka.sh
cat /export/onekey/slave | while read line
do
{
echo $line
ssh $line "source /etc/profile;export JMX_PORT=9988;nohup ${KAFKA_HOME}/bin/kafka-server-start.sh ${KAFKA_HOME}/config/server.properties >/dev/nul* 2>&1 & "
}&
wait
done
6.4.编写stop-kafka.sh脚本
vim stop-kafka.sh
cat /export/onekey/slave | while read line
do
{
echo $line
ssh $line "source /etc/profile;jps |grep Kafka |cut -d' ' -f1 |xargs kill -s 9"
}&
wait
done
6.5.给start-kafka.sh、stop-kafka.sh配置执行权限
chmod u+x start-kafka.sh chmod u+x stop-kafka.sh6.6.执行一键启动、一键关闭(注意:一键启动前需要先把zookeeper启动,因为这里我没配,有能力的可以模仿这个代码把zookeeper也弄了)
./start-kafka.sh ./stop-kafka.sh



