kafka manager

安装要求

  1. Kafka 0.8.. or 0.9.. or 0.10.. or 0.11..
  2. Java 8+
  3. sbt 0.13.x

配置

系统至少需要配置zookeeper集群的地址,可以在kafka-manager安装包的conf目录下面的application.conf文件中进行配置。例如:

kafka-manager.zkhosts="my.zookeeper.host.com:2181"

你可以指定多个zookeeper地址,用逗号分隔:

kafka-manager.zkhosts="my.zookeeper.host.com:2181,other.zookeeper.host.com:2181"

另外, 如果你不想硬编码,可以使用环境变量ZK_HOSTS。

ZK_HOSTS="my.zookeeper.host.com:2181"

你可以启用/禁止以下的功能,通过修改application.config:

application.features=["KMClusterManagerFeature","KMTopicManagerFeature","KMPreferredReplicaElectionFeature","KMReassignPartitionsFeature"]

  • KMClusterManagerFeature - 允许从Kafka Manager添加,更新,删除集群。
  • KMTopicManagerFeature - 允许从Kafka集群中增加,更新,删除topic
  • KMPreferredReplicaElectionFeature - 允许为Kafka集群运行首选副本
  • KMReassignPartitionsFeature - 允许生成分区分配和重新分配分区

考虑为启用了jmx的大群集设置这些参数:

  • kafka-manager.broker-view-thread-pool-size=< 3 * number_of_brokers>
  • kafka-manager.broker-view-max-queue-size=< 3 * total # of partitions across all topics>
  • kafka-manager.broker-view-update-seconds=< kafka-manager.broker-view-max-queue-size / (10 * number_of_brokers) >

下面是一个包含10个broker,100个topic的kafka集群示例,每个topic有10个分区,相当于1000个总分区,并启用JMX:

  • kafka-manager.broker-view-thread-pool-size=30
  • kafka-manager.broker-view-max-queue-size=3000
  • kafka-manager.broker-view-update-seconds=30

控制消费者偏offset缓存的线程池和队列:

  • kafka-manager.offset-cache-thread-pool-size=< default is # of processors>
  • kafka-manager.offset-cache-max-queue-size=< default is 1000>
  • kafka-manager.kafka-admin-client-thread-pool-size=< default is # of processors>
  • kafka-manager.kafka-admin-client-max-queue-size=< default is 1000>

您应该在启用了消费者轮询的情况下为大量#消费者增加以上内容。虽然它主要影响基于ZK的消费者轮询。

Kafka管理的消费者offset现在由“__consumer_offsets”topic中的KafkaManagedOffsetCache消费。请注意,这尚未经过跟踪大量offset的测试。每个集群都有一个单独的线程消费这个topic,所以它可能无法跟上被推送到topic的大量offset。

部署

下面的命令创建一个可部署应用的zip文件。

sbt clean dist

如果你不想拉源码,在编译,我已经编译好,放在百度云盘上了。

https://pan.baidu.com/s/1geEB1rt

启动服务

解压刚刚的zip文件,然后启动它:

$ bin/kafka-manager

默认情况下,端口为9000。可覆盖,例如:

$ bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080

再如果java不在你的路径中,或你需要针对不同的版本,增加-java-home选项:

$ bin/kafka-manager -java-home /usr/local/oracle-java-8

用安全启动服务

为SASL添加JAAS配置,添加配置文件位置:

$ bin/kafka-manager -Djava.security.auth.login.config=/path/to/my-jaas.conf

注意:确保运行kafka manager的用户有读取jaas配置文件的权限。

打包

如果你想创建一个Debian或者RPM包,你可以使用下面命令打包:

sbt debian:packageBin
sbt rpm:packageBin
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Kafka Manager 简介 Kafka Manager 可能是现在能找到的最好的可视化的Kafka管理工具,...
    扫帚的影子阅读 20,748评论 20 16
  • kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...
    时待吾阅读 5,366评论 1 15
  • 添加集群 常用参数说明 下面已常用的选项作说明 Enable JMX Polling是否开启 JMX 轮训,该部分...
    xuxiangwork阅读 60,912评论 4 39
  • 本文转载自http://dataunion.org/?p=9307 背景介绍Kafka简介Kafka是一种分布式的...
    Bottle丶Fish阅读 5,503评论 0 34
  • 这周三,我们迎来了2018年冬天的第一场雪。 例外。我们在雪的世界里蹦跑着,玩耍着,別提有多高兴,彷彿...
    胡义斌阅读 353评论 1 2