环境为zookeeper-3.4.5-cdh5.7.1安装调试完毕并启动
slave0 slave1 slave2共三台虚拟机
1)下载KAFKA
$ wget http://apache.fayea.com/apache-mirror/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz
2)配置$KAFKA_HOME/config/server.properties
slave0
$ vi $KAFKA_HOME/config/server.properties
broker.id=0
port=9092
host.name=slave0
advertised.host.name=slave0
...
num.partitions=2
...
zookeeper.contact=slave0:2181,slave1:2181,slave2:2181
slave1
$ vi $KAFKA_HOME/config/server.properties
broker.id=1
port=9092
host.name=slave1
advertised.host.name=slave1
...
num.partitions=2
...
zookeeper.contact=slave0:2181,slave1:2181,slave2:2181
slave2
$ vi $KAFKA_HOME/config/server.properties
broker.id=2
port=9092
host.name=slave2
advertised.host.name=slave2
...
num.partitions=2
...
zookeeper.contact=slave0:2181,slave1:2181,slave2:2181
保证三台机器上的zookeeper都已开启
$ kafka-server-start.sh $KAFKA_HOME/config/server.properties
5) 新建一个TOPIC(replication-factor=num of brokers)
$ kafka-topics.sh --create --topic test --replication-factor 3 --partitions 2 --zookeeper slave0:2181
6)假设我们在slave1上,开一个终端,发送消息至kafka(slave1模拟producer)
$ kafka-console-producer.sh --broker-list slave1:9092 --sync --topic test
在发送消息的终端输入:Hello Kafka
7)假设我们在slave2上,开一个终端,显示消息的消费(slave2模拟consumer)
$ kafka-console-consumer.sh --zookeeper slave0:2181 --topic test --from-beginning
在消费消息的终端显示:Hello Kafka