管理工具 Kafka Manager

 

一、概述

Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽。
  为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具。
  该软件是用Scala语言编写的。目前(2015年02月03日)雅虎已经开源了Kafka Manager工具。这款Kafka集群管理工具主要支持以下几个功能:
  1、管理几个不同的集群;
  2、很容易地检查集群的状态(topics, brokers, 副本的分布, 分区的分布);
  3、选择副本;
  4、产生分区分配(Generate partition assignments)基于集群的当前状态;
  5、重新分配分区。

二、Kafka Manager下载及安装

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

这个项目比 https://github.com/claudemamo/kafka-web-console 要好用一些,显示的信息更加丰富,kafka-manager本身可以是一个集群。

不过kafka-manager也没有权限管理功能。

下载:

1
git clone git@github.com:yahoo/kafka-manager.git

下载完后,只能源代码你什么也做不了,我们要把项目编译打包,该软件是用Scala语言编写,把有编译打包很麻烦,他依赖于sbt。sbt比较难安装。

三、sbt安装

1、下载sbt-0.13.11

我的服务器是centos 自动安装几次没有成功,我还是选择手动安装。

请自己到http://www.scala-sbt.org/download.html下载最新版本,我的版本是sbt-0.13.11

2、建立目录,解压文件到所建立目录

1
2
$ sudo mkdir /opt/scala/sbt
$ sudo tar zxvf sbt-0.13.11.tgz -C /opt/scala/

  3、建立启动sbt的脚本文件

1
2
3
4
5
6
7
/*选定一个位置,建立启动sbt的脚本文本文件,如/opt/scala/sbt/ 目录下面新建文件名为sbt的文本文件*/
$ cd /opt/scala/sbt/
$ vim sbt
/*在sbt文本文件中添加
BT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /opt/scala/sbt/bin/sbt-launch.jar "$@"
然后按esc键 输入 :wq 保存退出,注意红色字体中的路径可以是绝对路径也可以是相对路径,只要能够正确的定位到解压的sbt文件包中的sbt-launch.jar文件即可*/

  并修改sbt文件权限

1
$ chmod u+x sbt

  4、配置PATH环境变量,保证在控制台中可以使用sbt命令

1
2
3
$ vim /etc/profile
/*在文件尾部添加如下代码后,保存退出*/
export PATH=/opt/scala/sbt/:$PATH

  

1
2
/*使配置文件立刻生效*/
$ source /etc/profile

   5、测试sbt是否安装成功
          第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了,下载的过程分很慢。安装成功后显示如下

1
sbt sbt-version<br>[info] Set current project to sbt (in build file:/opt/scala/sbt/)<br>[info] 0.13.11

  

四、编绎打包

1
2
cd kafka-manager
sbt clean dist

  生成的包会在kafka-manager/target/universal 下面。生成的包只需要java环境就可以运行了,在部署的机器上不需要安装sbt。

如果打包会很慢的要有点耐心呀,还有可能打包失败,可以考虑配置代理。

四、Kafka Manager部署

1、打好包好,在部署机器上解压,修改好配置文件,就可以运行了--解压

1
unzip kafka-manager-1.0-SNAPSHOT.zip

 2、修改conf/application.conf,把kafka-manager.zkhosts改为自己的zookeeper服务器地址

1
kafka-manager.zkhosts="192.168.1.237:2181"

 3、启动

1
2
cd kafka-manager-1.0-SNAPSHOT/bin
./kafka-manager -Dconfig.file=../conf/application.conf

 4、查看帮助 和 后台运行

1
2
./kafka-manager -h
nohup ./kafka-manager -Dconfig.file=../conf/application.conf >/dev/null 2>&1 

 说明:正常来说,play框架应该会自动加载conf/application.conf配置里的内容,但是貌似这个不起作用,要显式指定才行。

参考: https://github.com/yahoo/kafka-manager/issues/16

5、默认http端口是9000,可以修改配置文件里的http.port的值,或者通过命令行参数传递:

1
./kafka-manager -Dhttp.port=9001

五、sbt 配置代理

sbt的配置http代理的参考文档:http://www.scala-sbt.org/0.12.1/docs/Detailed-Topics/Setup-Notes.html#http-proxy

通过-D设置叁数即可:

1
java -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=mypassword

  也可以用下面这种方式,设置一下SBT_OPTS的环境变量即可:

1
export SBT_OPTS="$SBT_OPTS -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=myport"

  注意:myproxy,这个值里不要带http前缀,也不要带端口号。

比如,你的代理是http://localhost:8123,那么应该这样配置:

1
export SBT_OPTS="$SBT_OPTS -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8123"
记住该记住的,忘记该忘记的,改变能改变的,接受不能改变的!
 
 

管理工具 Kafka Manager的更多相关文章

  1. kafka管理工具-kafka manager安装

    kafka-manager 简介 # 项目信息 https://github.com/yahoo/kafka-manager 安装 环境要求: Kafka 0.8.. or 0.9.. or 0.10 ...

  2. kafka学习之-雅虎开源管理工具Kafka Manager

    http://blog.csdn.net/lizhitao/article/details/44523663

  3. 高吞吐量的分布式发布订阅消息系统Kafka-- 管理工具 Kafka Manager

    一.概述 Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽. 为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafk ...

  4. 【数据库】Mean web开发 03-MongoDB客户端管理工具NoSQL Manager for MongoDB的使用

    简介 Mean是JavaScript的全栈开发框架.更多介绍 用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非 ...

  5. Ubuntu 16.04安装Shell管理工具PAC Manager

    下载: (链接: https://pan.baidu.com/s/1nvqrVgH 密码: 45wz) 安装: sudo dpkg -i pac-4.5.5.7-all.deb

  6. 安装配置 Kafka Manager 分布式管理工具

    Kafka Manager 特性,它支持以下内容(官方译解): 管理多个群集容易检查集群状态(主题,消费者,偏移量,经纪人,副本分发,分区分配)运行首选副本选举使用选项生成分区分配,以选择要使用的代理 ...

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

    一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...

  8. 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)

    不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...

  9. RPM是RedHat Package Manager(RedHat软件包管理工具)

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

随机推荐

  1. 工作线程AfxBeginThread的使用

    工作线程通常用来执行一些后台任务,如:数据计算.后台杀毒等等.因为不需要创建窗口和处理用户消息,编写比较容易,在程序中只要调用AfxBeginThread 函数就可以创建并启动一个工作线程了. Afx ...

  2. No enclosing instance of type Hello is accessible

    1.static 关键字 修饰的成员被所有对象共享(包括成员变量和方法). 修饰的成员优先于对象存在. 存储于方法区(共享数据区)的静态区中. 静态方法只能访问静态成员. 静态方法中不可以使用this ...

  3. Delphi + Asm - TBits类的学习

    技术交流,DH讲解. 在D2010的classes中有个TBits类,这个类主要是位操作的. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 TBits = class privat ...

  4. GDI+: Curved Shapes

    原文 http://www.functionx.com/vcsharp2003/gdi/curves.htm Curves   Introduction to Curves   A curve is ...

  5. http协议与web本质

    当你在浏览器地址栏敲入“http://www.csdn.net/”,然后猛按回车,呈现在你面前的,将是csdn的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员,我想 ...

  6. Unity3D手游-横版ACT游戏完整源代码下载

    说明: 这不是武林.这不是江湖,没有道不完的恩怨,没有斩不断的情仇,更没有理不清的烦恼,这是剑的世界,一代剑魁闯入未知世界,将会为这个世界展开什么样的蓝图.让你来创造它的未来,剑魁道天下,一剑斗烛龙! ...

  7. 怎样基于谷歌地图的Server缓存公布Image Service服务

    怎样基于谷歌地图的Server缓存公布Image Service服务 第一步:下载地图数据 下载安装水经注万能地图下载器,启动时仅仅选择电子.谷歌(这里能够依据自己的须要选择).例如以下图所看到的. ...

  8. 如何学习php之吐槽

    我也做了php一段时间了.从技术层面上解释吧.   深入学习任何的东西都要有个体系.   1 完整的学习整个体系结构.解决有什么的问题.   推荐看看这个.http://www.open-open.c ...

  9. MSSQL - 用GUID值来完成数据表行标识

    地址:http://www.cnblogs.com/huangfr/archive/2012/03/28/2420780.html [Guid] [uniqueidentifier] NOT NULL ...

  10. WindowsPhone8中实现圆形图片的生成显示

    原文 WindowsPhone8中实现圆形图片的生成显示 很多软件中(比如QQ)用到了许多圆形图片,作为用户头像等等,原始图片往往是方形的,那么怎么样将方形的图片显示成圆形呢? 一种方法是当背景为固定 ...