Hbase conditions de réglage

Toute installation HBase grave nécessite une configuration standard sur votre cluster et sur les nœuds individuels. Quelques exemples sont fournis ici. Prenez d'abord un regard sur la surveillance et la gestion.

Sommaire

Outils de surveiller votre cluster

Si vous avez eu le privilège de l'ingénierie d'un système à un certain moment dans votre carrière, vous savez que vous faites face à l'important défi de venir avec une procédure de tests rigoureux pour assurer que votre système est prêt pour sa phase de production. Si vous ne prévoyez pas de test et de débogage dès le départ, vous aurez probablement manquer vos délais de production ou ne parviennent pas tout à fait.

Les committers Hbase et Hadoop fait en sorte que vous auriez un riche sous-métriques pour dessiner pendant la phase de débogage et de test. Vous pouvez trouver tous les détails désordre dans la documentation en ligne hbase, en particulier les sections traitant de HBase sauvegarde et la réplication.

La fonctionnalité de réplication de cluster est un outil clé lors du débogage, tuning ou si vous voulez exécuter la carte Réduire contre vos tables sans affecter les performances. Évidemment, vous aurez besoin pour reprise après sinistre ainsi.

Premiers contacts avec l'Hadoop outils de gestion jeu est étonnamment facile. HBase exploite la technologie Java Management Extensions (JMX) pour exposer les mesures clés. Et avec la machine virtuelle Java, vous obtenez également l'outil JConsole, un client JMX gratuit que vous pouvez utiliser pour afficher des métriques Hbase.

La distribution HBase nous avons travaillé avec (0.94.7) permet l'accès via JConsole par défaut, donc dans votre environnement autonome vous suffit de sélectionner le serveur HBase que vous souhaitez surveiller et JConsole vous présente ensuite avec une interface utilisateur graphique pour l'affichage du clavier les mesures du serveur.

Vous pouvez démarrer l'outil JConsole avec la commande suivante: $ JAVA_HOME / bin / jconsole

En outre, vous devez vous familiariser avec ces deux autres technologies open source pour le suivi de votre cluster HBase:




  • Ganglions: Souvent utilisé pour fournir des graphiques de suivi au fil du temps, les ganglions peut vous aider à repérer les problèmes qui se produisent de temps en temps ou seulement après plusieurs jours de fonctionnement.

  • Nagios: Nagios est utile si vous êtes un administrateur HBase et que vous voulez recevoir une page sur votre pager ou un e-mail si, par exemple, un RegionServer descend ou vous avez un problème de collecte des ordures dans votre cluster.

Si vous êtes exploitant HBase dans le cadre d'un produit commercial, assurez-vous de vérifier auprès de votre fournisseur pour un outil pour surveiller et gérer HBase.

Configuration cluster

HBase déploie généralement sur un cluster, et vous aurez besoin de faire quelques ajustements sur chacun de vos serveurs pour accueillir les composants Hbase. Une bonne première étape est d'assurer que les horloges système sur chaque serveur de votre cluster sont synchronisés.

Out of horloges système Sync sur votre serveurs peut vraiment confondre HBase, afin de vérifier le Network Time Protocol ou NTP pour faire court. Exécution du NTP sur votre cluster prendra soin de tous les problèmes de synchronisation de l'heure.

En outre, HBase est une application unique à certains égards, car il souligne votre système au-delà du niveau que les applications peuvent faire. La vérité est que HBase va être l'ouverture d'un grand nombre de fichiers - qui est juste la nature de la bête.

Compte tenu de ce fait, vous devez vous assurer que vos systèmes d'exploitation sont configurés pour gérer ce qui est sûr d'être une charge loin d'être typique de système de fichiers. Permutation dans votre Linux (systèmes mobiles entre le disque et la mémoire, en d'autres termes) d'exploitation peut avoir des effets très néfastes sur Zookeeper.

Enfin, il ya la machine virtuelle Java (JVM) qui va en fin de compte sur chacun de vos nœuds et exécute les processus Hbase. HBase met aussi le stress loin d'être typique sur la JVM. (Par exemple, le cache MemStore, qui exerce fortement le système de collecte des ordures, est sûr d'être taxés au maximum.)

Lorsque le MemStore est engagé à HFiles sur le HDFS, le tas Java est récupéré. Cela peut entraîner à long collecte des ordures pause si votre JVM est pas configuré correctement.

Donc, pour toutes ces raisons et d'autres que vous devriez revoir ces deux sections de la documentation en ligne hbase:

  • Configuration requise générale: Révision Chapitre 2 de la documentation en ligne hbase et surtout la section 2.5 intitulé «Les configurations importantes".

  • Java Virtual Machine: Déterminez les JVM que vous utilisez et assurez-vous qu'il a été testé pour la compatibilité avec HBase. La documentation en ligne hbase suggère Java 6 d'Oracle car Java 7 n'a pas été entièrement testé.

    Un autre JVM est J9 d'IBM. Si vous prévoyez d'utiliser J9, consultez la documentation IBM pour les dernières options en ligne de commande lors du démarrage de vos machines virtuelles Java.

Activation de la compression

Compression améliore les performances en réduisant HBase disque d'entrée / sortie général. Envisagez d'activer la compression des données, sauf si votre ne compresse pas bien (images, par exemple) ou si vos RegionServers ne peuvent pas gérer la charge CPU supplémentaire compression et la décompression nécessite.

La compression peut être activée via la commande shell HBase. Par défaut, la compression est désactivé par famille de colonne. Les types de compression supportés sont Gzip, LZO et Snappy (avec quelques autres dérivés disponibles et plus sur le chemin). GZIP est meilleur dans l'ensemble pour atteindre un bon taux de compression, mais LZO et Snappy sont plus rapides.

Gardez à l'esprit, cependant, que les deux LZO et codecs de compression Snappy doivent être installés séparée qui ne Gzip fonctionne sans autres étapes de configuration. La liste montre les étapes que vous devez activer la compression Gzip sur la clientèle Contactez-table de l'information:

HBase (principal): 007: 0> disable 'CustomerContactInfo'hbase (principal): 010: 0> alter' CustomerContactInfo ', {NOM =>' CustomerName ", compression => 'GZ'} HBase (principal): 014: 0 > décrire 'CustomerContactInfo'... {NOM => 'CustomerName ", REPLICATION_SCOPE =>' 0 ', KEEP_DELETED_CELLS =>, compression =>' GZ '' faux ', ... HBase (principal): 017: 0> enable' CustomerContactInfo '

» » » » Hbase conditions de réglage