请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

阿里云8020端口不通

本地IDEA代码

https://img1.sycdn.imooc.com//szimg/5e7adc80082097a113650895.jpg

刚开始没有报错,但是后面去服务器端查询,并没有创建出相应的目录

https://img1.sycdn.imooc.com//szimg/5e7adcf008cc767805360080.jpg

然后再过了一会,本地IDEA显示连接超时。我用wget命令查询了50070和8020端口是否连通

https://img1.sycdn.imooc.com/szimg/5e7addba080eefb806950275.jpg

50070是connected。8020端口开始是连通的,但是后面显示404 Not Found。说明8020端口是不通的

然后我咨询了阿里云售后工程师 404 Not Found 是什么原因

https://img1.sycdn.imooc.com//szimg/5e7adef2087d401a07290090.jpg

https://img1.sycdn.imooc.com//szimg/5e7adf460849b82616460203.jpg

但是我记得在部署HDFS的时候,只修改了这两个文件。并没有在某个端口处添加index.html文件

https://img1.sycdn.imooc.com//szimg/5e7ae00208fa2f5408970510.jpg

请问老师是否有相关站点文件的设置?

已经Google了两天,接近崩溃。还是没办法解决这个问题的话,只能换VM了




正在回答 回答被采纳积分+3

1回答

Michael_PK 2020-03-25 13:48:02

知道你这出现的问题了,你按照如下几条去检查

1)你的8020端口 云主机是否以及开发出来了,去云主机后台的安全组确认下

2)客户端和云主机使用公网访问,云主机内部的都使用内网访问,如果云主机的hosts需要添加内网和hostname的设置

3)对于云主机:所有的操作都要使用hostname去访问,hadoop默认走的是ip,所以你可以在hdfssite中添加

<property>

        <name>dfs.datanode.use.datanode.hostname</name>

        <value>true</value>

    </property>

然后在客户端Configuration中设置dfs.client.use.datanode.hostname为true


使用云主机开发,基本就是如上描述的三个问题


0 回复 有任何疑惑可以回复我~
  • 提问者 AlexChan2333 #1
    好的,谢谢老师。
    1)在安全组规则中的入方向设置了8020端口,说明8020端口开发出来了
    2)不是太明白,需要在哪里做修改
    3)云主机hdfs-site中有添加这段代码。
    但是在IDEA我这样添加:
    Configuration configuration = new Configuration();
            Configuration dfs.client.use.datanode.hostname = true;
            FileSystem fileSystem = FileSystem.get(new URI("hdfs://hadoop000:8020"),configuration,"hadoop");
    中间添加的那部分代码有报错,不清楚怎么设置
    回复 有任何疑惑可以回复我~ 2020-03-25 14:46:08
  • Michael_PK 回复 提问者 AlexChan2333 #2
    第二个 你的云主机的ip和hostname映射文件
    回复 有任何疑惑可以回复我~ 2020-03-25 16:45:43
  • 提问者 AlexChan2333 回复 Michael_PK #3
    回复 Michael_PK大概懂了,谢谢老师。
    请问老师映射文件中云主机的ip是私网ip吗?
    还有就是老师一开始给我说的第三步在客户端Configuration中设置dfs.client.use.datanode.hostname为true,这个具体怎么设置?或者说在哪里添加什么代码。这个我比较迷茫
    回复 有任何疑惑可以回复我~ 2020-03-25 21:09:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信