kafka管理神器-kafkamanager

好久没发过kafka的文章了,今天整理一下kafka-manager神器。

java环境要求

jdk8

kafkamanager源码下载

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

编译

先修改sbt源,否则会报错,而且非常慢

在~/.sbt目录下增加一个文件repositories,内容如下:

[repositories]

local

osc: http://maven.aliyun.com/nexus/content/repositories/central/

oschina-ivy:http://maven.aliyun.com/nexus/content/repositories/central/ , [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]



ib: http://maven.ibiblio.org/maven2/



ib-ivy: http://maven.ibiblio.org/maven2/ , [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

mt-mdh:.sbt meitu$ pwd

/Users/meitu/.sbt

修改源之后编译速度很快而且无故障。

编译是在/opt/hadoop/kafka-manager-1.3.3.18/目录下执行:

./sbt clean dist

要求jdk8假如不是jdk8,可以直接指定路径:

PATH=/usr/local/oracle-java-8/bin:$PATH \
JAVA_HOME=/usr/local/oracle-java-8 \ 
/path/to/sbt -java-home /usr/local/oracle-java-8 clean dist

最后出现

[info] Your package is ready in /opt/hadoop/kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip

[info]

[success] Total time: 60 s, completed 2018-9-10 13:58:04

代表编译成功,zip生成目录是在

kafka-manager-1.3.3.18/target/universal/kafka-manager-1.3.3.18.zip

在配置conf/application.conf 中加入zookeeper的地址,不一定是kafka的集群zk地址

kafka-manager.zkhosts="localhost:2181"

启动,不加-Dhttp.port参数默认是9000

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

加入java不是jdk8的话也可以单独指定jdk为jdk8

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

kafkamanager的经典作用

1. 管理多集群

2. 便捷的监控集群状态(topics,consumers,offsets,brokers,副本分布,分区分布)

3. 运行优先副本选举

4. 可以选择指定的broker去产生副本分布策略。

5. 运行分区分布策略,根据4产生的分布策略

6. 根据自定义配置创建topic

7. 删除topic,但是前提是配置kafka的delete.topic.enable=true

8. 可以选择多个topic,然后指定特定的brokers,生成分区分布策略

9. 批量运行8生成的策略

10. 增加已存在topic的分区

11. 更新已存在topic的配置

12. 加入kafka开启jmx的话,可以监控broker和topic级别的监控指标。

kafka manager图解说明

首先创建集群

接着在topic管理界面

然后就是消费者界面

主要关注的是图上所属指标,建议大家使用测试,当然非常建议按照本文操作一遍,但是不想编译或者编译不成功也可以,在公众号恢复 1024 获取浪院长编译好的。

kafka 开启jmx的方式很简单在kafka-server-start.sh中修改如下

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
fi

当然,在这里强调一下,对于kafka集群,虽然不耗内存,也建议将kafka的堆内存设置稍微大些。当然,对于很多公司,数据量不足以触发kafka节点内存不够导致的故障。

原文发布于微信公众号 - Spark学习技巧(bigdatatip)

原文发表时间:2018-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

汇总:Linux文件管理的50个命令

文 | 糖豆 图 | 来源网络 糖豆贴心提醒,本文阅读时间6分钟,文末有秘密! Linux cat命令 cat 命令用于连接文件并打印到标准输出设备上...

52160
来自专栏C/C++基础

Linux命令(5)——shutdown命令

使用shutdown命令时,在系统关机前,可以通知所有登录者系统将要关闭。此时login指令会被冻结,新用户将不能再登录,这是推荐使用的安全关机方式。关机之前,...

12240
来自专栏闵开慧

tomcat里面的文件详细说明

如何安装tomcat服务器   安装Tomcat之前要先安装JDK,可从http://java.sun.com上下载最新版本的JDK。 Tomcat可从Apac...

433100
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

38540
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Redis

Redis是一个内存中的键值存储器,以其灵活性,性能和广泛的语言支持而闻名。它通常用作数据库,缓存和消息代理,并支持各种数据结构。

50220
来自专栏北京马哥教育

CentOS系统启动流程你懂否

一、Linux内核的组成 相关概念: Linux系统的组成部分:内核+根文件系统 内核:进程管理、内存管理、网络协议栈、文件系统、驱动程序。 ...

38050
来自专栏北京马哥教育

开机启动流程

grub and boot Centos5,6的开机启动流程 grub Centos7的开机启动流程 Centos5,6的开机启动流程 ? ? initrd /...

40970
来自专栏Petrichor的专栏

ubuntu: scp指令 (远程拷贝)

用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。当你服务器硬盘变为只读 read...

35820
来自专栏Java架构师历程

4、服务发现

本书主要介绍如何使用微服务来构建应用程序,现在是第四章。第一章已经介绍了微服务架构模式,并讨论了使用微服务的优点与缺点。第二章和第三章介绍了微服务间的通信,并对...

53230
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Apache和mod_wsgi为Django应用程序提供服务

Django是一个功能强大的Web框架,可以帮助您快速启动Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何...

17300

扫码关注云+社区

领取腾讯云代金券