问题:项目中用到kafka作为消息中间件,因为现在是开发阶段,试了一次没问题之后就没在管,今天又要测试kafka相关功能,发现消息发送者能够正常发送消息,但是消费者怎么也就收不到数据。然后经过各种百度进行了如下的一系列操作,终于可用了
1.首先停止kafka
进入到kafka的bin目录下,停止kafka:
./kafka-server-stop.sh …/config/server.properties
2. 查看server.properties命令,看logdir的目录,换个目录或者删除目录中的数据
vi server.properties
3. 停止zookeer,进入到zookeeper 的bin目录下,执行:
./zkServer.sh stop
4. 同理查看zookeeper配置文件,修改dataDir的路径或者删除目录中的数据
vi zoo.cfg(conf目录下的)
5. 重启zookeeper,进入到zookeeper 的bin目录下,执行:
./zkServer.sh start
6. 重启kafka,进入到kafka的bin目录下,执行:
./kafka-server-start.sh …/config/server.properties
查看kafka启动是否有错误,如果没有错误,以后台方式执行
./kafka-server-start.sh -daemon …/config/server.properties
记录几个常用命令
创建主题:./kafka-topics --zookeeper.sh localhost:2181 --create --topic test123 --partitions 2 --replication-factor 1
查看主题:./kafka-topics --zookeeper.sh localhost:2181 --list
发送消息:./kafka-console-producer.sh --broker-list localhost:9092 --topic test123
消费消息:./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test123 --from-beginning
查看消息消费:./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group groupname --describe
虽然问题解决了,但是kafka内部原理根本不了解,在这立个flag,学习kafka!