文档章节

kafka常用命令

MrYx3en
 MrYx3en
发布于 2015/12/04 14:16
字数 706
阅读 233
收藏 6

kafka自带sh脚本使用示例:

(1)启动/关闭kafka服务:

```shell

nohup env JMX_PORT=9999 /path/to/kafka_2.10-0.8.2.2/bin/kafka-server-start.sh config/server.properties >/dev/null 2>&1 &

/path/to/kafka_2.10-0.8.2.2/bin/zookeeper-server-stop.sh config/zookeeper.properties >/dev/null 2>&1 &

```

(2)创建topic

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

查看topic列表

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --list --zookeeper localhost:2181

(3)发送msg

/path/to/kafka_2.10-0.8.2.2/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

(4)消费msg

/path/to/kafka_2.10-0.8.2.2/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

(5)查看topic状态

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

返回值:

Topic:my-replicated-topicPartitionCount:1ReplicationFactor:3Configs:

Topic: my-replicated-topicPartition: 0Leader: 1Replicas: 1,2,0Isr: 1,0,2

(6)删除topic,删除的时候需要在server.properties中设置"delete.topic.enable=true"才能删除,否则topic只是被标记删除:

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test

(7)修改topic

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --zookeeper localhost:2181 --alert --topic test --partitions 40

(8)添加/删除配置

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --zookeeper localhost:2181 --alert --topic test --config x=y

/path/to/kafka_2.10-0.8.2.2/bin/kafka-topics.sh --zookeeper localhost:2181 --alert --topic test --deleteConfig x

(9)balance leadership

第一种(CLI):

/path/to/kafka_2.10-0.8.2.2/bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181

第二种(配置文件):

auto.leader.rebalance.enable=true

(10)集群之间mirror数据

/path/to/kafka_2.10-0.8.2.2/bin/kafka-run-class.sh kafka.tools.MirrorMaker --consumer.config consumer-1.properties --consumer.config consumer-2.properties --producer.config producer.properties --whitelist my-topic

(11)check consumer position

/path/to/kafka_2.10-0.8.2.2/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect localhost:2181 --group test

(12)自动前一数据到新机器(Automatically migrating data to new machines)

将topic:foo1、foo2上的所有partitions迁移到新的broker:5、6上,迁移结束之后,topic:foo1、foo2上的所有partitions只会在broker:5、6

创建 topic-to-move.json

>cat topic-to-move.json

{"topics":[{"topic":"foo1"},{"topic":"foo2"}],

"version":1

}

创建好json文件之后,使用如下命令:

--generate

/path/to/kafka_2.10-0.8.2.2/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file topics-to-move.json --broker-list "5,6" --generate

--execute(执行操作)

/path/to/kafka_2.10-0.8.2.2/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file expand-cluster-reassignment.json --execute

--verify(查看迁移进度)

/path/to/kafka_2.10-0.8.2.2/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file expand-cluster-reassignment.json --verify

(13)自定义分区分配和迁移

下面的示例会讲topic foo1的partition 0分区迁移到broker5,6;同时把topic foo2的partition 1迁移到broker2、3。

>cat custom-reassignment.json

{

    "version":1,

    "partitions":[

    {"topic":"foo1","partition":0,"replicas":[5,6]},

    {"topic":"foo2","partition":1,"replicas":[2,3]}

    ]

}

 

--execute

/path/to/kafka/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file custom-reassignment.json --execute

--verify

/path/to/kafka/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file custom-reassignment.json --verify

 

(14)增加副本(increase replication factor)

下面的示例会将topic:foo的partition:0的副本数量从1增加到3个;在增加副本数量之前,这个partition的唯一副本是broker:5上,在这里我们将会给broker:6、7增加副本。

第一步是手工写自定义的重新分配计划的JSON文件:

>cat increase-replication-factor.json

{

    "version":1,

    "partitions":[

        {"topic":"foo","partition":0,"replicas":[5,6,7]}

    ]

}

使用--execute参数和json文件增加副本数量:

/path/to/kafka/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --execute

或者--verify选项可与工具用来检查分区重新分配的状态:

/path/to/kafka/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file increase-replication-factor.json --verify

 

 

 

 

 

 

© 著作权归作者所有

MrYx3en
粉丝 10
博文 131
码字总数 30542
作品 0
宝鸡
系统管理员
私信 提问
Kafka学习之四 Kafka常用命令

Kafka学习之四 Kafka常用命令 Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1 2、为topic增加副...

舒文joven
2018/07/19
0
0
Linux系统Kafka集群搭建与简单测试

Kafka安装 Zookeeper集群搭建,可参考Linux系统Zookeeper集群配置 上传kafka安装包并解压 编辑配置文件 这个是server.properties文件内容 增加集群的配置文件server1.properties 修改配置 增...

Listen_ing
2016/06/02
603
0
kafka常用命令

以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1 2、为topic增加副本 ./kafka-reassign-partitions.sh -zookee......

51zhangyanfeng
2017/07/04
0
0
kafka_2.11-0.11.0.1集群搭建

本文搭建一个三节点的Kafka集群。该集群有三个Zookeeper、三个Kafka Broker。 一、准备工作 解压kafka安装包,获得如下目录: Kafka目录结构: 展示如下内容: 二、搭建Zookeeper集群 将目录...

周立_itmuch
2017/11/15
0
0
kafka学习(一) ---- 基本概念以及环境搭建

由于项目涉及到kafka,自己以前没有接触过这方面的,学习了下,将搭建kafka运行环境同大家分享(单机搭建的Windows下的运行环境,Linux下的由于懒得装虚拟机就没有搭建,以后有时间在分享一次...

火龙战士
2016/08/11
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

用Javascript评估用户输入密码的强度

密码已经是我们生活工作中必不可少的工具,但一个不安全的密码有又有可能会给我们造成不必要的损失。作为网站设计者,如果我们在网页中能对用户输入的密码进行安全评估,并显示出相应的提示信息...

花漾年华
25分钟前
0
0
Python 打开目录与指定文件

Python打开外部文件有很多方法, os.popen打开外部程序,但发现只能打开文件所在目录的文件 os.system可打开外部文件os.system(command) command 要执行的命令,相当于在Windows...

shzwork
27分钟前
2
0
Leetcode # 118:Pascal's Triangle 杨辉三角

118:Pascal's Triangle 杨辉三角 Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. 给定一个非负整数 *numRows,*生成杨辉三角的前 numRows 行。 ......

iCodeBugs
37分钟前
1
0
IntelliJ IDEA导入Gradle项目

1.File > Open 找到项目后选择build.gradle文件,点击ok image 2.点击Open as Project image 3.选择本地Gradle以及JDK image 4.点OK完成...

青峰Jun19er
41分钟前
1
0
Python实现斐波那契数列

斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那...

小猿圈加加
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部