我是hadoop的新手.我启用了webhdfs并使用curl命令获取主目录.
curl -i"http://172.16.18.50:9000/webhdfs/v1/?op=GETHOMEDIRECTORY"
但是获取信息:来自server的空回复.这是conf文件:
core-site.xml ----
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://webHDFS0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/eins/hadoop-1.0.2/tmp</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
hdfs-site.xml ----
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>enabled</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
谁能提出一些建议?
Chr*_*ite 16
您正在尝试连接到NameNode IPC套接字(端口9000),而不是Web套接字(默认为50075).试试这个:
http://172.16.18.50:50075/webhdfs/v1/?op=GETHOMEDIRECTORY
Run Code Online (Sandbox Code Playgroud)
此外,您在hdfs-site.xml中的配置需要true而不是enabled其值:
hdfs-site.xml ----
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
Run Code Online (Sandbox Code Playgroud)
要确认一切正常,请查看namenode的日志,您应该看到类似的内容:
2012-05-22 06:23:42,176 INFO org.apache.hadoop.http.HttpServer: dfs.webhdfs.enabled = true
2012-05-22 06:23:42,177 INFO org.apache.hadoop.http.HttpServer: Added filter 'SPNEGO' (class=org.apache.hadoop.hdfs.web.AuthFilter)
2012-05-22 06:23:42,179 INFO org.apache.hadoop.http.HttpServer: addJerseyResourcePackage: packageName=org.apache.hadoop.hdfs.server.namenode.web.resources;org.apache.hadoop.hdfs.web.resources, pathSpec=/webhdfs/v1/*
Run Code Online (Sandbox Code Playgroud)
目前,我认为你的说:
2012-05-22 06:11:20,676 INFO org.apache.hadoop.http.HttpServer: dfs.webhdfs.enabled = false
Run Code Online (Sandbox Code Playgroud)