1、将下载的kafka解压到/opt/soft目录下
tar-zxvf kafka_2.11-0.10.2.1.tgz -C/opt/soft
2、进入kafka/libs目录
cd /opt/soft/kafka_2.11-0.10.2.1/libs
3、从zookeeper中复制zookeeper-3.4.8.jar
cp /opt/soft/zookeeper-3.4.8/zookeeper-3.4.8.jar ./
4、删除zookeeper-3.4.9.jar
rm zookeeper-3.4.9.jar
5、进入config目录
cd config/
6、创建kafka-logs目录
mkdir -p /opt/soft/kafka_2.11-0.10.2.1/kafka-logs
7、编辑server.properties
vi server.properties
broker.id:每台机器依次增长的整数,1、2、3,集群中Broker的唯一id。(和安装zookeeper的id一一对应)。
如果 delete.topic.enable 参数没有设置为true ,则删除topic 时,不会在zookeeper 上同步删除。
broker.id=1
delete.topic.enable=true
log.dirs=/opt/soft/kafka_2.11-0.10.2.1/kafka-logs
zookeeper.connect=server1:2181,server2:2181,server3:2181
# 192.168.137.164为本机IP其他机器中需要自行修改。
listeners=PLAINTEXT://192.168.137.164:9092
advertised.listeners=PLAINTEXT://192.168.137.164:9092
8、scp到其他机器并按照规则更改server.properties
scp-r /opt/soft/kafka_2.11-0.10.2.1/ server2:/opt/soft
scp-r /opt/soft/kafka_2.11-0.10.2.1/ server3:/opt/soft
9、依次在每台机器上启动kafka
bin/kafka-server-start.sh config/server.properties
启动成功会打印出如下信息表示启动成功。
INFO[Kafka Server 1], started (kafka.server.KafkaServer)
启动成功后查看jps进程发现出现kafka进程。
10、检查集群
创建topic
bin/kafka-topics.sh--zookeeper server1:2181,server2:2181,server3:2181 --topic TestTopic--replication-factor 1 --partitions 1 –create
创建producer
bin/kafka-console-producer.sh--broker-list server1:9092,server2:9092,server3:9092 --topic TestTopic
创建consumer
bin/kafka-console-consumer.sh--zookeeper server1:2181,server2:2181,server3:2181 --topic TestTopic--from-beginning
在生产端输入数据在消费端能够将信息打印出来,证明安装已经完成。
Note:
启动消费端显示有警告信息Using the ConsoleConsumer withold consumer is deprecated and will be removed in a future major release.Consider using the new consumer by passing [bootstrap-server] instead of[zookeeper].
意思是提示zookeeper的方式不赞成使用,需要使用新命令。但是不影响正常工作。