Table des matières
背景:
ThriftServer实时监控系统的挑战
ThriftServer实时监控系统的架构与设计
Maison base de données tutoriel mysql HBase实战系列3—搭建ThriftServer实时监控系统

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

Jun 07, 2016 pm 04:30 PM
hbase 实战 实时 搭建 série

背景: 在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:
)
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La combinaison de Java et WebSocket : comment réaliser un streaming vidéo en temps réel La combinaison de Java et WebSocket : comment réaliser un streaming vidéo en temps réel Dec 17, 2023 pm 05:50 PM

Avec le développement continu de la technologie Internet, le streaming vidéo en temps réel est devenu une application importante dans le domaine Internet. Pour réaliser un streaming vidéo en temps réel, les technologies clés incluent WebSocket et Java. Cet article explique comment utiliser WebSocket et Java pour implémenter la lecture en streaming vidéo en temps réel et fournit des exemples de code pertinents. 1. Qu'est-ce que WebSocket ? WebSocket est un protocole de communication full-duplex sur une seule connexion TCP. Il est utilisé sur le Web.

Les noms de code complets de la série Xiaomi 15 révélés : Dada, Haotian, Xuanyuan Les noms de code complets de la série Xiaomi 15 révélés : Dada, Haotian, Xuanyuan Aug 22, 2024 pm 06:47 PM

La série Xiaomi Mi 15 devrait être officiellement lancée en octobre, et les noms de code de sa série complète ont été exposés dans la base de code MiCode des médias étrangers. Parmi eux, le produit phare Xiaomi Mi 15 Ultra porte le nom de code « Xuanyuan » (qui signifie « Xuanyuan »). Ce nom vient de l'Empereur Jaune dans la mythologie chinoise, qui symbolise la noblesse. Le Xiaomi 15 porte le nom de code « Dada », tandis que le Xiaomi 15Pro s'appelle « Haotian » (qui signifie « Haotian »). Le nom de code interne du Xiaomi Mi 15S Pro est « dijun », qui fait allusion à l'empereur Jun, le dieu créateur du « Classique des montagnes et des mers ». Couvertures de la série Xiaomi 15Ultra

Utiliser C++ pour implémenter des fonctions de traitement audio et vidéo en temps réel des systèmes embarqués Utiliser C++ pour implémenter des fonctions de traitement audio et vidéo en temps réel des systèmes embarqués Aug 27, 2023 pm 03:22 PM

Utiliser C++ pour implémenter les fonctions de traitement audio et vidéo en temps réel des systèmes embarqués La gamme d'applications des systèmes embarqués est de plus en plus étendue, notamment dans le domaine du traitement audio et vidéo, où la demande est croissante. Face à une telle demande, utiliser le langage C++ pour implémenter les fonctions de traitement audio et vidéo en temps réel des systèmes embarqués est devenu un choix courant. Cet article présentera comment utiliser le langage C++ pour développer des fonctions de traitement audio et vidéo en temps réel de systèmes embarqués, et donnera des exemples de code correspondants. Afin de réaliser la fonction de traitement audio et vidéo en temps réel, vous devez d'abord comprendre le processus de base du traitement audio et vidéo. D'une manière générale, l'audio et la vidéo

PHP pratique : exemple de code pour implémenter rapidement la séquence de Fibonacci PHP pratique : exemple de code pour implémenter rapidement la séquence de Fibonacci Mar 20, 2024 pm 02:24 PM

Pratique PHP : Exemple de code pour implémenter rapidement la séquence de Fibonacci La séquence de Fibonacci est une séquence très intéressante et courante en mathématiques. Elle est définie comme suit : le premier et le deuxième nombres sont 0 et 1, et à partir du troisième, en commençant par les nombres, chaque nombre. est la somme des deux nombres précédents. Les premiers nombres de la séquence de Fibonacci sont 0,1,1,2,3,5,8,13,21,... et ainsi de suite. En PHP, nous pouvons générer la séquence de Fibonacci par récursion et itération. Ci-dessous, nous montrerons ces deux

Le meilleur moment pour acheter la série Huawei Mate 60, la nouvelle élimination de l'IA + mise à niveau de l'image et profiter des promotions d'automne Le meilleur moment pour acheter la série Huawei Mate 60, la nouvelle élimination de l'IA + mise à niveau de l'image et profiter des promotions d'automne Aug 29, 2024 pm 03:33 PM

Depuis la mise en vente de la série Huawei Mate60 l’année dernière, j’utilise personnellement le Mate60Pro comme téléphone principal. En près d'un an, le Huawei Mate60Pro a subi plusieurs mises à niveau OTA et l'expérience globale a été considérablement améliorée, donnant aux gens le sentiment d'être constamment nouveaux. Par exemple, récemment, la série Huawei Mate60 a de nouveau reçu une mise à niveau majeure de ses capacités d'imagerie. Le premier est la nouvelle fonction d'élimination de l'IA, qui peut éliminer intelligemment les passants et les débris et remplir automatiquement les zones vides. Deuxièmement, la précision des couleurs et la clarté du téléobjectif de la caméra principale ont été considérablement améliorées. Étant donné que c'est la rentrée scolaire, la série Huawei Mate60 a également lancé une promotion d'automne : vous pouvez profiter d'une réduction allant jusqu'à 800 yuans lors de l'achat du téléphone, et le prix de départ est aussi bas que 4 999 yuans. Produits couramment utilisés et souvent nouveaux avec une grande valeur

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Comment utiliser Java Websocket pour implémenter la fonction de prévisions météo en temps réel ? Comment utiliser Java Websocket pour implémenter la fonction de prévisions météo en temps réel ? Dec 17, 2023 pm 05:10 PM

Comment utiliser JavaWebSocket pour implémenter la fonction de prévisions météo en temps réel ? Avec la popularité d’Internet et des appareils mobiles, la fonction de prévisions météorologiques en temps réel est devenue l’une des fonctions essentielles de nombreuses applications. L'utilisation de la technologie JavaWebSocket permet de réaliser une communication en temps réel de manière pratique et rapide, fournissant aux utilisateurs les dernières informations sur les prévisions météorologiques. Cet article explique comment utiliser JavaWebSocket pour implémenter la fonction de prévisions météorologiques en temps réel et fournit des exemples de code spécifiques. Préparation de l'environnement Avant de commencer, vous devez vous assurer que vous avez installé

Peut-on construire des bâtiments à l'état sauvage dans Mistlock Kingdom ? Peut-on construire des bâtiments à l'état sauvage dans Mistlock Kingdom ? Mar 07, 2024 pm 08:28 PM

Les joueurs peuvent collecter différents matériaux pour construire des bâtiments lorsqu'ils jouent dans le Royaume de Mistlock. De nombreux joueurs veulent savoir si les bâtiments ne peuvent pas être construits à l'état sauvage dans le Royaume de Mistlock. . Des bâtiments peuvent-ils être construits à l’état sauvage dans Mistlock Kingdom Réponse : Non. 1. Les bâtiments ne peuvent pas être construits dans les zones sauvages du Royaume de Mist Lock. 2. Le bâtiment doit être construit dans le cadre de l'autel. 3. Les joueurs peuvent placer eux-mêmes l'Autel du Feu Spirituel, mais une fois qu'ils auront quitté le champ de tir, ils ne pourront plus construire de bâtiments. 4. Nous pouvons également creuser directement un trou dans la montagne pour en faire notre maison, nous n’avons donc pas besoin de consommer de matériaux de construction. 5. Il existe un mécanisme de confort dans les bâtiments construits par les joueurs eux-mêmes, c'est-à-dire que plus l'intérieur est bon, plus le confort est élevé. 6. Un confort élevé apportera des bonus d'attributs aux joueurs, tels que

See all articles