本地eclipse idea 写的Hadoop的API和 spark程序不能访问云服务器中的数据

外网ip不能访问云服务器中的hdfs:直接在本地电脑eclipse上跑hadoop的API会出现,

如下bug:这是因为在hadoop内部是通过内网ip地址访问的。所以你的公网ip地址在这个不起作用!!!

 

修改你云服务器的hdfs-site.xml文件:

添加如下:(黄色配置一定要加)

<property>
  <name>dfs.client.use.datanode.hostname</name>
  <value>true</value>
</property>
<property>
  <name>dfs.datanode.use.datanode.hostname</name>
  <value>true</value>
</property>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>

在编写hadoop API的时候。如果改了这些配置还是不行的话,就在代码中加上一句conf.set(“dfs.client.use.datanode.hostname”,”true”);

 

还有如果在idea中使用hdfs文件也会报错。同样的问题。出现入下bug

 

 

这个我直接在代码中设置也有问题。没起作用。

唯一的解决方案就是将配置hdfs-site.xml放入resource中,就能用了:

个人纳闷的地方就是,为什么我云服务器中明明加了这些配置,为什么跑代码的时候就没用用起来了???天坑!!!

云服务器要是像本地虚拟机那样方便就好了。

 

posted @ 2019-07-06 21:43  大魔王阿黎  阅读(382)  评论(0编辑  收藏  举报