kafka集群管理工具kafka-manager部署安装

一、kafka-manager 简介

为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:

1.管理多个kafka集群
2.便捷的检查kafka集群状态(topics,brokers,备份分布情况,分区分布情况)
3.选择你要运行的副本
4.基于当前分区状况进行
5.可以选择topic配置并创建topic(0.8.1.1和0.8.2的配置不同)
6.删除topic(只支持0.8.2以上的版本并且要在broker配置中设置delete.topic.enable=true)
7.Topic list会指明哪些topic被删除(在0.8.2以上版本适用)
8.为已存在的topic增加分区
9.为已存在的topic更新配置
10.在多个topic上批量重分区
11.在多个topic上批量重分区(可选partition broker位置)

kafka-manager 项目地址:https://github.com/yahoo/kafka-manager

二、安装

1. 环境要求

1.安装jdk8
jdk-1.8.0_60

2,kafka集群
服务器:
10.0.0.50:12181
10.0.0.60:12181
10.0.0.70:12181
软件:
kafka_2.8.0-0.8.1.1
zookeeper-3.3.6

3.系统
Linux kafka50 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

2. 下载安装 kafka-manager

2.1 .下载kafka-manager

想要查看和管理Kafka,完全使用命令并不方便,我们可以使用雅虎开源的Kafka-manager,GitHub地址如下:

https://github.com/yahoo/kafka-manager

我们可以使用Git或者直接从Releases中下载,此处从下面的地址下载 1.3.3.7 版本:

https://github.com/yahoo/kafka-manager/releases

下载完成后解压。

注意:上面下载的是源码,下载后需要按照后面步骤进行编译。如果觉得麻烦,可以直接从下面地址下载编译好的 kafka-manager-1.3.3.7.zip。 
链接:https://pan.baidu.com/s/1qYifoa4 密码:el4o

2.2.解压

unzip kafka-manager-1.3.3.7.zip -d /data/
cd /data/kafka-manager-1.3.3.7

2.3.修改配置 conf/application.properties

[root@kafka50 conf]# pwd
/data/kafka-manager-1.3.3.7/conf
[root@kafka50 conf]# ls
application.conf  consumer.properties  logback.xml  logger.xml  nohup.out  routes
编辑配置文件application.conf

#kafka-manager.zkhosts="localhost:2181"       ##注释这一行,下面添加一行
kafka-manager.zkhosts="10.0.0.50:12181,10.0.0.60:12181,10.0.0.70:12181"

2.4启动

bin/kafka-manager
kafka-manager 默认的端口是9000,可通过 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:

nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &

启动过程:

 View Code

启动完毕后可以查看端口是否启动,由于启动过程需要一段时间,端口起来的时间可能会延后。

3.浏览器访问

使用ip地址:端口访问

三、测试 kafka-mamager

1. 新建 Cluster

点击【Cluster】>【Add Cluster】打开如下添加集群的配置界面:

输入集群的名字(如Kafka-Cluster-1)和 Zookeeper 服务器地址(如localhost:2181),选择最接近的Kafka版本(如0.8.1.1

注意:如果没有在 Kafka 中配置过 JMX_PORT,千万不要选择第一个复选框。

Enable JMX Polling

如果选择了该复选框,Kafka-manager 可能会无法启动。

其他broker的配置可以根据自己需要进行配置,默认情况下,点击【保存】时,会提示几个默认值为1的配置错误,需要配置为>=2的值。提示如下。

新建完成后,运行界面如下:

 TOPIC list

broker

三、管理 kafka-mamager

 3.1.新建主题

点击【Topic】>【Create】可以方便的创建并配置主题。如下显示。

接下来我们根据一张图讲解

在上图一个Kafka集群中,有两个服务器,每个服务器上都有2个分区。P0,P3可能属于同一个主题,也可能是两个不同的主题。

如果设置的Partitons和Replication Factor都是2,这种情况下该主题的分步就和上图中Kafka集群显示的相同,此时P0,P3是同一个主题的两个分区。P1,P2也是同一个主题的两个分区,Server1和Server2其中一个会作为Leader进行读写操作,另一个通过复制进行同步。

如果设置的Partitons和Replication Factor都是1,这时只会根据算法在某个Server上创建一个分区,可以是P0~4中的某一个(分区都是新建的,不是先存在4个然后从中取1个)。
这里我们都设置为2,点击【Create】然后进入创建的这个主题,显示如下。

 

 3.2.查看主题

点击【topic】下面的主题名称,即可查看主题

 

kafka开源管理工具Kafka-manager部署

Kafka-manager 是雅虎开源的apache-kafka管理工具,是用Scala写,所以在web页面进行操作即可。

Github地址:https://github.com/yahoo/kafka-manager

主要特性:

l 管理多个kafka集群;
l 检查集群状态(topics, consumers, offsets, brokers, 副本分布, 分区分布等);
l 调整partition及broker的分布等等等
l ...
反正可以代替很多命令行操作。
部署安装

1、可以直接下载压缩包:

https://github.com/yahoo/kafka-manager/releases

目前版本是1.3.3.17

2、上面下载压缩包是源码包,下载后需要按照后面步骤进行编译。

[opcai@test-server82 kafka]$ ls

1.3.3.17.tar.gz

[opcai@test-server82 kafka]$ tar zxvf 1.3.3.17.tar.gz

3、编译

cd kafka-manager-1.3.3.17/

./sbt clean dist

命令执行完成后,在 target/universal 目录中会生产一个zip压缩包kafka-manager-1.3.3.7.zip。将压缩包拷贝到要部署的目录下解压。

4、配置

在解压后的conf目录中打开 application.conf文件,修改其中的配置信息,最主要的内容为:

kafka-manager.zkhosts="192.168.1.22:2181,192.168.1.23:2181,192.168.1.24:2181"

配置为Kafka的 zookeeper 服务器。你还可以通过环境变量ZK_HOSTS配置这个参数值。

5、启动

在解压的目录中,使用下面的命令启动Kafka-manager。

bin/kafka-manager

默认情况下端口为9000,你还可以通过下面的命令指定配置文件和端口:

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

如果没有配置Java的环境变量,还可以通过下面的方式指定Java8的目录:

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

启动后,从浏览器打开:

http://[服务器IP]:9000/

就可以看到配置页面了