Répertoire d'articles
Le package d'installation a été téléchargé dans mes ressources
- Construction du cluster
2.1 Installation
2.1.1 Télécharger et décompresser le package d'installation HBase
tar -xvzf hbase-2.1.0.tar.gz -C ../server/
2.1.2 Modifier le fichier de configuration HBase
2.1.2.1 hbase-env.sh
cd /export/server/hbase-2.1.0/conf
vim hbase-env.sh
Ligne 28
export JAVA_HOME=/export/server/jdk1.8.0_241/
export HBASE_MANAGES_ZK=false
2.1.2.2 hbase-site.xml
vim hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 0.98后的新变动,之前版本没有.port,默认端口为60000 -->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node01:2181,node02:2181,node03:2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/export/servers/zookeeper-3.4.5-cdh5.14.0/zkdata</value>
</property>
</configuration>
2.1.3 Configurer les variables d'environnement
Configurer les variables d'environnement Hbase
vim /etc/profile
export HBASE_HOME=/export/servers/hbase-1.2.0-cdh5.14.0
export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin
#Charger les variables d'environnement
source /etc/profile
2.1.4 复制jar包到lib
cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core-3.1.0-incubating.jar $HBASE_HOME/lib/
2.1.5 修改regionservers文件
vim regionservers
node1.itcast.cn
node2.itcast.cn
node3.itcast.cn
2.1.6 分发安装包与配置文件
cd /export/servers
scp -r hbase-2.1.0/ node2.itcast.cn:$PWD
scp -r hbase-2.1.0/ node3.itcast.cn:$PWD
scp -r /etc/profile node2.itcast.cn:/etc
scp -r /etc/profile node3.itcast.cn:/etc
Charger les variables d'environnement sur node2.itcast.cn et node3.itcast.cn
source /etc/profile
2.1.7 Démarrer HBase
cd /export/onekey
Démarrer ZK
./start-zk.sh
Démarrer hadoop
start-dfs.sh
Démarrer hbase
start-hbase.sh
2.1.8 Vérifier que Hbase a démarré avec succès
Démarrez le client shell hbase
hbase shell
Entrer le statut
[root@node1 onekey]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/export/server/hadoop-2.7.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/export/server/hbase-2.1.0/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
Version 2.1.0, re1673bb0bbfea21d6e5dba73e013b09b8b49b89b, Tue Jul 10 17:26:48 CST 2018
Took 0.0034 seconds
Ignoring executable-hooks-1.6.0 because its extensions are not built. Try: gem pristine executable-hooks --version 1.6.0
Ignoring gem-wrappers-1.4.0 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.4.0
2.4.1 :001 > status
1 active master, 0 backup masters, 3 servers, 0 dead, 0.6667 average load
Took 0.4562 seconds
2.4.1 :002 >
2.2 WebUI
http://node1.itcast.cn:16010/master-status
2.3 Description du répertoire d'installation Description
du nom du répertoire
bin Toutes les commandes liées à hbase sont stockées dans ce répertoire conf
tous les fichiers de configuration hbase hbase-webapps hbase
emplacement du programme de l' interface utilisateur Web lib journaux de la bibliothèque java dépendants de hbase fichiers journaux hbase
2.4 Configuration matérielle de référence
Une configuration de mémoire typique pour chaque processus Java dans un cluster avec environ 800 To d'espace de stockage: Description du tas de processus NameNode 8
Go Tous les 100 To de données ou tous les 100 W de fichiers occupent environ 1 Go de mémoire de tas NameNode.
SecondaryNameNode 8 Go Refaites le EditLog du NameNode principal en mémoire, donc La configuration doit être la même que celle du NameNode.
DataNode 1 Go est adéquat. ResourceManager 4 Go est adéquat (notez qu'il s'agit de la configuration recommandée pour MapReduce)
NodeManager 2 Go est adéquat (notez qu'il s'agit de la configuration recommandée pour MapReduce) HBase HMaster 4 Go Charge légère, appropriée peut
HBase RegionServer 12 Go la plupart de la mémoire disponible, ainsi que le cache du système d'exploitation, le processus de tâche laisse suffisamment d'espace ZooKeeper 1 Go
recommandation modérée : Master machine pour exécuter NameNode, ResourceManager et HBase HMaster, recommandez autour 24 Go
Les machines esclaves doivent exécuter DataNode, NodeManager et HBase RegionServer, recommandé 24 Go (et plus) Sélectionnez le
nombre de processus en cours d'exécution sur un nœud en fonction du nombre de cœurs de processeur, par exemple: deux CPU à 4 cœurs = 8 cœurs, Chaque processus Java peut occuper indépendamment un cœur (Recommandation: CPU à 8 cœurs)
morePlus il y a de mémoire, mieux c'est, il produira plus de fragments lors de l'utilisation.Plus la mémoire du tas Java est grande, plus
il faut de temps pour organiser la mémoire. Par exemple: ce n'est pas un bon choix de définir la mémoire de tas de RegionServer sur 64 Go. Une fois que FullGC provoquera une attente plus longue et que l'attente sera plus longue, le maître peut penser que le nœud a raccroché, puis supprimer le nœud