zoukankan      html  css  js  c++  java
  • 【kafka】常用命令行

    Kafka配置

    config

    集群每台机器需要配置server.properties

    broker.ID必须唯一,每台设置一个

    # 集群唯一,每一台机器拥有一个broker.ID
    broker.id=0
    # log日志记录位置
    log.dirs=/home/whr/wokrbench/kafka/logs
    # 数据存储的时间--7天,超时清除
    log.retention.hours=168
    # 存储容量1G.满则清除
    log.segment.bytes=1073741824
    # zookeeper的集群ip和端口
    zookeeper.connect=master:2181,slave1:2181,slave2:2181
    

    bin

    # 启动关闭(需要写脚本,集群启动):
    kafka-server-start.sh
    kafka-server-stop.sh
    # 有关于topic的操作命令
    kafka-topics.sh
    # 测试用:生产者、消费者
    kafka-console-consumer.sh
    kafka-console-producer.sh
    

    启停

    (下面操作,都已配置环境变量)

    1. 先启动zookeeper

      $ zkServer.sh status	# 查看zookeeper状态
      JMX enabled by default
      Using config: /home/whr/workbench/zookeeper/bin/../conf/zoo.cfg
      Mode: follower
      
    2. 启动kafka

      # 后台启动,需要配置参数
      # 不加-daemon,会是一个阻塞进程,可以方便看日志
      $ kafka-server-start.sh -daemon config/server.properties
      
    3. 关闭kafka

      $ kafka-server-stop.sh config/server.properties
      

    topic

    创建一个topic

    topic的分区会被创建在当前主机,每个分区的副本会分配到集群的其他机器;

    比如下面例子:

    • 在master上创建了两个分区:first-0、first-1
    • 在slave1上会存放分区之一的一个副本:first-0
    • 在slave2上会存放分区之一的一个副本:first-1
    # -create创建
    # --zookeeper master:2181;信息写入zookeeper(新版:--bootstrap-server)
    # --partitions 2;partition数量
    # --replication-factor 2;副本数,根据集群数量来定,不能超过集群数
    # --topic first;topic的名字
    $ kafka-topics.sh --create --zookeeper master:2181 --partitions 2 --replication-factor 2 --topic first
    Created topic "first".
    

    查看topic

    # 查看所有topic
    $ kafka-topics.sh --list --zookeeper master:2181
    first
    # 查看某一个topic详细信息
    $ kafka-topics.sh --zookeeper master:2181 --describe --topic first
    Topic:first	PartitionCount:2	ReplicationFactor:2	Configs:
    	Topic: first	Partition: 0	Leader: 2	Replicas: 2,1	Isr: 2,1
    	Topic: first	Partition: 1	Leader: 0	Replicas: 0,2	Isr: 0,2
    

    查看分区offset

    $ kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test
    test:0:16
    test:1:18
    

    删除topic

    并不能真正删除,会被标记为删除

    $ kafka-topics.sh --delete --zookeeper master:2181 --topic first
    Topic first is marked for deletion.
    

    若想真正删除:

    # 启动zookeeper客户端
    $ zkCli.sh
    # 找到目录
    ls /brokers/topics
    # 删除
    rmr /brokers/topics/first
    

    生产消费

    1. 创建producer

      $ kafka-console-producer.sh --broker-list master:9092 --topic first
      >hello	# 发送消息
      
    2. 创建consumer

      连接的是zookeeper

      $ kafka-console-consumer.sh --bootstrap-server master:9092 --topic first --from-beginning
      hello	# 收到消息
      
  • 相关阅读:
    easyui combobox 实现联动
    smartWizard 和 uploadify 插件
    easyui panel href 引用页面导致的命名冲突问题
    Installshield 多语言安装包 和 安装序列号验证,及如何解决 Failed to set code page for Language 46 问题
    easyui 之tab和portal 在IE9下使用iframe时报未定义错误的解决方法
    easyui datagrid 动态列和前端分页,以及加载Datatable
    easyui 动态创建模式对话框
    移动硬盘一个分区“数据循环冗余错误”要求格式化解决方法
    easyui 开发中的通用类库
    easyui datagrid 工具栏实现方式
  • 原文地址:https://www.cnblogs.com/mussessein/p/12186629.html
Copyright © 2011-2022 走看看