kafka踩坑

问题:项目中用到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!

你可能感兴趣的:(Kafka,kafka,分布式)