一 集群准备
192.168.0.110——master
192.168.0.111——slave1
192.168.0.112——slave2
二 下载并完成安装
1 下载地址
2 解压
[root@master opt]# tar -xvf kafka_2.10-0.8.2.1.tgz
三 编辑config/server.properties 文件
master:
broker.id=0 port=9092 host.name=master zookeeper.contact=master:2181,slave1:2181,slave2:2181 log.dirs=/opt/kafka_2.10-0.8.2.1/kafka-logs
slave1:
broker.id=1 port=9092 host.name=slave1 zookeeper.contact=master:2181,slave1:2181,slave2:2181 log.dirs=/opt/kafka_2.10-0.8.2.1/kafka-logs
slave2:
broker.id=2 port=9092 host.name=slave2 zookeeper.contact=master:2181,slave1:2181,slave2:2181 log.dirs=/opt/kafka_2.10-0.8.2.1/kafka-logs
这些配置项解释如下:
broker.id:Kafka broker 的唯一标识,集群中不能重复。
port: Broker 的监听端口,用于监听 Producer 或者 Consumer 的连接。
host.name:当前 Broker 服务器的 IP 地址或者机器名。
zookeeper.contact:Broker 作为 zookeeper 的 client,可以连接的 zookeeper 的地址信息。
log.dirs:日志保存目录。
四 编辑 config/producer.properties 文件
添加或者修改以下配置:
broker.list=master:9092,slave1:9092,slave2:9092 producer.type=async
这些配置项解释如下:
broker.list:集群中 Broker 地址列表。
producer.type: Producer 类型,async 异步生产者,sync 同步生产者。
五 编辑 config/consumer.properties 文件
zookeeper.contact=master:2181,slave1:2181,slave2:2181
配置项解释如下:
zookeeper.contact: Consumer 可以连接的 zookeeper 服务器地址列表。
六 分发安装文件到其他集群,并修改配置文件server.properties相应的项。
scp -r /opt/kafka_2.10-0.8.2.1 root@slave1:/opt scp -r /opt/kafka_2.10-0.8.2.1 root@slave2:/opt
修改其他集群的broker.id和host.name
七 配置环境变量
[root@master config]# vi /etc/profile export KAFKA_HOME=/opt/kafka_2.10-0.8.2.1 export PATH=$PATH:$KAFKA_HOME/bin
八 启动Kafka
启动Kafka集群前,先要启动zk
kafka-server-start.sh /opt/kafka_2.10-0.8.2.1/config/server.properties &
master进程:
[root@master ~]# jps 4480 QuorumPeerMain 5874 Jps 5773 Kafka
slave1进程:
[root@slave1 ~]# jps 3488 Jps 2371 QuorumPeerMain 3395 Kafka
slave2进程:
[root@slave2 ~]# jps 2596 Jps 2409 QuorumPeerMain 2508 Kafka
九 创建消息主题
[root@master ~]# kafka-topics.sh --create --replication-factor 3 --partition 3 --topic user-behavior-topic --zookeeper 192.168.0.110:2181 Created topic "user-behavior-topic".
十 启动 Console Producer
[root@slave1 ~]# kafka-console-producer.sh --broker-list 192.168.0.110:9092 --topic user-behavior-topic [2018-01-21 13:27:48,566] WARN Property topic is not valid (kafka.utils.VerifiableProperties)
十一 启动 Console Consumer
[root@slave2 ~]# kafka-console-consumer.sh --zookeeper 192.168.0.110:2181 --topic user-behavior-topic --from-beginning
十二 验证
在producer console输入一条消息

十三 在Console Consumer产生如下结果
