Caching hadoop-2.3中的集中式缓存失败

Caching hadoop-2.3中的集中式缓存失败,caching,hadoop,in-memory,centralized,Caching,Hadoop,In Memory,Centralized,我想在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 ~]$ hdf

我想在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.2指令

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

[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
需要的字节数是正确的,但缓存的字节数是零。似乎大小已经计算过了,但将文件放入内存的缓存操作尚未完成。因此,如何将我的文件缓存到内存中。
非常感谢。

我们在Hadoop 2.3中修复了一堆bug。我建议至少使用Hadoop2.4来使用HDFS缓存


要了解更多详细信息,我需要查看日志消息。

包括
hdfs dfsadmin-report
的输出也很有用,同时确保您已按照此处的设置说明进行操作(即,增加ulimit并设置dfs.datanode.max.locked.memory):


谢谢。我将ulimit和dfs.datanode.max.locked.memory都增加到了256M,但似乎不起作用。天哪,大约10分钟后文件会缓存到内存中>\u谢谢。现在升级,我发现文件在hadoop-2.3上大约10分钟后被缓存到内存中。但奇怪的是,我的程序的性能没有得到改善。我以后会做更多的测试。