Hbase のインストール構成
記事ディレクトリ
Hbase インストールの前提条件
- JDK
- Hadoop (Hadoop には Zookeeper が付属しているため、追加のダウンロードは必要ありません)
Hbase 圧縮パッケージをダウンロードする
ソフトウェアバージョンの互換性
Hadoop と Hbase
Hadoop とHbaseの間の対応関係については、Hbase の公式ドキュメントを参照し、「Hadoop バージョン サポート マトリックス」を検索してください: http://hbase.apache.org/book.html#basic.prerequisites
HBase と Hadoop のバージョンの対応は次のとおりです。
Hadoop のバージョンが2.10.2であることを確認してください
リリース中の Hbase の2.3.x シリーズ バージョン
HbaseとJDK
HBase と JDK バージョンの対応関係は次のとおりです。
ソフトウェアのインストール
ソフトウェアの場所
/usr/loca/hbase
データ保存フォルダとログ保存フォルダを作成する
hbase_data
hbase によって生成されたデータを保存するために使用されるディレクトリ
hbase_log
hbase 操作を記録するためのログ ディレクトリ
zookeeper_data
Zookeeper によって生成されたデータを保存するために使用されるディレクトリ
設定ファイルを変更する
hbase-site.xml
ファイルを変更する
Hadoop や HBase などの Apache プロジェクトには、通常、 や などのデフォルトの構成ファイルがいくつかあり
hadoop-default.xml
ますhbase-default.xml
。これらのデフォルト構成ファイルには、プロジェクトのデフォルト設定が含まれています。これらのプロジェクトをデプロイするとき、デフォルトの構成ファイルを直接変更することを避けるために、通常はまたは
<软件名>-site.xml
という名前の新しい構成ファイルを作成します。「サイト」接尾辞は、これらの構成が展開環境に固有であることを示します。こうすることで、プロジェクトが更新されたときに、デフォルト設定との競合を心配することなく、展開固有の設定を保存できます。これらの「サイト」構成ファイルの設定は、デフォルト構成ファイルの対応する設定をオーバーライドします。hadoop-site.xml
hbase-site.xml
<property>
<name>hbase.cluster.distributed</name> <!--是否是分布式配置-->
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name> <!-- 缓存文件的保存目录 -->
<value>./tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name> <!-- 不用管 -->
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/local/hbase/hbase-2.3.1/hbase_data</value> <!-- hbase的data保存目录,需要手动创建 -->
</property>
<property>
<name>hbase.zookeeper.quorum</name> <!-- 表示使用hbase自带的zookeeper -->
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name> <!-- zookeeper的端口号 -->
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name> <!-- zookeeper的data保存目录 -->
<value>/usr/local/hbase/hbase-2.3.1/zookeeper_data</value>
</property>
hbase-env.sh
ファイルを変更する
独自のJava 変数と Hadoop 変数を追加する
そしてログ保存ディレクトリ変数
export JAVA_HOME=/usr/local/Java/jdk1.8.0_361
export HADOOP_HOME=/usr/local/hadoop
export HBASE_MANAGES_ZK=false
export HBASE_LOG_DIR=/usr/local/hbase/hbase-2.3.1/hbase_log
~/.bashrc ファイルを変更する
hbase 環境変数を追加する
bin でコマンドをグローバルに使用できるようにします
#hbase
export HBASE_HOME=/usr/local/hbase/hbase-2.3.1
export PATH=$PATH:$HBASE_HOME/bin
hbaseを起動して確認する
からstart-hbase.sh
始める
hbase 関連と進行状況jps
がある場合は、起動が成功したことを意味することを確認するために使用します。HRegionServer
HMaster
権限の問題権限が拒否されました
ユーザーとユーザーグループを変更する
対象ディレクトリのユーザーとユーザーグループを現在のユーザーに変更します
sudo chown -R yourUserName:yourUserName <floderName>
ターゲットディレクトリの権限を変更する
通常、現在のユーザーにはターゲット フォルダーへの書き込み権限がないため、エラーが発生します。
したがって、現在のユーザーに対してディレクトリの書き込み権限を開く必要があります。
chmod -R 755 folder
: このコマンドは、指定したフォルダー (およびそのサブフォルダーとファイル) のアクセス許可を変更するために使用されます。
権限は 3 桁の数字で表され、各数字はファイル所有者、ファイルが属するグループ、およびその他のユーザーの権限を表します。
たとえば755
:
- 所有者 (最初の数字、7): 読み取り、書き込み、および実行権限を持ちます (7 = 4 + 2 + 1、4 は読み取り権限、2 は書き込み権限、1 は実行権限を意味します)
- ユーザーグループ (2 番目の番号、5): 読み取りおよび実行権限があります (5 = 4 + 1)
- 他のユーザー (3 番目の数字、つまり 5): 読み取り権限と実行権限を持っています (5 = 4 + 1)
したがって、現在のユーザーがターゲット ディレクトリまたはファイルに存在すると判断したユーザー グループでは、次のコマンドを使用して権限を変更できます。
sudo chown -R 775 <floderName>
SLF4J の問題: クラスパスには複数の SLF4J バインディングが含まれています。
SLF4J に関する複数のバインディングの問題:
この問題は、クラスパス内に複数の SLF4J バインディングが見つかったことが原因で発生します。この問題は HBase の起動失敗の直接の原因ではありませんが、潜在的な問題を回避するためにこの問題を修正することをお勧めします。
これを修正するには、Hadoop または HBase のカタログからlib
バインディングの 1 つを削除します。
lib/client-facing-thirdparty
HBase ディレクトリ下のslf4j-log4j12-1.7.30.jar
ファイルは削除できます。このようにして、SLF4J は Hadoop からのバインディングのみを使用しますslf4j-reload4j-1.7.36.jar
。
Hbase アプリケーションの組み合わせ
Hbase + Redis
Hbase + solr
ユーザーのポートレートを作成する
参照文書
Hadoop、Hbase、Hive、Zookeeper のバージョン互換性関係