文档章节

KAFKA官方教程笔记-OPERATIONS

skanda
 skanda
发布于 2017/09/06 15:38
字数 1009
阅读 535
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 1,添加和删除topic

     在topic配置中如果设置了auto_created topic 为true,则当生产者第一次将数据发布到一个不存在的topic,topic会自动创建。当然,topic也可以手动创建:

bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic my_topic_name
      --partitions 20 --replication-factor 3 --config x=y

 参数 replication-factor控制每条写入的消息会复制到多少个服务器(broker)。服务器的个数要>=replication-factor的个数.否则要挂。官方是建议replication-factor至少要>=2这样数据消费过程不会被打断。

参数partition控制topic将被写入多少log(所谓的partition就是文件夹个数),分区数=最大并行消费者数量。

2,修改topic

     添加分区数

t@ubuntu:~/source/kafka_2.10-0.10.0.0/bin$ ./kafka-topics.sh --zookeeper localhost:2181 --alter --topic myTest4  --partitions 8
WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected
Adding partitions succeeded!
t@ubuntu:~/source/kafka_2.10-0.10.0.0/bin$ 

三个broker的数据目录自动生成三个分区目录,其中数据文件大小均为0

添加配置

bin/kafka-configs.sh --zookeeper zk_host:port/chroot --entity-type topics --entity-name my_topic_name --alter --add-config x=y

删除配置

bin/kafka-configs.sh --zookeeper zk_host:port/chroot --entity-type topics --entity-name my_topic_name --alter --delete-config x

删除topic

首先要把server配置文件添加如下项:

delete.topic.enable=true
如果没有设置为true,则有如下结果:

t@ubuntu:~/source/kafka_2.10-0.10.0.0/bin$ ./kafka-topics.sh --zookeeper localhost:2181 --delete --topic myTest4
Topic myTest4 is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

只是标记而已,myTest4数据依旧可以读

3,关闭kafka服务

kafka集群能自动检测关闭或者失败的服务器,并在其他服务器中选出新的leader。如果关闭服务是为了维护或者更新配置,可以选择一种相对优雅的方式关闭kafka服务。

首先要将配置文件添加如下:

controlled.shutdown.enable=true

通过bin目录下zookeeper-server-stop.sh关闭,这样关闭有两个好处

1,关闭前会吧数据同步到磁盘,避免重启服务做额外的数据恢复因而启动耗时;

2,It will migrate any partitions the server is the leader for to other replicas prior to shutting down. This will make the leadership transfer faster and minimize the time each partition is unavailable to a few milliseconds.大意是降低分区不可用时间,具体我也不了解。

4,平衡leadership

官网写的不太好理解。如果本地分别启动三个broker,第一个broker会成为所有分区的leader,这样读写全部到broker1,对资源利用很不利,所以要平衡leader到各个服务器上。有两种方法,

1,利用命令手动平衡一下:

bin/kafka-preferred-replica-election.sh --zookeeper zk_host:port/chroot

配置文件里面添加如下项目:

auto.leader.rebalance.enable=true

5,机架间phenomenon副本

让副本相同的分区在不同机架上进行复制,避免某个机架挂了导致数据丢失。

需要在配置文件中添加broker归属的机架id

broker.rack=my-rack-id

目前在连机房都没有的小公司,这个估计是用不到了。呵呵。。。。

6,集群间镜像数据

呵呵。。。公司太小,暂时是用不到了。

7,检查消费者位置

有时候查看一下消费者位置是有用的。

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group test
t@ubuntu:~/source/kafka_2.10-0.10.0.0$ bin/kafka-consumer-groups.sh  --zookeeper localhost:2181 --describe --group pm_ws_6d0a289d7d7b11e7a9f20242c0a80010
GROUP                          TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             OWNER
pm_ws_6d0a289d7d7b11e7a9f20242c0a80010 test                           0          98              1113            1015            none

8,管理消费组

官方文档的命令是

bin/kafka-consumer-groups.sh --bootstrap-server broker1:9092 --list

本地运行如下,应该是版本有点落后不一致, 

t@ubuntu:~/source/kafka_2.10-0.10.0.0$ bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
Missing required argument "[zookeeper]"
Option                                 Description                           
------                                 -----------                           
--bootstrap-server <server to connect  REQUIRED (only when using new-        
  to>                                    consumer): The server to connect to.
--command-config <command config       Property file containing configs to be
  property file>                         passed to Admin Client and Consumer.
--delete                               Pass in groups to delete topic        
                                         partition offsets and ownership     
                                         information over the entire consumer
                                         group. For instance --group g1 --   
                                         group g2                            

对2.10-0.10.0.0命令如下 

t@ubuntu:~/source/kafka_2.10-0.10.0.0$ bin/kafka-consumer-groups.sh  --zookeeper localhost:2181  --list                                 
console-consumer-64888
aaa
pm_ws_6d0a289d7d7b11e7a9f20242c0a80010
console-consumer-7335
wuwuwu
console-consumer-17559
awaken
console-consumer-47823
pm_ws_6d0a289d7d7b11e7a9f20242c0a80009
group1
0
test-consumer-group108
console-consumer-95228
console-consumer-51385
console-consumer-32687
group-1
t@ubuntu:~/source/kafka_2.10-0.10.0.0$ 

 

skanda
粉丝 11
博文 108
码字总数 60675
作品 0
厦门
私信 提问
加载中
请先登录后再评论。
ApacheCN 学习资源汇总 2019.1

【主页】 apachecn.org 【Github】@ApacheCN 暂时下线: 社区 暂时下线: cwiki 知识库 自媒体平台 微博:@ApacheCN 知乎:@ApacheCN CSDN 简书 OSChina 博客园 我们不是 Apache 的官方组织/机...

osc_6xoecd1t
2019/01/29
2
0
ApacheCN 学习资源汇总 2019.1

【主页】 apachecn.org 【Github】@ApacheCN 暂时下线: 社区 暂时下线: cwiki 知识库 自媒体平台 我们不是 Apache 的官方组织/机构/团体,只是 Apache 技术栈(以及 AI)的爱好者! 合作or侵...

ApacheCN_飞龙
2019/01/29
0
0
ApacheCN 学习资源汇总 2018.11

首页地址:http://www.apachecn.org 关于我们:http://www.apachecn.org/about 我们不是 Apache 的官方组织/机构/团体,只是 Apache 技术栈(以及 AI)的爱好者! Java 基础 Java 编程思想 ...

ApacheCN_飞龙
2018/11/05
0
0
ApacheCN 学习资源汇总 2018.11

首页地址:www.apachecn.org 关于我们:www.apachecn.org/about 我们不是 Apache 的官方组织/机构/团体,只是 Apache 技术栈(以及 AI)的爱好者! Java 基础 Java 编程思想 Java Web 和大数...

ApacheCN_飞龙
2018/11/05
0
0
最全数据分析资料汇总(含python、爬虫、数据库、大数据、tableau、统计学等)

一、Python基础 Python简明教程(Python3) Python3.7.4官方中文文档 Python标准库中文版 廖雪峰 Python 3 中文教程 Python 3.3 官方教程中文版 Python3 Cookbook 中文版 笨办法学 Python (...

osc_acwq3gr9
2019/08/06
5
0

没有更多内容

加载失败,请刷新页面

加载更多

如何妙用Spring 数据绑定机制

前言 在剖析完 Spring Boot 返回统一数据格式是怎样实现的?文章之后,一直觉得有必要说明一下 Spring's Data Binding Mechanism 「Spring 数据绑定机制」。 默认情况下,Spring 只知道如何转...

码农小胖哥
2019/12/27
9
0
动态规划:LC70.爬楼梯

题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 思路: 还是三部曲: 1.定义数组...

曦鱼violet
16分钟前
9
0
Linux Centos 7 - MySQL 5.7 在线安装

环境搭建:https://my.oschina.net/discussjava/blog/4308730 一、环境 Centos 7 MySQL 5.7 二、安装与配置 2.1 查询并卸载系统自带的 Mariadb 原因:以前的Linux系统中数据库大部分是mysql...

华山猛男
20分钟前
15
0
类似吾爱破解论坛的网站有哪些?破解软件网站合集推荐

17软件下载 这个网站呢楼主一直作为镜像下载网站在用,无论是最新的windows系统、office、还有其他专业软件都可以找到最新的软件下载,而且作为下载站居然没有推广软件和弹窗,简直良心,强烈...

树懒宝宝
21分钟前
34
0
Eclipse,Subclipse和Subversive的SVN插件的优缺点是什么? [关闭]

问题: SVN in Eclipse is spread into two camps. Eclipse中的SVN分为两个阵营。 The SVN people have developed a plugin called Subclipse . SVN人开发了一个名为Subclipse的插件。 The ......

技术盛宴
27分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部