参考:https://www.jianshu.com/p/1f6387d18989
kafka的安装
brew install kafka
安装会依赖zookeeper。 注意:安装目录:/usr/local/Cellar/kafka/0.10.2.0
安装的配置文件位置
/usr/local/etc/kafka/server.properties
/usr/local/etc/kafka/zookeeper.properties
启动zookeeper
zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties &
启动kafka
kafka-server-start /usr/local/etc/kafka/server.properties &
创建topic 让我们使用单个分区和只有一个副本创建一个名为“test”的主题
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
删除topic
kafka-topics --delete --zookeeper localhost:2181 --topic webaccess
查看创建的topic 我们现在可以看到该主题,如果我们运行list topic命令:
kafka-topics --list --zookeeper localhost:2181
发送一些消息 Kafka提供了一个命令行客户端,它将从文件或标准输入接收输入,并将其作为消息发送到Kafka集群。默认情况下,每行都将作为单独的消息发送。 运行生产者,然后在控制台中键入一些消息发送到服务器。
kafka-console-producer.sh --broker-list localhost:9092 --topic test
消费消息 Kafka还有一个命令行消费者,将消息转储到标准输出。
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
如果出现错误:
异常一: Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for topic1-0: 30025 ms has passed since batch creation plus linger time
--出现此异常的原因在于listeners未配置
在kafka/config目录下的server.properties配置
advertised.listeners=PLAINTEXT://192.168.11.63:9092
# 或
listeners=PLAINTEXT://192.168.11.63:9092
(此处的ip地址需与kafka所在主机的hostname保持一致)