p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
h1 { margin-top: 11.0000pt; margin-bottom: 10.5000pt; page-break-after: avoid; text-align: left; line-height: 240%; font-family: Calibri; font-weight: bold; font-size: 18.0000pt }
h2 { margin-top: 13.0000pt; margin-bottom: 13.0000pt; page-break-after: avoid; text-align: justify; line-height: 172%; font-family: Arial; font-weight: bold; font-size: 15.0000pt }
span.10 { font-family: "Times New Roman" }
span.15 { font-family: "Times New Roman"; font-weight: bold }
p.p { margin-top: 5.0000pt; margin-right: 0.0000pt; margin-bottom: 5.0000pt; margin-left: 0.0000pt; text-align: left; font-family: Calibri; font-size: 12.0000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
table.MsoNormalTable { font-family: "Times New Roman"; font-size: 10.0000pt }
table.MsoTableGrid { text-align: justify; font-family: "Times New Roman"; font-size: 10.0000pt }
div.Section0 { }

Kafka监控安装

一、Kafka监控软件选择

Kafka Web Console:监控功能较为全面,可以预览消息,监控Offset、Lag等信息,但存在bug,不建议在生产环境中使用。

Kafka Manager:偏向Kafka集群管理,若操作不当,容易导致集群出现故障。对Kafka实时生产和消费消息是通过JMX实现的。没有记录Offset、Lag等信息。

KafkaOffsetMonitor:程序一个jar包的形式运行,部署较为方便。只有监控功能,使用起来也较为安全。

若只需要监控功能,推荐使用KafkaOffsetMonito,若偏重Kafka集群管理,推荐使用Kafka Manager。

因为都是开源程序,稳定性欠缺。故需先了解清楚目前已存在哪些Bug,多测试一下,避免出现类似于Kafka Web Console的问题。

二、目前环境状况

已经安装好的zookeeper-3.4.9

已经安装好的kafka2.1.0-0.8.2.1

已经安装好的jdk1.8_121.0(会依赖Java_home版本需要8.0以上)

三台机器sp-04、sp-05、sp-06

三、安装KafkaOffsetMonito

1.KafkaOffsetMonitor简述

KafkaOffsetMonitor是有由Kafka开源社区提供的一款Web管理界面,这个应用程序用来实时监控Kafka服务的Consumer以及它们所在的Partition中的Offset,你可以通过浏览当前的消费者组,并且每个Topic的所有Partition的消费情况都可以观看的一清二楚。它让我们很直观的知道,每个Partition的Message是否消费掉,有木有阻塞等等。

  这个Web管理平台保留的Partition、Offset和它的Consumer的相关历史数据,我们可以通过浏览Web管理的相关模块,清楚的知道最近一段时间的消费情况。

  该Web管理平台有以下功能:

*对Consumer的消费监控,并列出每个Consumer的Offset数据

*保护消费者组列表信息

*每个Topic的所有Partition列表包含:Topic、Pid、Offset、LogSize、Lag以及Owner等等

浏览查阅Topic的历史消费信息

  这些功能对于我们开发来说,已经绰绰有余了。

2.下载kafkaoffsetmonitor

下载kafkaoffsetmonitor的jar包,可以到github搜索kafkaoffsetmonitor,第一个就是,里面可以下载编译好了的包

https://github.com/quantifind/KafkaOffsetMonitor/releases/download/v0.2.1/KafkaOffsetMonitor-assembly-0.2.1.jar

3.安装

.新建在kafka的bin下面新建kafka-monitor文件夹,把jar包KafkaOffsetMonitor-assembly-0.2.1.jar丢进去,并且在文件夹里新建脚本文件kafka-monitor,文件内容如下:

cd install_path/kafka_2.10-0.8.2.1/bin/

mkdir kafka-monitor

创建启动脚本

vim kafkaOffsetMoniter.sh

#!/bin/bash
java -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk sp-04:2181,sp-05:2181,sp-06:2181 --port 8089 --refresh 10.seconds --retain 2.days &

官网的命令带有--offsetStorage kafka参数,我加上启动的时候会报错,所以把官方的这个参数去掉了。

常用参数说明

· –zk - Zookeeper hosts

· –port - 启动webUI的端口号

· –refresh - 页面数据刷新时间

· –retain - 历史数据存放的时间(存放在SQLlite中)

3.启动

启动kafka之后,然后在运行kafkaOffsetMoniter.sh文件

sh kafkaOffsetMoniter.sh

4.在浏览器中访问

即可使用sp-04:8089访问kafka的监控页面。

四、安装Kafka Manager

1.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位置)

2.开始安装

(一台即可)

雅虎官方github项目:https://github.com/yahoo/kafka-manager

这里提供编译好了的包,下载后可以直接使用,可以不用去sbt编译。

链接:http://pan.baidu.com/s/1bQ3lkM 密码:c251

将下载后的包上传到linux目录下解压

mkdir kafka-manager


unzip kafka-manager-1.3.0.7.zip

mv kafka-manager-1.3.0.7 kafka-manager

修改application.conf中zk配置

cd /home/hadoop/install_path/kafka_2.10-0.8.2.1/bin/kafka-manager/kafka-manager/conf

vim application.conf

修改配置:
kafka-manager.zkhosts=
添加配置:
http.port= (默认9000)

4、想要看到读取,写入速度需要开启JMX,修改kafka-server-start.sh 添加一行即可:添加JMX端口8999

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

注意:每个kafka broker都需要修改,修改后进行重启kafka。

vim kafka-server-start.sh

3.启动

cd /home/hadoop/install_path/kafka_2.10-0.8.2.1/bin/kafka-manager/kafka-manager

./bin/kafka-manager

4.后台启动

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

5.界面化处理

(1)创建cluster: 点击顶部Cluster、Add Cluster

配置cluster:

名字kafka(随意);集群zkhost格式:sp-04:2181,sp-05:2181,sp-06:2181

kafka版本,勾选上JMX和下面的勾选框,可显示更多指标

创建完毕后,可查看

topics相关:

本文章有很多不足之处,希望大家多多指正。欢迎大家转载,请注明出处!码农打字不易,敬请谅解,谢谢! http://www.cnblogs.com/baierfa/p/6689056.html

Kafka监控安装的更多相关文章

  1. Spark踩坑记——Spark Streaming+Kafka

    [TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...

  2. 消息队列 Kafka 的基本知识及 .NET Core 客户端

    前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...

  3. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

  4. .net windows Kafka 安装与使用入门(入门笔记)

    完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建过程中遇到两个问题,在这里先列出来,以方便查询: 1. \Jav ...

  5. kafka配置与使用实例

    kafka作为消息队列,在与netty.多线程配合使用时,可以达到高效的消息队列

  6. kafka源码分析之一server启动分析

    0. 关键概念 关键概念 Concepts Function Topic 用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. Partition 是Kafka中横向扩展和一 ...

  7. Kafka副本管理—— 为何去掉replica.lag.max.messages参数

    今天查看Kafka 0.10.0的官方文档,发现了这样一句话:Configuration parameter replica.lag.max.messages was removed. Partiti ...

  8. Kafka:主要参数详解(转)

    原文地址:http://kafka.apache.org/documentation.html ############################# System ############### ...

  9. kafka

    2016-11-13  20:48:43 简单说明什么是kafka? Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息 ...

随机推荐

  1. ArcGIS 网络分析[1.4] 制作点线要素时需要注意的地方

    有很多同学虽然成功做好了网络数据集,但是分析时会出现这样的问题: 这是为什么呢? 这有三个可能的原因: 1. 两个点之间所有的道路没有连通(问题出在点.线数据上). 2. 网络数据集出现了孤立的点位置 ...

  2. EL表达式隐式对象

    用户输入界面 ---------------------------------------------------------------------------------------- < ...

  3. php html5 文件上传 (原创)

    今天自己写了一个HTML5+FileReader+php 的文件上传,ajax异步上传也支持 git 下载:git clone https://github.com/jiechengyang/HTML ...

  4. 微信小程序开发之模板消息

    一.添加模板 登录https://mp.weixin.qq.com获取模板,如果没有合适的模板,可以申请添加新模板,审核通过后可使用,详见模板审核说明 页面的 <form/> 组件,属性r ...

  5. 教育改革——国家认证 “网红” 编程语言 Python

     特大消息!!!  不止是上海计算机二级考试 ,全国计算机考试等级考试也有要求 如果你正打算考计算机等级,那你需要学习以下知识 要求学习的知识太多了,我就不一一在这里展示了! 一.考试改革的目标 据悉 ...

  6. golang 栈操作

    Monk's Love for Food   Our monk loves food. Hence,he took up position of a manager at Sagar,a restau ...

  7. JS获取前天、昨天、今天、明天、后天的时间

    GetDateStr = function(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+AddDayCount);//获取A ...

  8. 快速开发基于 HTML5 网络拓扑图应用--入门篇(一)

    计算机网络的拓扑结构是引用拓扑学中研究与大小,形状无关的点.线关系的方法.把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构.网络的拓扑结构 ...

  9. MAC上安装mysql及workbench

    下载mysql for mac    https://dev.mysql.com/downloads/installer/ 官网下载很慢---百度云:链接: https://pan.baidu.com ...

  10. dt dl列表布局

    项目需要中 左边是房屋地址,右边显示几套房屋,如下图显示 ============ 开始想到使用 div标签,里面嵌套几个span,但是不利于对齐显示,一行还可以,多行了不方便 查找使用dl dt布局 ...