1. 主要配置 config
/server
.properties
(1) broker.id=0 # 集群中,每个 kafka 实例的值都不一样
(2) log.dirs=/tmp/kafka-logs #日志文件的位置
(3) zookeeper.connect=bigdata3:2181,bigdata4:2181,bigdata5:2181 # zookeeper 集群的配置
如果不使用集群,则可以用不配置 zookeeper.connect 这一项,此时需要先运行下面的命令,启动一个本地的 zookeeper:
bin
/zookeeper-server-start
.sh config
/zookeeper
.properties
2. 启动 kafka : bin
/kafka-server-start
.sh config
/server
.properties
3. 创建一个 topic: bin
/kafka-topics
.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic
test
此命令为 test 这个 topic 创建了一个分区,副本数为 1,这种情况下,所有 topic 的数据都会存在一个分区上,且只有一份。在 kafka 集群模式下,应该增加 partitions 和 replication-factor 的值。
zookeeper 为集群模式时, --zookeeper 的值应该是上面 1 中配置的值,如果只写一个 zookeeper 的地址,只要那个 zookeeper 没有死掉,仍然是可以正确运行的。下面命令中的此值做同样处理。
4. 查看有哪些 topic: bin
/kafka-topics
.sh --list --zookeeper localhost:2181
5. 启动一个生产者,可以往kafka 中发送消息: bin
/kafka-console-producer
.sh --broker-list localhost:9092 --topic
test
6. 启动一个消费者,消费kafka 中的消息: bin
/kafka-console-consumer
.sh --bootstrap-server localhost:9092 --topic
test
--from-beginning
7. 查看哪个topic 的详细信息: bin
/kafka-topics
.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
8. kafka 集群。只要在另外一台电脑上,把 config
/server
.properties
中的 broker.id 配置成不同的值,然后启动 kafka 就可以了。