1.下载kafka
对应scala-2.10.x版本: kafka_2.10-0.9.0.1.tgz
对应scala-2.11.x版本: kafka_2.11-0.9.0.1.tgz
2.通过winscp将软件复制到VM的centos系统中
3.在CentOS中解压kafka到指定目录并更名
将kafka解压到/usr/local
#tar -xzvf kafka_2.11-0.9.0.1.tgz -C /usr/local/
重命名为简单的目录名kafka
#mv /usr/local/kafka_2.11-0.9.0.1/ /usr/local/kafka
4.添加kafka环境变量并生效
添加全局环境变量
#vim /etc/profile
export KAFKA_HOME=/usr/local/kafka
export PATH=:$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin
使得修改后的环境变量生效
#source /etc/profile
4.安装ZooKeeper集群并启动
本教程认为已经成功安装Zookeeper集群并成功启动。
本教程启动的ZK集群为:h2m1:2181
,h2s1:2181
,h2s2:2181
。
5.配置kafka
修改server.properties
设置broker的id,集群中每个broker的id都不能相同
broker.id=1 #集群中每个broker的id,每个节点都不能相同,类似于zookeeper的myid,必须为集群内唯一的正整数作为id
日志存储位置配置
log.dirs=/usr/local/kafka/kafka-logs
使用外部ZK集群
zookeeper.connect=h2m1:2181,h2s1:2181,h2s2:2181
6.将kafka及配置复制到其他机器组成集群
将kafka
整个目录复制到其他机器,将/etc/profile
复制到其他机器并使得环境变量生效。
scp -r ./kafka/ host:/usr/local/
scp /etc/profile host:/etc/
source /etc/profile ## 每台kafka节点机器上执行一遍
修改broker的id
broker.id=2 #修改为当前集群没使用过的整数
7.启动和停止kafka集群
集群的每个节点机器都要启动
kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
停止kafka的一个节点机器
kafka-server-stop.sh
被停止节点从kafka集群中移除
kafka集群未被停止节点重新选择leader