echo hostname1 > /etc/hostname
hostname hostname1
备注:hostname1 为主机名,最好能标识主机用途,例如:kafkaos1、kafkaos2。
修改完hostname后,将集群集群名称都加入到/etc/hosts文件中,以后登录不同机器,直接使用hostname而不用IP。
示例:
10.8.10.101 zkos1
10.8.10.102 zkos2
10.8.10.103 zkos3
10.8.10.104 zkos4
10.8.10.111 kafkaos1
10.8.10.112 kafkaos2
10.8.10.113 kafkaos3
。。。。。 hostname1
#!/bin/bash #hostname1 hostname2是需要修改host文件的 for i in hostname1 hostname2 do echo --------- $i ---------- ssh root@$i "Linux运行命令" done
先启动所有机器上的zookeeper,再启动所有机器上的kafka(后台启动)(使用了xcall脚本批量运行程序)
开启zookeeper
xcall /opt/zookeeper-3.4.10/bin/zkServer.sh start
开启kakfa
xcall /opt/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-0.11.0.0/config/server.properties
关闭zookeeper
xcall /opt/zookeeper-3.4.10/bin/zkServer.sh stop
关闭kafka
xcall /opt/kafka_2.11-0.11.0.0/bin/kafka-server-stop.sh
也可以使用脚本运行kafka
cd /usr/local/bin
创建脚本
touch kafkastart
编辑脚本(就是将批量开启关闭zookeeper和kafka命令放入其中)
#!/bin/bash for i in hostname1 hostname2 do echo --------- $i ---------- ssh root@$i "/opt/kafka_2.11-0.11.0.0/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-0.11.0.0/config/server.properties" donekafkastart
#!/bin/bash for i in hostname1 hostname2 do echo --------- $i ---------- ssh root@$i "/opt/kafka_2.11-0.11.0.0/bin/kafka-server-stop.sh" donekafkastop
#!/bin/bash for i in hostname1 hostname2 do echo --------- $i ---------- ssh root@$i "/opt/zookeeper-3.4.10/bin/zkServer.sh start" donezkstart
#!/bin/bash for i in hostname1 hostname2 do echo --------- $i ---------- ssh root@$i "/opt/zookeeper-3.4.10/bin/zkServer.sh stop" donezkstop
添加执行权限
chmod 777 kafkastart
chmod 777 kafkastop
chmod 777 zkstart
chmod 777 zkstop
运行脚本
开启kafka
kafkastart
关闭kafka
kafkastop
开启zookeeper
zkstart
关闭zookeeper
zkstop