0

hadoop-2.3 で集中キャッシュを使用したい。

ここに私のステップがあります。(10 ノード、各ノード 6g メモリ)

1.キャッシュするファイル(45M)

[hadoop@Master ~]$ hadoop fs -ls /input/pics/bundle
Found 1 items
-rw-r--r--   1 hadoop supergroup   47185920 2014-03-09 19:10 /input/pics/bundle/bundle.chq

2.キャッシュプールの作成

[hadoop@Master ~]$ hdfs cacheadmin -addPool myPool -owner hadoop -group supergroup 
Successfully added cache pool myPool.
[hadoop@Master ~]$ hdfs cacheadmin -listPools -stats  
Found 1 result.
NAME    OWNER   GROUP       MODE            LIMIT  MAXTTL  BYTES_NEEDED  BYTES_CACHED  BYTES_OVERLIMIT  FILES_NEEDED  FILES_CACHED
myPool  hadoop  supergroup  rwxr-xr-x   unlimited   never             0             0                0             0             0

3.addディレクティブ

[hadoop@Master ~]$ hdfs cacheadmin -addDirective -path /input/pics/bundle/bundle.chq -pool myPool -force -replication 3 
Added cache directive 2

4.listディレクティブ

[hadoop@Master ~]$ hdfs cacheadmin -listDirectives -stats -path /input/pics/bundle/bundle.chq -pool myPool
Found 1 entry
ID POOL     REPL EXPIRY  PATH                            BYTES_NEEDED  BYTES_CACHED  FILES_NEEDED  FILES_CACHED
2 myPool      3 never   /input/pics/bundle/bundle.chq      141557760             0             1             0

BYTES_NEEDED は正しいですが、BYTES_CACHED はゼロです。サイズは計算されているようですが、ファイルをメモリに入れるキャッシュ アクションは行われていません。ファイルをメモリにキャッシュする方法を教えてください。どうもありがとうございました。

4

2 に答える 2

0

Hadoop 2.3 では多数のバグを修正しました。HDFS キャッシュを使用するには、少なくとも Hadoop 2.4 を使用することをお勧めします。

詳細を確認するには、ログ メッセージを確認する必要があります。

于 2014-05-16T17:29:12.823 に答える
0

の出力を含めるhdfs dfsadmin -reportことも役立ちます。また、ここでのセットアップ手順に従っていることを確認することも役立ちます (つまり、ulimit を増やして dfs.datanode.max.locked.memory を設定します)。

http://hadoop.apache.org/docs/r2.3.0/hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html

于 2014-05-16T18:32:50.187 に答える