一.用brew命令装了kafka,启动
brew提供了一键启动的方式(kafka中自带zookeeper)
只启动kafka会报错,必须先启动zookeeper
zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties & kafka-server-start /usr/local/etc/kafka/server.properties
启动之后,关于topic的几个命令都可以正常执行
kafka-topics --zookeeper localhost:2181 --list
kafka-topics --zookeeper localhost:2181 --create --topic rcv --partitions 16 --replication-factor 1
kafka-topics --zookeeper localhost:2181 --describe --topic rcv
但是启动生产者和消费者进程时开始报错
kafka-console-producer –broker-list localhost:9092 –topic rcv
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
报错信息如下
kafka连接生产者(消费者其实也一样的问题)出现了下面这个报错:(
WARN [Producer clientId=console-producer] Connection to node -1 could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
后来到网上找到解决策略:找到配置文件
在配置plaintext的时候,地址配置的是master(master是我在/etc/hosts文件里面配置的127.0.0.1),而我连接的时候,使用的是:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
改为:
bin/kafka-console-producer.sh --broker-list master:9092 --topic test
perfect,完美的解决了(生产者也一样)
另外还有另外一个问题困扰了好一会,第一次启动消费者进程我用的命令是
kafka-console-consumer --zookeeper localhost:2181 --from-beginning --topic rcv
# 报错 zookeeper is not a recognized option
后来找到一篇博客说在最新的版本中,这种启动方式已经被删除了,0.90版本之后启动消费者的方法
kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
其中bootstrap-server就是kafka的broker节点
二.如何停止kafka进程?
1)zookeeper-server-stop /usr/local/etc/kafka/zookeeper.properties & kafka-server-stop /usr/local/etc/kafka/server.properties
2)官网上说Ctrl-C.(如果是后台启动方式则无效)
三.如何后台启动kafka?
进入kafka目录下的bin目录
nohup ./zookeeper-server-start.sh ../config/zookeeper.properties &
nohup ./kafka-server-start.sh ../config/server.properties &
四.如何查看kafka进程?
开个终端,可以看到有4个进程(分别为zk、kafka、控制台消费者、控制台生产者)
[root@aa bin]# jps | grep -v Jps
9802 QuorumPeerMain
10392 Kafka
10956 ConsoleConsumer
10887 ConsoleProducer