我使用两个主机(hadoop-coc-1和hadoop-coc-2)尝试在其中配置hdf的联合。因此,我配置了 $ cat etc/hadoop/hdfs-site.xml
在两个主机中(hadoop-coc-1和hadoop-coc-2)。
两个hdf都与webhdfs一起正常运行。但是,在这种配置下,defaultfs服务没有运行。也许这就是我无法将数据从本地磁盘复制到hdfs的原因。
我尝试用以下命令复制数据:
$ hdfs dfs -copyFromLocal ~/input1 webhdfs://hadoop-coc-1/
Java HotSpot(TM) Client VM warning: You have loaded library /home/xubuntu/Programs/hadoop-2.6.0/lib/native/libhadoop.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
15/03/02 12:32:47 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
copyFromLocal: Connection refused
$ curl -i -X PUT -T ~/input1 "http://hadoop-coc-1:8080/?op=CREATE"
HTTP/1.1 100 Continue
HTTP/1.1 405 HTTP method PUT is not supported by this URL
Date: Mon, 02 Mar 2015 17:34:35 GMT
Pragma: no-cache
Date: Mon, 02 Mar 2015 17:34:35 GMT
Pragma: no-cache
Content-Length: 0
Server: Jetty(6.1.26)
我不明白为什么我不能将数据从本地磁盘复制到使用webhdfs协议的hdfs。理解这个错误有什么帮助吗?为什么我不能将数据从本地磁盘复制到hdfs?我配置好hdfs-site.xml了吗?
hadoop-coc-1和hadoop-coc-2主机中的hdfs-site.xml。
<configuration>
<property>
<name>dfs.nameservices</name>
<value>ns1,ns2</value>
</property>
<property>
<name>fs.defaultFS.ns1</name>
<value>hdfs://hadoop-coc-1:9000</value>
</property>
<property>
<name>fs.defaultFS.ns2</name>
<value>hdfs://hadoop-coc-2:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns1</name>
<value>hadoop-coc-1:6600</value>
</property>
<property>
<name>dfs.namenode.http-address.ns1</name>
<value>hadoop-coc-1:8080</value>
</property>
<property>
<name>dfs.namenode.secondaryhttp-address.ns1</name>
<value>hadoop-coc-1:8080</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns2</name>
<value>hadoop-coc-2:6600</value>
</property>
<property>
<name>dfs.namenode.http-address.ns2</name>
<value>hadoop-coc-2:8080</value>
</property>
<property>
<name>dfs.namenode.secondaryhttp-address.ns2</name>
<value>hadoop-coc-2:8080</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>
hdfs的联合允许有多个名称空间来访问hdfs。在我的配置中(请参阅hdfs site.xml),hadoop-coc-1和hadoop-coc-2主机具有相同hdfs的名称空间。我想知道是否有可能在每个使用相同hdfs的主机上运行两个yarn运行时?
1条答案
按热度按时间1mrurvl11#
默认web服务器端口为50070,数据由端口50075上的web服务器从datanodes流式传输。你在什么地方更改过这个配置吗?
此外,当您尝试将数据复制到webdfs时,您没有指定端口
http://hadoop.apache.org/docs/r1.0.4/webhdfs.html