記事のディレクトリ
インストールパッケージが私のリソースにアップロードされました
- クラスター構築
2.1インストール
2.1.1HBaseインストールパッケージをアップロードして解凍します
tar -xvzf hbase-2.1.0.tar.gz -C ../server/
2.1.2HBase構成ファイルの変更2.1.2.1hbase-env.sh
cd /export/server/hbase-2.1.0/conf
vim hbase-env.sh
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環境変数を構成する
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
#環境変数をロードする
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
node2.itcast.cnおよびnode3.itcast.cnに環境変数をロードします
source /etc/profile
2.1.7HBaseを起動します
cd /export/onekey
ZKを起動します
./start-zk.sh
Hadoopを開始する
start-dfs.sh
hbaseを開始します
start-hbase.sh
2.1.8Hbaseが正常に起動していることを確認します
hbaseシェルクライアントを起動します
hbase shell
ステータスを入力してください
[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インストールディレクトリの説明
ディレクトリ名の説明
binすべてのhbase関連コマンドはこのディレクトリに保存されますconf
すべてのhbase構成ファイルhbase-webappshbase webui
プログラムの場所libhbase依存のJavaライブラリログhbaseログファイル
2.4参照ハードウェア構成
約800TBのストレージスペースを持つクラスター内の各Javaプロセスの一般的なメモリ構成:プロセスヒープの説明NameNode 8
GB100TBのデータごとまたは100Wファイルごとに約1GBのNameNodeヒープメモリを
占有します。SecondaryNameNode8GBメインのNameNodeのEditLogをメモリでやり直します。したがって、構成はNameNodeの構成と同じである必要があり
ます
。DataNode1GBが適切です。ResourceManager4GBが適切です(これがMapReduceの推奨構成であることに注意してください)NodeManager 2GBが適切です(これがMapReduceの推奨構成であることに注意してください)HBase HMaster 4GB軽量負荷、適切な
HBase RegionServer 12GBの使用可能なメモリのほとんど、およびオペレーティングシステムキャッシュ、タスクプロセスは十分なスペースを残しますZooKeeper 1GB中程度の
推奨事項:NameNode、ResourceManager、およびHBaseHMasterを実行するマスターマシン。 24GB
スレーブマシンはDataNode、NodeManager、HBase RegionServerを実行する必要があります。24GB(およびそれ以上)を推奨します。CPU
コアの数に応じて、ノードで実行されるプロセスの数を選択します。例:2つの4コアCPU = 8コア。各Javaプロセスは独立してコアを占有できます(推奨:8コアCPU)
メモリが多いほど、使用中のフラグメントが多く生成されます。Javaヒープメモリが大きいほど
、メモリの整理に時間がかかります。例:RegionServerのヒープメモリを64GBに設定することは適切ではありません。FullGCによって待機時間が長くなり、待機時間が長くなると、マスターはノードがハングアップしたと判断して、ノードを削除する場合があります。