美文网首页我爱编程
Kafka部署及使用

Kafka部署及使用

作者: Sx_Ren | 来源:发表于2018-03-11 15:19 被阅读0次

    kafka四个核心概念:producer、consumer、broker、topic

    • 启动zk

      下载zk zookeeper-3.4.5-cdh5.7.0.tar.gz
      解压:tar -zxvf zookeeper-3.4.5-cdh5.7.0.tar.gz -C /home/hadoop/app
      修改zk conf/zoo.cfg文件:
      dataDir=/home/hadoop/app/tmp/zk
      clientPort=2181
      启动zk ./zkServer.sh start

    • kafka单节点单broker部署及使用
    1. 下载
      下载 kafka_2.11-0.9.0.0.tgz
      解压 tar -zxvf kafka_2.11-0.9.0.0.tgz -C /home/hadoop/app
    2. 配置修改
      vim server.properties修改如下配置
      log.dirs=/home/hadoop/app/tmp/kafka-logs
      zookeeper.connect=hadoop000:2181
      host.name=hadoop000
    3. 启动kafka
      kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties &
      启动成功后jps会看到一个Kafka进程
    4. 创建topic
      创建topic:
      kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic hello_topic
      查看所有topic:
      kafka-topics.sh --list --zookeeper hadoop000:2181
    5. 发送和消费消息
      创建生产者:
      kafka-console-producer.sh --broker-list hadoop000:9092 --topic hello_topic
      创建消费者:
      kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic hello_topic
    • 单节点多broker部署及使用
    1. 配置修改
      server-1.properties:
      log.dirs=/home/hadoop/app/tmp/kafka-logs-1
      listeners=PLAINTEXT://:9093
      broker.id=1
      zookeeper.connect=hadoop000:2181
      host.name=hadoop000

      server-2.properties:
      log.dirs=/home/hadoop/app/tmp/kafka-logs-2
      listeners=PLAINTEXT://:9094
      broker.id=2
      zookeeper.connect=hadoop000:2181
      host.name=hadoop000

      server-3.properties:
      log.dirs=/home/hadoop/app/tmp/kafka-logs-3
      listeners=PLAINTEXT://:9095
      broker.id=3
      zookeeper.connect=hadoop000:2181
      host.name=hadoop000

    2. 启动
      kafka-server-start.sh -daemon $KAFKA_HOME/config/server-1.properties &
      kafka-server-start.sh -daemon $KAFKA_HOME/config/server-2.properties &
      kafka-server-start.sh -daemon $KAFKA_HOME/config/server-3.properties &
      启动成功后jps会看到3个Kafka进程

    • kafka常用命令
      • 创建topic(--zookeeper 指定zk,--replication-factor 指定副本数量,--partitions指定分片数,--topic指定topic名称):
        kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic streamingtopic
      • 查询有哪些topic(--zookeeper指定zk)
        kafka-topics.sh --list --zookeeper hadoop000:2181
      • 查询topic详细信息(--zookeeper指定zk,--topic指定topic名称)
        kafka-topics.sh --describe --zookeeper hadoop000:2181 --topic streamingtopic
      • 创建生产者(--broker-list指定broker,多个broker逗号分隔)
        kafka-console-producer.sh --broker-list hadoop000:9093,hadoop000:9094,hadoop000:9095 --topic streamingtopic
      • 创建消费者(--zookeeper指定zk,--from-beginning指定从第一条开始消费,可选)
        kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic streamingtopic --from-beginning
      • 删除topic
        kafka-topics.sh --delete --zookeeper hadoop000:2181 --topic streamingtopic
        ----这样的操作并没有彻底删除掉topic,仍然存在,仅仅是标志为delete,用户不能创建相同名称的topic。
      • 彻底删除topic:
        /kafka-topics.sh --delete --zookeeper hadoop000:2181 --topic webchatf_topic
        ----先把topic标记为已删除
        进入到zookeeper目录下
        ./bin/zkCli.sh ----进入到zk客户端
        rmr /brokers/topics/hadoop000----即可彻底删除topic

    相关文章

      网友评论

        本文标题:Kafka部署及使用

        本文链接:https://www.haomeiwen.com/subject/ogwefftx.html