目录
背景:
ThriftServer实时监控系统的挑战
ThriftServer实时监控系统的架构与设计
首页 数据库 mysql教程 HBase实战系列3—搭建ThriftServer实时监控系统

HBase实战系列3—搭建ThriftServer实时监控系统

Jun 07, 2016 pm 04:30 PM
hbase 实战 实时 搭建 系列

背景: 在hbase应用中,如果使用C++来访问HBase,往往通过ThriftServer进行数据的读写,ThriftServer服务的状况直接影响了应用服务的体验。因此,在HBase ThriftServer之上的Metrics系统、以及实时监控系统,可以第一时间发现服务质量变化以及相关问题,同时

背景:

在hbase应用中,如果使用C++来访问HBase,往往通过ThriftServer进行数据的读写,ThriftServer服务的状况直接影响了应用服务的体验。因此,在HBase ThriftServer之上的Metrics系统、以及实时监控系统,可以第一时间发现服务质量变化以及相关问题,同时,良好的监控系统,也有助于服务的完善。

ThriftServer实时监控系统的挑战

1)ThriftServer的服务具有分散性。我们一般为不同的应用启动多个ThriftServer,那么如果我们想多维度统计分析某个应用的统计状况,就会比较困难。例如:百川抓取平台,随机使用多个ThriftServer进行读写操作,单个ThriftServer的实时请求状况可以很容易分析,但是如果想看整个百川平台对于HBase集群的整体压力,就必须实时地从不同的ThriftServer中收集相关读写请求的数据,然后还得将分散到不同节点上的数据,进行聚合和汇总。显然,这样工作或者可以通过中心统一的key-value store,或者通过分布式流数据处理平台。

2)报警平台采用分散式还是中心式的问题。ThriftServer是一个个体,不同的应用会把多个ThriftServer汇总在一起。那么我们如何对ThriftServer出现的问题进行报警是最有效和最健壮的,成为了设计实时监控系统需要考虑的重要问题之一。

3)?如何让监控信息可靠、并且容忍短时间错误。实时监控系统有一个特点就是,它数据是根据时间为横坐标,因此数据量较大,在整个系统中,整个系统不应该因部分Metrics没有处理,而影响到整体的监控平台的处理效果。

4)需要满足动态扩展性。因为ThriftServer依赖的HBase是动态可扩展的,那么ThriftServer监控系统也应该满足一定的扩展性,并提供足够强劲的Availability。

ThriftServer实时监控系统的架构与设计

为了更好地解决ThriftServer实时监控系统带来的挑战,该设计使用了两大特色的设计:

1)分散式报警

2)使用OpenTSDB收集实时数据。

架构图如下。

thriftserver-real-monitor

具体的设计如下:

1)每个ThriftServer都会启动一个Metrics线程,提供ReadRequestNum、WriteRequestNum、errorRequestNum的统计与汇报。具体设计思想来源于HBase Metrics和HBase Metrics的相关参数解读。这对应于上图中的实时统计信息。

2)分散式报警。分散式报警比集中报警的粒度更细,而且嵌入到每个ThriftServer中,没有中心控制平台的单点故障的问题。对于嵌入ThriftServer代码内部的不灵活性,这里利用HBase Metrics提供的配置文件,可以灵活配置相关报警的选项和Threshold。

3)中心收集平台。这里选用OpenTSDB主要考虑如下几点:

  • OpenTSDB可以实现分布式部署。
  • 支持tag模式,可以实现不同的统计需求
  • 支持Rate、Sum、Max、Min等统计,可以实现多个ThriftServer实时收集数据的汇总。
  • 提供了GnuPlot的实时绘图功能。
  • 数据容器依赖于Hbase,通过AsyncHbase实现数据的异步入库。

4)随机选择OpenTSDB Server,实现一定的load balance。并且需要实时监控Telnet连接的可用性,在连接错误时,实现OpenTSDB Server的动态切换。

本系列文章属于Binos_ICT在Binospace个人技术博客原创,原文链接为http://www.binospace.com/index.php/hbase-series-3-build-thriftserver-real-time-monitoring-system/,未经允许,不得在网上转载。

相关文章:

http://www.binospace.com/index.php/hbase-combat-series-1-compression-and-coding-techniques/

http://www.binospace.com/index.php/hbase-combat-series-2-region-monitoring/

From Binospace, post HBase实战系列3—搭建ThriftServer实时监控系统

文章的脚注信息由WordPress的wp-posturl插件自动生成


Copyright © 2008
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java和WebSocket的结合:如何实现实时视频流播放 Java和WebSocket的结合:如何实现实时视频流播放 Dec 17, 2023 pm 05:50 PM

随着互联网技术的不断发展,实时视频流已经成为了互联网领域的一个重要应用。要实现实时视频流播放,其中的关键技术包括WebSocket和Java。本文将介绍如何结合使用WebSocket和Java实现实时视频流播放,并提供相关的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工通信的协议,它在Web

小米 15 系列全代号曝光:Dada、Haotian、Xuanyuan 小米 15 系列全代号曝光:Dada、Haotian、Xuanyuan Aug 22, 2024 pm 06:47 PM

小米15系列预计将于10月份正式发布,其全系列代号已在外媒MiCode代码库中曝光。其中,旗舰级小米15Ultra代号为"Xuanyuan"(意为"轩辕"),此名源自中国神话中的黄帝,象征着尊贵。小米15的代号为"Dada",而小米15Pro则以"Haotian"(意为"昊天")为名。小米15SPro内部代号为"dijun",暗指《山海经》创世神帝俊。小米15Ultra系列涵盖

利用C++实现嵌入式系统的实时音视频处理功能 利用C++实现嵌入式系统的实时音视频处理功能 Aug 27, 2023 pm 03:22 PM

利用C++实现嵌入式系统的实时音视频处理功能嵌入式系统的应用范围越来越广泛,尤其在音视频处理领域的需求日益增长。面对这样的需求,利用C++语言实现嵌入式系统的实时音视频处理功能成为一种常见的选择。本文将介绍如何使用C++语言开发嵌入式系统的实时音视频处理功能,并给出相应的代码示例。为了实现实时音视频处理功能,首先需要理解音视频处理的基本流程。一般来说,音视频

PHP实战:快速实现斐波那契数列的代码示例 PHP实战:快速实现斐波那契数列的代码示例 Mar 20, 2024 pm 02:24 PM

PHP实战:快速实现斐波那契数列的代码示例斐波那契数列是数学中一个非常有趣且常见的数列,其定义如下:第一个和第二个数为0和1,从第三个数开始,每个数都是前两个数的和。斐波那契数列的前几个数字依次为0,1,1.2,3,5,8,13,21,...依此类推。在PHP中,我们可以通过递归和迭代两种方式来实现斐波那契数列的生成。下面我们分别来展示这两

华为 Mate 60 系列最佳入手时机,新增 AI 消除 + 影像升级,更可享秋日礼遇活动 华为 Mate 60 系列最佳入手时机,新增 AI 消除 + 影像升级,更可享秋日礼遇活动 Aug 29, 2024 pm 03:33 PM

自去年华为Mate60系列开售以来,我个人就一直将Mate60Pro作为主力机使用。在将近一年的时间里,华为Mate60Pro经过多次OTA升级,综合体验有了显着提升,给人一种常用常新的感觉。比如近期,华为Mate60系列就再度迎来了影像功能的重磅升级。首先是新增AI消除功能,可以智能消除路人、杂物并对空白部分进行自动补充;其次是主摄色准、长焦清晰度均有明显升级。考虑到现在是开学季,华为Mate60系列还推出了秋日礼遇活动:购机可享至高800元优惠,入手价低至4999元。常用常新的产品力加上超值

JavaScript和WebSocket:打造高效的实时天气预报系统 JavaScript和WebSocket:打造高效的实时天气预报系统 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

如何使用Java Websocket实现实时天气预报功能? 如何使用Java Websocket实现实时天气预报功能? Dec 17, 2023 pm 05:10 PM

如何使用JavaWebSocket实现实时天气预报功能?随着互联网和移动设备的普及,实时天气预报功能成为了许多应用的必备功能之一。而使用JavaWebSocket技术能够方便快捷地实现实时通信,为用户提供最新的天气预报信息。本文将介绍如何使用JavaWebSocket实现实时天气预报功能,并提供具体的代码示例。环境准备在开始之前,需要确保你已经安装好以

雾锁王国能野地搭建筑吗 雾锁王国能野地搭建筑吗 Mar 07, 2024 pm 08:28 PM

玩家在雾锁王国中进行游戏时可以收集不同的材料用来建造建筑,有很多玩家想知道野地搭建筑吗,雾锁王国能野地是不能搭建筑的,必须要在祭坛的范围内才可以搭建。雾锁王国能野地搭建筑吗答:不能。1、雾锁王国能野地是不能搭建筑的。2、建筑必须要在祭坛的范围内才可以搭建。3、玩家可以自行放置灵火祭坛,但一旦离开了范围,将无法进行建筑搭建。4、我们也可以直接在山上挖个洞当做我们的家,这样不用耗建筑材料。5、玩家自己搭建的建筑中,存在舒适度机制,也就是说,内饰越好,舒适度越高。6、高舒适度将为玩家带来属性加成,例如

See all articles