HBase をインストールする方法 Ubuntu (HBaseのインストール)
Apache HBase インストール モード
Apache HBase は XNUMX つのモードでインストールできます。 これらのモードの特徴は次のとおりです。
1) スタンドアロン モードのインストール (Hadoop システムに依存しない)
- これは HBase のデフォルト モードです
- ローカルファイルシステムに対して実行されます
- 使いません Hadoopの HDFS
- HMaster デーモンのみが実行可能
- 実稼働環境には推奨されません
- 単一の JVM で実行
2) 擬似分散モードインストール (シングルノード Hadoop システム + HBase インストール)
- それは実行されます Hadoop HDFS
- すべてのデーモンは単一ノードで実行されます
- 本番環境に推奨
3) 完全分散モードのインストール (MultinodeHadoop 環境 + HBase インストール)
- それは実行されます Hadoop HDFS
- すべてのデーモンはクラスタ内のすべてのノードで実行されます
- 実稼働環境に強く推奨
HadoopのインストールについてはこちらのURLを参照してください ここに
HBase tar ファイルの安定版をダウンロードする方法
ステップ1) リンクへ こちら HBase をダウンロードします。 以下に示すような Web ページが開きます。
ステップ2) 以下に示すように安定バージョンを選択します 1.1.2 バージョン
ステップ3) hbase-1.1.2-bin.tar.gz をクリックします。 tarファイルがダウンロードされます。 tar ファイルをインストール場所にコピーします。
HBase をインストールする方法 Ubuntu スタンドアロンモードあり
ここでは、HBase スタンドアロン モードのインストールの段階的なプロセスを示します。 Ubuntu:
ステップ1) 以下のコマンドを配置します
hbase-1.1.2-bin.tar.gz を /home/hduser に配置します
ステップ 2) コマンド $tar -xvf hbase-1.1.2-bin.tar.gz を実行して解凍します。
内容が解凍され、/home/hduser の場所に hbase-1.1.2 が作成されます。
ステップ 3) hbase-env.sh を開く
以下のように hbase-env.sh を開き、その場所に JAVA_HOME パスを記載します。
ステップ 4) ファイルを開いてパスを指定します
~/.bashrc ファイルを開き、以下に示すように HBASE_HOME パスを指定します。
エクスポート HBASE_HOME=/home/hduser/hbase-1.1.1 エクスポート PATH= $PATH:$HBASE_HOME/bin |
ステップ 5) ファイルにプロパティを追加します
hbase-site.xmlを開き、ファイル内に次のプロパティを配置します。
hduser@ubuntu$ gedit hbase-site.xml(コードは以下の通り)
<property> <name>hbase.rootdir</name> <value>file:///home/hduser/HBASE/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/HBASE/zookeeper</value> </property>
ここでは XNUMX つのプロパティを配置します
- XNUMX つは HBase ルート ディレクトリ用、もう XNUMX つは HBase ルート ディレクトリ用です。
- XNUMX 番目のデータ ディレクトリは ZooKeeper に対応します。
すべての HMaster および ZooKeeper アクティビティは、この hbase-site.xml を指します。
ステップ 6) IP を指定します
/etc にある hosts ファイルを開きます。 以下に示すように、場所を指定して IP を指定します。
ステップ 7) 次に、以下に示すように、hbase-1.1.1/bin の場所で Start-hbase.sh を実行します。
そして、jps コマンドで HMaster が実行されているかどうかを確認できます。
ステップ 8) HBase シェルを開始する
HBase シェルは「」を使用して起動できます。hbaseシェル” すると、以下のスクリーンショットに示すように、対話型シェル モードに入ります。 シェルモードに入ると、あらゆる種類のコマンドを実行できるようになります。
スタンドアロン モードでは、Hadoop デーモンを起動する必要はありません。 HBase は独立して実行できます。
HBase の擬似分散モードのインストール
これは、Apache HBase インストールの別の方法であり、擬似分散モードのインストールとして知られています。
以下は、擬似分散モードで HBase をインストールする手順です。
ステップ1) hbase-1.1.2-bin.tar.gz を /home/hduser に配置します
ステップ2) command$tar -xvf hbase-1.1.2-bin.tar.gz を実行して解凍します。 内容が解凍され、/home/hduser の場所に hbase-1.1.2 が作成されます。
ステップ3) 以下のようにhbase-env.shを開き、JAVA_HOMEパスとリージョンサーバーのパスをその場所に指定し、次のようにコマンドをエクスポートします。
ステップ4) このステップでは、~/.bashrc ファイルを開き、スクリーンショットに示すように HBASE_HOME パスを指定します。
ステップ5) HBase-site.xml を開き、ファイル内の以下のプロパティを記述します。(コードは以下の通り)
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>localhost</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hbase.zookeeper.property.clientPort</name> <value>2181</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hduser/hbase/zookeeper</value> </property>
- このプロパティでの Hbase ルート ディレクトリの設定
- 分散セットアップの場合、このプロパティを設定する必要があります
- ZooKeeper クォーラム プロパティをここで設定する必要があります
- レプリケーションの設定はこのプロパティで行われます。 デフォルトでは、レプリケーションを 1 に設定します。完全分散モードでは、複数のデータ ノードが存在するため、dfs.replication プロパティに 1 つ以上の値を設定することでレプリケーションを増やすことができます。
- このプロパティにはクライアント ポートを指定する必要があります
- ZooKeeper データ ディレクトリはこのプロパティで指定できます。
ステップ6) 以下に示すように、最初に Hadoop デーモンを起動し、その後 HBase デーモンを起動します。
ここではまず、次を使用して Hadoop デーモンを起動する必要があります「./start-all.sh」 以下に示すようにコマンドを実行します。
hbase-start.sh による Hbase デーモンの起動後
今すぐJPをチェックしてください
HBase 完全分散モードのインストール
- このセットアップは、クラスター全体で複数のノードが生成されて実行される Hadoop クラスター モードで機能します。
- インストールは擬似分散モードと同じです。 唯一の違いは、複数のノードにわたって生成されることです。
- HBase-site.xml および hbase-env.sh で説明されている構成ファイルは、擬似モードで説明されているものと同じです。
HBase インストールのトラブルシューティング
1) 問題提起: マスターサーバーは初期化されるが、リージョンサーバーは初期化されない
IP アドレスを介したマスター サーバーとリージョン サーバー間の通信。 マスターがリージョンサーバーが実行されているか、または IP アドレスが 127.0.0.1 であることをリッスンする方法と同様です。 IP アドレス 127.0.0.1 はローカルホストであり、マスターサーバー自体のローカルホストに解決されます。
原因:
リージョンサーバーとマスター間の二重通信では、リージョンサーバーはマスターサーバーに IP アドレスが 127.0.0.1 であることを継続的に通知します。
解決策:
- hostsファイルに存在するローカルホストからマスターサーバー名ノードを削除する必要があります
- ホストファイルの場所 /etc/hosts
何を変更するか:
/etc./hosts を開いてこの場所に移動します
127.0.0.1 fully.qualified.regionservernameregionservername localhost.localdomain localhost : : 1 localhost3.localdomain3 localdomain3
上記の設定を以下のように変更します (上で強調表示されているリージョン サーバー名を削除します)
127.0.0.1 localhost.localdomainlocalhost : : 1 localhost3.localdomain3 localdomain3
2) 問題提起: 私のアドレスが見つかりませんでした: Zookeeper クォーラム サーバーのリストの XYZ
原因:
- ZooKeeper サーバーを起動できず、サーバー名に .xyz のようなエラーがスローされます。
- HBase は、あるマシン上で ZooKeeper サーバーを起動しようとしますが、同時にマシン自体がクォーラム構成を見つけることができません。つまり、 HBase.zookeeper.quorum 設定ファイル
解決:-
- ホスト名をエラー メッセージに表示されているホスト名に置き換える必要があります
- DNS サーバーがあると仮定すると、HBase-site.xml で以下の構成を設定できます。
- HBase.zookeeper.dns.インターフェイス
- HBase.zookeeper.dns.nameserver
3) 問題提起: Hadoop DFS を介して HBase のルート ディレクトリを作成しました
- マスターは、HBase 移行スクリプトを実行する必要があると言います。
- それを実行すると、HBase 移行スクリプトは、ルート ディレクトリにファイルが存在しないように応答します。.
原因:
- を使用して HBase 用の新しいディレクトリを作成します Hadoopの 分散ファイルシステム
- ここで、HBase は XNUMX つの可能性を想定しています。
1) ルートディレクトリが存在しないこと
2) 以前に初期化された HBase の以前の実行インスタンス
解決策:
- HBase ルート ディレクトリが現在存在しないか、HBase インスタンスの以前の実行によって初期化されていることに準拠します。
- 解決策の一環として、次の手順に従う必要があります
ステップ1) Hadoop dfs を使用して HBase ルート ディレクトリを削除する
ステップ2) HBase は独自にディレクトリを作成して初期化します
4) 問題ステートメント: Zookeeper セッションの期限切れイベント
原因:
- HMaster または HRegion サーバーが例外をスローしてシャットダウンする
- ログを観察すると、スローされた実際の例外を見つけることができます。
以下は、Zookeeper の有効期限切れイベントによってスローされた例外を示しています。強調表示されたイベントは、ログ ファイルで発生した例外の一部です。
ログ ファイルのコードは次のようになります。
WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000f to sun.nio.ch.SelectionKeyImpl@355811ec java.io.IOException: TIMED OUT at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:906) WARN org.apache.hadoop.hbase.util.Sleeper: We slept 79410ms, ten times longer than scheduled: 5000 INFO org.apache.zookeeper.ClientCnxn: Attempting connection to server hostname/IP:PORT INFO org.apache.zookeeper.ClientCnxn: Priming connection to java.nio.channels.SocketChannel[connected local=/IP:PORT remote=hostname/IP:PORT] INFO org.apache.zookeeper.ClientCnxn: Server connection successful WARN org.apache.zookeeper.ClientCnxn: Exception closing session 0x278bd16a96000d to sun.nio.ch.SelectionKeyImpl@3544d65e java.io.IOException: Session Expired at org.apache.zookeeper.ClientCnxn$SendThread.readConnectResult(ClientCnxn.java:589) at org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:709) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:945) ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expired
解決策:
- デフォルトの RAM サイズは 1 GB です。 長時間実行されるインポートを行うために、1 GB 以上の RAM 容量を維持しました。
- セッションタイムアウトを増やす必要があります 動物園の飼育係.
- Zookeeper のセッション時間を増やすには、hbase /conf フォルダー パスにある「hbase-site.xml」の次のプロパティを変更する必要があります。
- デフォルトのセッションタイムアウトは 60 秒です。 以下のように、120 秒に変更できます。
<property> <name> zookeeper.session.timeout </name> <value>1200000</value> </property> <property> <name> hbase.zookeeper.property.tickTime </name> <value>6000</value> </property>