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. 环境要求

  • Kafka 0.8.1.1 or 0.8.2. or 0.9.0.

  • Java 8+

  • zookeeper 2+

  • 本次实验所用的环境是kafka-0.9.1.0 , jdk-1.8.0_60 , zookeeper-3.4.7,下载解压安装运行

    # start zookeepercd /usr/local/zookeeper-3.4.7./bin/zkServer.sh start## start kafkacd /usr/local/kafka_2.11-0.9.0.0./bin/kafka-server-start.sh ./config/server.properties

    2. 下载安装 kafka-manager

  • 下载编译

    git clone https://github.com/yahoo/kafka-managercd kafka-manager
    cd kafka-manager# 因为要编译。所以下面这步操作要等很久sbt clean distcd target/
    # 在target目录下我们可以看到 kafka-managerkafka-manager-1.3.0.8.zip

    tips:

    使用sbt编译打包的时候时间可能会比较长,如果你hang在
    Loading project definition from kafka-manager/project
    可以修改project/plugins.sbt中的LogLevel参数
    将logLevel := Level.Warn修改为logLevel := Level.Debug

  • 解压

    unzip kafka-manager-1.3.0.8.zip -d /usr/local
    cd /usr/local/kafka-manager-1.3.0.8

  • 修改配置 conf/application.properties

    # 如果zk是集群,这里填写多个zk地址kafka-manager.zkhosts="localhost:2181"

  • 启动

    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 &

    我们用浏览器访问试试,界面非常简洁

blob.png

Paste_Image.png

  • 这样便安装成功了

三、测试 kafka-mamager

1. 新建 Cluster

填写cluster名--zk地址

blob.png

zk


建好之后看到如下界面

blob.png

Paste_Image.png

2. 新建 topic

  • 填写分区和副本个数

    blob.png

    topic

3. 查看我们的 topic

  • kafka-manager

blob.png

topic-list

  • kafka

    # bin/kafka-topics.sh --list --zookeeper localhost:2181

    blob.png

    kafka-topic

4. 启动 consumer

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic test-a

5. 启动 producer,并在启动后的console输入一些信息

blob.png

Broker

bin/kafka-console-producer.sh --broker-list 10.26.236.43:9092 --topic test-a

输入 message

blob.png

message


可以看到 consumer 已经收到消息

blob.png

consumer

  • 到这里,我们的kafka-manager已搭建测试成功,它的其他用法大家可自行测试。


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢