kafka常用命令的使用

  • 启动kafka

    bin/kafka-server-start.sh  config/server.properties
    使用afka-server-start脚本,指定配置文件启动
    
  • 主题管理

    //使用help,可以看到关于主题操作相关所有命令说明
    ./kafka-topics.sh --help
    //创建topic(--partitions表示分区数量,--replication-factor 表示副本数量包括leader)
    ./bin/kafka-topics.sh --zookeeper localhost:2181  --create --topic  topic-a --partitions 2     
    --replication-factor 1
    //创建topic自己分配副本在节点中(--replica-assignment用来指定副本的分配情况,他的参数每个分区的分配情况
    //用逗号隔开,每个分区内部分配在哪个brokerId用:隔开,每个分区内第一个指的是leader的brokerId)
    ./bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic topic-create-same  
    --replica-assignment 0:1,0:1,0:1,0:1
    //查看目前kafka节点中有哪些topic(--zookeeper指明地址,kafka的元数据都存在zookeeper中)
    ./bin/kafka-topics.sh --zookeeper localhost:2181   --list
    //查看某个topic的详情(--topic指定topic的名称)
    ./bin/kafka-topics.sh --zookeeper localhost:2181  --topic topic-demo  --describe
    //修改topic的一些配置,比如分区数量(--alter表示修改的动作,--partitions指定新的分区数)
    ./bin/kafka-topics.sh --zookeeper localhost:2181  --alter --topic  topic-demo --partitions 3
    
  • 优先副本选举

    //手动启动优先副本选举算法,让分区达到均衡负载,会扫描所有的topic
    ./bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181
    //手动启动优先副本选举算法,让分区达到均衡负载,对指定的topic的指定分区(--path-to-json-file指定)
    ./bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181 
    --path-to-json-file kafka-preferred-replica-election.json
    //kafka-preferred-replica-election.json
    {
        "partitions":[
                {
                        "partition":1,
                        "topic":"topic-create"
                }
        ]
    }
    //如果auto.leader. rebalance.enable=true,其实kafka会自动均衡负载进行leader调整
    
  • 分区重分配

    //生成重分配方案 (--topics-to-move-json-file指定 哪些topic需要重新分配,
    // --broker-list 指定需要重新分配的topic的副本分布在的节点列表)
    bin/kafka-reassign-partitions.sh --zookeeper localhost:2181/kafka --generate 
    --topics-to-move-json-file reassign.json --broker-list 0,2
    //reassign.json
    {
        "topics":[
                {
                        "topic":"topic-reassign"
                }
        ],
        "version":1
    }
    //将生成的方案保存为project.json,无论是增加副本还是减少副本,可以通过修改这个文件来操作
    //执行重新分配方案(--reassignment-json-file 指定执行的方案,是方案生成的一个json串)
    bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --execute 
    --reassignment-json-file project.json
    
    //project.json
    {
      "version": 1,
      "partitions": [
        {
          "topic": "topic-ff",
          "partition": 1,
          "replicas": [
            1,0  //增加减少副本需要修改
          ],
          "log_dirs": [
            "any","any" //增加减少副本需要修改
          ]
        },
        {
          "topic": "topic-ff",
          "partition": 0,
          "replicas": [
            0,1 //增加减少副本需要修改
          ],
          "log_dirs": [
            "any","any" //增加减少副本需要修改
          ]
        }
      ]
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值