版本定义:
- Ubuntu 18.04.3 LTS
- jdk 8
- kafka 2.12-2.4.0
安装Java SDK
apt update
apt-get install openjdk-8-jdk
安装kafka
因为新版kafka已经集成了zookeeper,所以不需要再单独安装zookeeper了。
从kafka官网下载最新压缩包:
wget http://mirror.bit.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz
tar -zxvf kafka_2.12-2.4.0.tgz
修改配置文件
cd kafka_2.12-2.4.0/
vim config/server.properties
需要修改如下代码:
broker.id=1
listeners=PLAINTEXT://your.host.name:9092
advertised.listeners=PLAINTEXT://your.host.name:9092
启动zookeeper
使用如下命令在后台启动zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
启动kafka
使用如下命令在后台启动kafka
bin/kafka-server-start.sh -daemon config/server.properties
创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
产生消息,创建消息生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费消息,创建消息消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
该脚本将继续运行,等待更多消息发布到该主题。随意打开一个新的终端并启动一个生产者发布更多的消息。您应该能够在消费者的输出中看到它们。
查看Topic消息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
设置多节点集群[可选]
在每台新计算机上重复以上步骤。
在server.properties文件中为每个更改:
- 更改broker.id的属性的值,使其在整个群集中是唯一的。此属性唯一标识集群中的每个服务器,并且可以将任何字符串作为其值。例如,"server1","server2"等。
- 更改zookeeper.connect的属性的值,以便所有节点都指向同一个ZooKeeper实例。此属性指定Zookeeper实例的地址并遵循<HOSTNAME/IP_ADDRESS>:<PORT>格式。例如,"203.0.113.0:2181"``"203.0.113.1:2181"等等。