我在aws上有一個hadoop羣集,我試圖通過hadoop客戶端從羣集外部訪問它。我可以成功hdfs dfs -ls
和看到所有的內容,但是當我嘗試put
或get
文件我得到這個錯誤:從羣集外部訪問hdfs
Exception in thread "main" java.lang.NullPointerException
at org.apache.hadoop.fs.FsShell.displayError(FsShell.java:304)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:289)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
at org.apache.hadoop.fs.FsShell.main(FsShell.java:340)
我已經安裝了集羣和我的本地機器都在Hadoop中2.6.0。我已將羣集的conf文件複製到本地計算機,並在hdfs-site.xml中有這些選項(以及其他一些選項)。
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.enable</name>
<value>false</value>
</property>
我的核心-site.xml中包含一個單一的財產集羣和客戶端:
<property>
<name>fs.defaultFS</name>
<value>hdfs://public-dns:9000</value>
<description>NameNode URI</description>
</property>
我發現類似的問題,但沒能找到解決這個。
這個問題沒有足夠的細節來幫助你。你是如何在本地機器上安裝hadoop命令行工具的? –
和你的'core-site.xml'? –
所以...我找不到任何真正的在線幫助。另一種方法是通過SSH進入集羣來運行所有'hdfs dfs'命令。 –