2

完全分散モードの 3 台のマシンで hadoop1.0.3 を構成しました。最初のマシンでは、以下のジョブが実行されています。

1) 4316 SecondaryNameNode 4006 NameNode 4159 DataNode 4619 TaskTracker 4425 JobTracker

2) 2794 TaskTracker 2672 DataNode

3) 3338 DataNode 3447 TaskTracker

単純なマップ削減ジョブを実行すると、マップ削減ジョブの実行に時間がかかります。そのため、Hadoop に HBASE レイヤーをインストールしました。3 つのクラスターで HBASE のプロセスを以下に示します。

1)    5115 HQuorumPeer     5198 HMaster    5408 HRegionServer
2)    3719 HRegionServer    3617 HQuorumPeer
3)    2937 HQuorumPeer    2719 HRegionServer

1,00,000 データに対して HBASE で map-reduce ジョブを実行すると、1 分かかり、1,00,00,000 データでも同じでした。今では、結果を数ミリ秒で取得したいと考えています。改善するにはどのような手順を踏む必要がありますか?

私は初心者ですので、私を助けてください。または、HBASE または Hadoop を介したレイヤリングを提案してください。そうすれば、わずか数ミリ秒で結果を得ることができます。

以下の記録を要約しています。

hbase(main):007:0> describe 'weblog'
DESCRIPTION                                                                 ENABLED                                       
 'weblog', {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER =>    true
 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE'
 , MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS =>
 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false', 
  ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}   

ブログ テーブル -> info:category,info:hits は列です。

info:category info:hits

web             2

mail           10

ftp             1

web             3

mail           11

ftp             2

データは map reduce にまとめられ、別のテーブルに格納されます。

hbase(main):004:0> put 'weblog', 'row1', 'info:category', 'web'
0 row(s) in 0.0560 
hbase(main):004:0> put 'weblog', 'row1', 'info:hits', '2'
0 row(s) in 0.0560 

これについて助けてください。私はたくさんグーグルで検索しましたが、私に役立つものを見つけることができませんでした。

4

1 に答える 1