在HDFS中数据读取是要通过datanode的,所以当客户端要求datanode读取时,datanode读取该文件并通过tcp传输到客户端,“short-circuit” 可以绕过datanode而使得客户端直接读取文件。
使用的时unix套接字/var/run or /var/lib,通过共享内存/dev/shm来交互信息。
<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>