hadoop无法访问70050(9870)
hadoop无法访问70050(9870)
最近装hadoop(windows系统),照着网上的教程装,装完后发现老多问题,最后在网上百度解决办法,还不错,搞定了80%的问题。那四个窗口也能打开了。
可是最后8088和9870还是无法访问。继续百度,8088解决了,可以访问,9870还是不行,8088怎么解决的具体忘了,参照的网上的方法,我主要说说9870的解决办法。
最开始我装的3.2.1版本的hadoop,网上说的无法访问9870 的解决办法,诸如关闭防火墙,还有在配置文件里加localhost:9870或者Localhost:9000;总之网上能搜到的办法都试过了,无法解决,请教专业人员,说是namenode没有起来。然而怎么解决还是不知道。说可能是windows有bug.
没办法,我卸掉了3.2.1,然后又尝试2.7.7,结果一样无法访问50070,后来继续研究,在格式化hdfs时发现有个报错;慢慢尝试,终于解决了问题;
其实也很简单,就是改了个配置文件:hdfs-site.xml
内容如下:
对比教程里的配置文件,里面添加了dfs.namenode.http.address,我之前也加过,但是为什么这次就能行了呢,因为格式问题,下面的value必须前面加http://
教程里应该都是localhost:9870这种,反正我加了http://后,再格式化hdfs namenode -format,就能进50070了(前提是先打开那四个窗口,再输地址),。
这样,无法访问的问题解决了;但还有个问题,格式化的时候可能会报警,虽然不影响访问,但最好还是解决掉,报警的原因是namenode和datanode的URI不符合要求,请检查更新;网上查了URI的标准格式,如上图中的name.dir和data.dir,在文件地址前面加上file://,如file:///E:/…
这样再去格式化,内容里就不会有error和警告。
至此,所有问题已解决,可以开始学习了。