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

    原文作者:bigbigtree
    原文地址: https://www.cnblogs.com/bigbigtree/p/6840270.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞