
正文
HDFS: The short-circuit local reads feature cannot be used
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
问题:
method:org.apache.hadoop.hdfs.DomainSocketFactory.<init>(DomainSocketFactory.java:69) The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.
不能使用local read的优化策略;
解决:
Hadoop的一大基本原则是移动计算的开销要比移动数据的开销小。因此,Hadoop通常是尽量移动计算到拥有数据的节点上。这就使得Hadoop中读取数据的客户端DFSClient和提供数据的Datanode经常是在一个节点上,也就造成了很多“Local Reads”。
修改配置如下:
<configuration>
<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<property>
<name>dfs.domain.socket.path</name>
<value>/var/lib/hadoop-hdfs/dn_socket</value>
</property>
</configuration>
参考:
http://blog.csdn.net/jewes/article/details/40189263







