尚硅谷大数据技术之Kafka.docx

kafka群起脚本

  1. #!/bin/bash
  2. case $1 in
  3. "start"){
  4. for i in hadoop102 hadoop103 hadoop104
  5. do
  6. echo "========== $i =========="
  7. ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties'
  8. done
  9. };;
  10. "stop"){
  11. for i in hadoop102 hadoop103 hadoop104
  12. do
  13. echo "========== $i =========="
  14. ssh $i '/opt/module/kafka/bin/kafka-server-stop.sh /opt/module/kafka/config/server.properties'
  15. done
  16. };;
  17. esac

常用命令

查看当前服务器中的所有 topicbin/kafka-topics.sh --zookeeper hadoop102:2181 --list
创建 topic:bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 -- topic 名字

  • 选项说明:
    • —topic 定义 topic 名
    • —replication-factor 定义副本数
    • —partitions 定义分区数

删除 topic:bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first

  • 需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除。

发送消息:bin/kafka-console-producer.sh --broker -list hadoop102:9092 --topic first
消费消息:bin/kafka-console-consumer.sh \ --zookeeper hadoop102:2181 --topic firstbin/kafka-console-consumer.sh \ --bootstrap-server hadoop102:9092 --topic firstbin/kafka-console-consumer.sh \ --bootstrap-server hadoop102:9092 --from-beginning --topic first

  • —from-beginning:会把主题中以往所有的数据都读取出来。

查看某个 Topic 的详情:bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first
修改分区数:bin/kafka-topics.sh --zookeeper hadoop102:2181 --alter --topic first --partitions 6