0

クラウド インフラストラクチャ上に Hbase クラスターをセットアップしています。
HBase バージョン: 0.94.11
Hadoop バージョン: 1.0.4

現在、クラスターには 4 つのノード (マスター 1 つ、リージョン サーバー 3 つ) があり、YCSB (yahoo ベンチマーク) を使用してテーブル (500.000 行) を作成し、READ リクエスト (非同期 READ リクエスト) を送信しています。このセットアップではすべてが正常に機能します (私は ganglia でホールプロセスを監視しており、YCSB の出力と組み合わせてラムダ、スループット、レイテンシーを取得しているため)、新しいリージョンサーバーをオンザフライで追加すると問題が発生します。リクエストを受け取りません。

「オンザフライ」とは:
YCSB がクラスターにリクエストを送信している間に、Python スクリプトを使用して新しいリージョンサーバーを追加しています。

追加プロセス (クラスターがリクエストを処理している間):

  1. 新しいリージョンサーバーとして機能し、必要なすべての側面 (hbase、hadoop、/etc/host、プライベートネットワークへの接続など) を構成する新しい VM を作成しています。
  2. **hbase** バランサーを停止しています
  3. 新しいノードの情報を使用してクラスター内のすべてのノードを構成する
    • ホスト名を regioserver ファイルに追加する
    • ホスト名を Hadoop のスレーブ ファイルに追加する
    • すべてのノードの /etc/host ファイルにホスト名と IP を追加する
  4. マスターノードで実行:
    • `hadoop/bin/start-dfs.sh`
    • `hadoop/bin/start-mapred.sh`
    • `hbase/bin/start-hbase.sh`
      (新しく追加されたノードで `hbase start regionserver` も実行しようとしましたが、最後のコマンドでまったく同じことを行います - regionserver を開始します)
  5. 新しく追加されたノードが稼働したら、**hadoop** ロード バランサーを実行します。
  6. Hadoop ロード バランサーが停止すると、**hbase** ロード バランサーを再開します

ssh 経由でマスター ノードに接続し、ロード バランサー (hbase/hadoop) が機能したことを確認します。これは、ブロックとリージョンの両方が、新しいものを含むすべてのリージョン サーバー/スレーブに均一に分散されているためです。
しかし、hbase シェルで status 'simple' を実行すると、新しいリージョン サーバーが要求を受け取っていないことがわかります。(以下は、2 つの新しいリージョンサーバー「okeanos-nodes-4/5」を追加した後のコマンドの出力です)

hbase(main):008:0> status 'simple'
5 live servers
    okeanos-nodes-1:60020 1380865800330
        requestsPerSecond=5379, numberOfOnlineRegions=4, usedHeapMB=175, maxHeapMB=3067
    okeanos-nodes-2:60020 1380865800738
        requestsPerSecond=5674, numberOfOnlineRegions=4, usedHeapMB=161, maxHeapMB=3067
    okeanos-nodes-5:60020 1380867725605
        requestsPerSecond=0, numberOfOnlineRegions=3, usedHeapMB=27, maxHeapMB=3067
    okeanos-nodes-3:60020 1380865800162
        requestsPerSecond=3871, numberOfOnlineRegions=5, usedHeapMB=162, maxHeapMB=3067
    okeanos-nodes-4:60020 1380866702216
        requestsPerSecond=0, numberOfOnlineRegions=3, usedHeapMB=29, maxHeapMB=3067
0 dead servers
Aggregate load: 14924, regions: 19

それらが要求を処理しないという事実は、CPU 使用率によっても証明されます。サービスを提供しているリージョンサーバーでは約 70% であるのに対し、これら 2 つの地域サーバーでは約 2% です。

以下は の出力ですhadoop dfsadmin -report。ブロックが均等に分散されていることがわかります ( によるとhadoop balancer -threshold 2)。

root@okeanos-nodes-master:~# /opt/hadoop-1.0.4/bin/hadoop dfsadmin -report
Configured Capacity: 105701683200 (98.44 GB)
Present Capacity: 86440648704 (80.5 GB)
DFS Remaining: 84188446720 (78.41 GB)
DFS Used: 2252201984 (2.1 GB)
DFS Used%: 2.61%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 5 (5 total, 0 dead)

Name: 10.0.0.11:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 309166080 (294.84 MB)
Non DFS Used: 3851579392 (3.59 GB)
DFS Remaining: 16979591168(15.81 GB)
DFS Used%: 1.46%
DFS Remaining%: 80.32%
Last contact: Fri Oct 04 11:30:31 EEST 2013


Name: 10.0.0.3:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 531652608 (507.02 MB)
Non DFS Used: 3852300288 (3.59 GB)
DFS Remaining: 16756383744(15.61 GB)
DFS Used%: 2.51%
DFS Remaining%: 79.26%
Last contact: Fri Oct 04 11:30:32 EEST 2013


Name: 10.0.0.5:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 502910976 (479.61 MB)
Non DFS Used: 3853029376 (3.59 GB)
DFS Remaining: 16784396288(15.63 GB)
DFS Used%: 2.38%
DFS Remaining%: 79.4%
Last contact: Fri Oct 04 11:30:32 EEST 2013


Name: 10.0.0.4:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 421974016 (402.43 MB)
Non DFS Used: 3852365824 (3.59 GB)
DFS Remaining: 16865996800(15.71 GB)
DFS Used%: 2%
DFS Remaining%: 79.78%
Last contact: Fri Oct 04 11:30:29 EEST 2013


Name: 10.0.0.10:50010
Decommission Status : Normal
Configured Capacity: 21140336640 (19.69 GB)
DFS Used: 486498304 (463.96 MB)
Non DFS Used: 3851759616 (3.59 GB)
DFS Remaining: 16802078720(15.65 GB)
DFS Used%: 2.3%
DFS Remaining%: 79.48%
Last contact: Fri Oct 04 11:30:29 EEST 2013

YCSB を停止し、hbase マスターを再起動し、YCSB を再起動しようとしましたが、不足はありませんでした..これらの 2 つのノードは要求を処理しません!

多くのログ ファイルと conf ファイルがあるため、マスターのログと conf (hbase と hadoop の両方)、リクエストを処理する正常なリージョン サーバーとリクエストを処理しないリージョン サーバーを含む zip ファイルを作成しました。 https://dl.dropboxusercontent.com/u/13480502/hbase_hadoop_logs__conf.zip

前もって感謝します!!

4

1 に答える 1

0

何が起こっているのかわかりましたが、Hbase とは関係ありませんでした... 新しい RS のホスト名と IP を YCSB サーバー VM (/etc/hosts ファイル) に追加するのを忘れていました... :-(

于 2013-10-04T13:09:41.807 に答える