독립 실행 형 버전 인 hadoop 2.5.0을 배포하려고합니다. 그러나 데이터 노드가 시작되지 않습니다. 로그 인쇄 :hadoop 2.5.0이 데이터 노드를 시작하지 못했습니다.
2014-10-20 13:42:13,288 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.createDescriptor0(Ljava/lang/String;Ljava/lang/String;I)Ljava/io/FileDescriptor;
at org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.createDescriptor0(Native Method)
at org.apache.hadoop.io.nativeio.SharedFileDescriptorFactory.create(SharedFileDescriptorFactory.java:87)
at org.apache.hadoop.hdfs.server.datanode.ShortCircuitRegistry.<init>(ShortCircuitRegistry.java:165)
at org.apache.hadoop.hdfs.server.datanode.DataNode.initDataXceiver(DataNode.java:586)
at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:773)
at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:292)
at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1895)
at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1782)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1829)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2005)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2029)
Google 검색 중 일부가 유용하지 않습니다. 그런 다음 오류가 원시 라이브러리와 어떻게 든 관련되어 있기 때문에 내 컴퓨터 (X86-64 CentOS 6.5)에서 hadoop-2.5.0을 컴파일하려고 시도했지만 동일한 오류가 발생했습니다. 나도 cdh 판을 시험해 보았다, 아직도 좋지 않았다.
내 HDFS-site.xml 파일 :
<property>
<name>fs.checkpoint.dir</name>
<value>/home/seg3/namesecondary</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/seg2/datanodedir</value>
</property>
<property>
<name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.block.local-path-access.user</name>
<value>root</value>
</property>
<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<property>
<name>dfs.domain.socket.path</name>
<value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>
<property>
<name>dfs.client.file-block-storage-locations.timeout</name>
<value>10000</value>
</property>
그리고 코어를 site.xml :
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>10080</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>10080</value>
</property>
<property>
<name>io.native.lib.available</name>
<value>false</value>
</property>
어떤 아이디어? BTW, hadoop 2.3.0은 제 컴퓨터에서 완벽하게 작동합니다.