Kafka监控安装
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 |
官网的命令带有--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监控安装的更多相关文章
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- 消息队列 Kafka 的基本知识及 .NET Core 客户端
前言 最新项目中要用到消息队列来做消息的传输,之所以选着 Kafka 是因为要配合其他 java 项目中,所以就对 Kafka 了解了一下,也算是做个笔记吧. 本篇不谈论 Kafka 和其他的一些消息 ...
- kafka学习笔记:知识点整理
一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...
- .net windows Kafka 安装与使用入门(入门笔记)
完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS 在环境搭建过程中遇到两个问题,在这里先列出来,以方便查询: 1. \Jav ...
- kafka配置与使用实例
kafka作为消息队列,在与netty.多线程配合使用时,可以达到高效的消息队列
- kafka源码分析之一server启动分析
0. 关键概念 关键概念 Concepts Function Topic 用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. Partition 是Kafka中横向扩展和一 ...
- Kafka副本管理—— 为何去掉replica.lag.max.messages参数
今天查看Kafka 0.10.0的官方文档,发现了这样一句话:Configuration parameter replica.lag.max.messages was removed. Partiti ...
- Kafka:主要参数详解(转)
原文地址:http://kafka.apache.org/documentation.html ############################# System ############### ...
- kafka
2016-11-13 20:48:43 简单说明什么是kafka? Apache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这边就先简单的解释一下什么是消息 ...
随机推荐
- bzoj 4444: [Scoi2015]国旗计划
Description A国正在开展一项伟大的计划--国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这 项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的 ...
- nova创建虚拟机源码分析系列之一 restful api
开始学习openstack源码,源码文件多,分支不少.按照学习的方法走通一条线是最好的,而网上推荐的最多的就是nova创建虚机的过程.从这一条线入手,能够贯穿openstack核心服务.写博文仅做学习 ...
- bat获取系统时间修改系统密码
@echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe&q ...
- 1.QT开发第一个程序
Ubuntu16.04安装QT5.8.0:http://www.cnblogs.com/dotnetcrazy/p/6725945.html QT5.8支持中文输入法(附带老版本的解决+不理想的情况解 ...
- Oracle添加记录的时候报错:违反完整性约束,未找到父项关键字
今天需要向一个没有接触过的一个Oracle数据库中添加一条记录,执行报错: 分析: 报错的根本原因:未找到父项关键字的原因是因为你在保存对象的时候缺失关联对象. 问题的解决思路:先保存关联对象后再保存 ...
- 记录优雅的pythonic代码
记录平时学习中接触到的和网上看到的一些pythonic的方法,只为日后查询时候方便. 1.列表推导式: seq_list=[1,2,3,4,5] new_list=[i *2 for i in seq ...
- windows 安装Mysql压缩包
1.将mysql压缩包解压至选定目录下 2.修改my-default.ini文件的以下内容 basedir = E:\develope_software\MySQL\mysql-advanced-5. ...
- SQL 多列合并一列
select rtrim(姓)+ rtrim(名) as 姓名 from tb
- Django__RBAC
RBAC : 基于角色的权限访问控制(Role-Based Access Control) RBAC 模型作为目前最为广泛接受的权限模型 角色访问控制(RBAC)引入了Role的概念,目的是为了隔离U ...
- Node.js 蚕食计划(三)—— Express 启航
如果看过上一篇<Node.js 蚕食计划>,就会发现手动搭建一个 web 服务器还是比较繁琐 而 express 就是一个可以极大地提高开发效率的 web 开发框架 一.创建项目 在 ex ...