kafka manager使用指南

最近更新时间:2018-09-12 18:50:31

kafka manager使用指南

Kafka manager简介

kafka Manager是由yahoo开源的一个Kafka管理工具,地址为:https://github.com/yahoo/kafka-manager

基本功能

  1. 管理kafka集群
  2. 方便集群状态监控 (包括topics, consumers, offsets, brokers, replica distribution, partition distribution)
  3. 方便选择分区副本
  4. 配置分区任务,包括选择使用哪些brokers
  5. 可以对分区任务重分配
  6. 提供不同的选项来创建及删除topic
  7. Topic list会指明哪些topic被删除
  8. 批量产生分区任务并且和多个topic和brokers关联
  9. 批量运行多个主题对应的多个分区
  10. 向已经存在的主题中添加分区
  11. 对已经存在的topic修改配置
  12. 可以在broker level和topic level的度量中启用JMX polling功能
  13. 可以过滤在ZK上没有ids/ owners/offsets/ directories的consumer

基本操作

  1. 进入kafka manager web界面

登录Ambari控制台,在左侧选择Kafka后,在页面中部点击Quick Links,然后点击Kafka Manager UI进入其web页面。

image.png

  1. Kafka Manager 首页

在页面首页展示集群信息,可在顶端Cluster下拉菜单中进行集群创建及集群列表展示;在集群列表栏目可对集群进行修改及停止(Disable)/启动(Enable)。

image.png

集群管理

  1. 新建集群

依次点击顶部Cluster下拉菜单-- > Add Cluster进入集群新建页面;依次填入名称、zookeeper hosts,选择kafka版本;最后点击最下边的save即可创建集群。

image.png

新建时各参数说明:

参数 说明
Cluster Name 用户自定义
Cluster Name 需与zookeeper.connect(在Amabri Service 页面中,选择Kafka服务,在zookeeper.connect中进行选择)中相对应,其可有一个或多个,注意后加:2181(冒号包含在内),若有多个host,各host间用逗号隔开image.png
Kafka Version 选择与Kafka版本最近的即可
Enable JMX Polling JMX(Java Management Extensions, Java管理扩展),通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等,建议选择
JMX Auth Username JMX授权用户名
JMX Auth Password JMX授权密码
JMX with SSL 为JMX使用SSL协议
Enable Logkafka logkafka是一个日志收集代理,可以按行收集日志文件并发送到kafka
Poll consumer information 选举消费者信息(消费者多时不建议选择)
Filter out inactive consumers 过滤不活动消费者
Enable Active OffsetCache激活Offset缓存
Display Broker and Topic Size 展示Broker和Topic大小
brokerViewUpdatePeriodSeconds Broker视图周期更新时间/单位(s)
clusterManagerThreadPoolsize 集群管理线程池大小
clusterManagerThreadPoolQueue Size 集群管理线程池列队大小
KafkaCommandThreadPoolSize Kafka命令线程池大小
logkafkaCommandThreadPoolQueue Size logkafka命令线程池列队大小
logkafkaUpdatePeriodSeconds Logkafka周期更新时间/单位(s)
partitionOffsetCacheTimeoutSecs Partition Offset缓存过期时间/单位(s)
brokerViewThreadPoolSize Broker视图线程池大小
brokerViewThreadPoolQueue Size Broker视图线程池队列大小
offsetCacheThreadPoolSize Offset缓存线程池大小
offsetCacheThreadPoolQueueSize Offset缓存线程池列队大小
kafkaAdminClientThreadPoolSize Kafka管理客户端线程池大小
kafkaAdminClientTheadPoolQueue Sizec Kafka管理客户端线程池队列大小

根据自己情况,填写对应参数,单击save,即可完成集群创建;

创建好的集群可在集群列表中展示;

image.png

  1. 查看集群信息

在集群列表中点击对应集群名称,可进入集群详情页面,在此页面上可查看集群版本,集群topic及broker信息;点击Cluster Summary中Topics和Brokers后的数字,可查看对应topic和broker信息;

image.png

  1. 修改集群

在集群名称后点击Modify,即可对集群进行修改;除集群名称不可更改外,其他项(见新建集群)均可更改。

  1. 禁用/启用集群

在集群列表单击相应集群名称后的Disable按钮,可禁用集群

在集群列表单击相应集群名称后的Enable按钮,可启用集群

image.png

  1. 删除集群

在集群列表单击相应集群名称后的Delete按钮,可删除集群

注:所删除集群需为禁用集群,需在Ambari Service界面中选择kafka,在config配置中将Advanced kafka-broker中的delete.topic.enable改为true

image.png

Topic管理

  1. 新建topic

在集群列表单击相应集群名称后,单击上方Topic下拉菜单,单击Create

image.png

填写相应参数,单击Create,可对topic进行创建

image.png

各参数说明如下:

参数 说明
Topic Topic名称,用户自定义即可
Patitions Topic的分区数,≥1,适当的分区数可以提高吞吐量
Replication Factor 副本数,用于保障kafka的高可用

其余参数可根据需要进行自定义

  1. 查看topic

在集群列表中点击相应集群名称,然后点击Cluster Summary下Topics后数字,可查看此集群的topic列表。

image.png

可查看topic名称、分区数、broker数、副本数等相关信息。

点击topic名称,可查看具体信息。

image.png

  1. 分区管理

重新分区

在点击Generate Partition Assignments可重新进行分区;

选择相应的Topics和Brokers,再点击下方的Generate Partition Assignment可完成重新分区;

image.png

增加分区

在topic列表上方单击Add Partitions,可对一个或多个topic进行增加分区操作;分区数必须大于原始topics中分区最大数。

image.png

单击topic名称进入topic详情页面,单击Add Partitions可对此topic进行增加分区操作;注意partitions中数目为分区后的总数,其应大于现有分区数。

分区详情页面操作

操作 解释
Delete Topic 删除topic
Reassign Partitions 平衡集群负载,可为assigned replica中选举一个新的leader,还可改变partition中的assigned replica
Add Partitions 增加分区
Update Config Topic配置信息更新
Manual Partition Assignments 手动为每个分区下的副本分配broker,如下如,完成后点击Save Partition Assigment即可
Create Partition Assignments 系统自动为每个分区下的副本分配brokerimage.png

Broker管理

在每个集群信息页面单击Brokers后边的数字,可查看集群id、Host、端口等信息。

image.png

单击id栏相应id号,可查看其详细信息及所对应的topic等信息。

image.png

consumer管理

  1. consumer组列表

在集群中勾选Poll consumer information (Not recommended for large # of consumers),则在集群详情页面单击Consumers可查看consumer相关信息。

image.png

  1. topic 列表

点击consumer group列表的特定组,会显示这个consumer group中在消耗的topic列表,包括分区覆盖率,和总延迟量(log)

image.png

  1. consumer列表

在consumer group > topic列表的点击具体topic,会进入到在消耗这个topic的具体consumer,显示的数据包括,总数据量,消费进度(offset),延迟量(log)等。

image.png

金山云,开启您的云计算之旅

注册有礼