Kafka 0.10 常用运维命令

栏目: 后端 · 发布时间: 7年前

内容简介:Kafka是由LinkedIn开发的一个分布式的消息系统,它以可水平扩展和高吞吐率而被广泛使用,现在已经是Apache的项目。Kafka系统自带了丰富的运维管理工具,都是基于命令行的,本文主要介绍一些常用的命令。读者需要对Kafka已经有入门级的了解。

Kafka是由LinkedIn开发的一个分布式的消息系统,它以可水平扩展和高吞吐率而被广泛使用,现在已经是Apache的项目。

Kafka系统自带了丰富的运维管理工具,都是基于命令行的,本文主要介绍一些常用的命令。

读者需要对Kafka已经有入门级的了解。

常用命令

以下命令都是在Kafka的主目录下执行的。

启动Kafka

启动命令需要指定配置文件

bin/kafka-server-start.sh config/server.properties
复制代码

默认的启动方式并不是守护进程,可以添加'nohup'和'&'让进程保持在后台运行,即使断开SSH终端连接。

nohup bin/kafka-server-start.sh config/server.properties > ~/kafka-server-start.out 2>&1 &
复制代码

topic 相关

列出 topic

bin/kafka-topics.sh --list --zookeeper localhost:2181
复制代码

--zookeeper:指定zookeeper地址。

创建 topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 4 --topic test_topic
复制代码

--replication-factor:备份数,就是数据保存几份,这里设置为3,表示该topic的数据会在3个节点上各保存一份。

--partitions:分区数

topic 详情

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_topic
复制代码

删除 topic

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test_topic
复制代码

需要开启一个配置项才可以删除topic。

配置项在server.properties中: delete.topic.enable = true

ps: 有个特殊的topic叫 __consumer_offsets,是Kafka内部使用的,不允许删除的。

生产者消费者相关

生产者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
复制代码

--broker-list:kafka broker地址

消费者

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic
复制代码

分区相关

增加分区

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test_topic --partitions 4
复制代码

--partitions:指明将分区增加至多少个。 分区不能减少只能增加。

改变分区分布和副本数

bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file test_topic.json --execute
复制代码

--reassignment-json-file:指定一个分区方案文件。

分区方案文件是一个json格式的文本文件,需要自己编写。

举个例子,test_topic.json内容如下:

{
    "version": 1,
    "partitions": [
        {
            "topic": "test_topic",
            "partition": 0,
            "replicas": [1,2]
        },
        {
            "topic": "test_topic",
            "partition": 1,
            "replicas": [2,3]
        },
        {
            "topic": "test_topic",
            "partition": 2,
            "replicas": [3,1]
        },
        {
            "topic": "test_topic",
            "partition": 3,
            "replicas": [1,2]
        }
    ]
}
复制代码

解释其中一部分,剩下的自然也会明白。

"topic": "test_topic", //topic名称
"partition": 0,        //分区编号,从0开始
"replicas": [1,2]      //指定保存在哪个broker,这里是填写broker id。写两个id,意思就是有两份备份啦。
复制代码

PS:这个方法不能用来增加分区数。第一个replicas就是默认leader。

改变分区和备份数的操作并不能立即完成,而是需要一段时间,内部操作会在后台运行。 所以需要...

检查进度

bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file test_topic.json --verify
复制代码

以上。

Kafka 0.10 常用运维命令

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

我是一只IT小小鸟

我是一只IT小小鸟

胡江堂、李成、唐雅薇、秦琴、蒋宇东、刘未鹏、居振梁、刘帅、温卫斌、张弦、张凯峰、庄表伟、宋劲杉、程露、黄小明、易晓东、简朝阳、林健、高昂、徐宥、辜新星 / 电子工业出版社 / 2009 / 29.80

一群IT小小鸟—— 来自十几所院校,或男生,或女生;或科班,或半路转行。 分布在不同的公司,或外企,或国企,或民企,老板有土有洋。 有失意,有快意;有泪水,有欢笑。在失望中追求希望,在迷茫中辨别方向。 他们用自己的成长故事,告诉在校的师弟师妹们: 青春太宝贵,千万别浪费;要想不浪费,万事早准备。一起来看看 《我是一只IT小小鸟》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具