一、关于集群启动后查看进程发现namenode未启动
首先是连接不上namenode,集群启动后打开jps却看不到namenode启动,当时看日志时提示端口号被占用。
日志里显示会抛出一个Bind异常
这个在网上查阅资料发现只需要把每台服务器映射自己的地址换成自己的内网IP即可。即保存在/etc/hosts里面的映射文件,肯定是保存了三台服务器的ip映射的,把当前主机改成对应的内网IP即可
图1
图2
图3
二、关于集群启动成功没问题之后却无法访问web页面
做完这个之后就发现集群是跑起来了,然后可以通过命令查看集群上的文件,但是却打不开配置的web网页,也检查了映射,三台服务器防火墙都关闭了,依旧无效,后面看到一篇博主的文章,是需要在云服务器上配置安全组开放端口,要不然单纯的关闭防火墙是没用的。链接在下面
https://blog.csdn.net/crazestone0614/article/details/126923555
三、后来用搭建好的Hadoop集群跑一个wordcount报错提示内存不够
当时报错的内容是说需要2.4G,只有2.1G,2.1是1G的物理内存,然后默认mapreduce.map.memory.mb大小是2.1,这个配置是物理内存与虚拟内存比例。我也尝试了许多说调大这个2.1倍率的,都不好使,最后是把mapreduce.map.memory.mb调大了一点使mapreduce.map.memory.mb*yarn.nodemanager.vmem-pmem-ratio>2.4就成功了,跑得很快。
<property>
<name>mapreduce.map.memory.mb</name>
<value>-1</value>
<description>这里value默认值是1024,也就是1GB,可以适当调大,我是调成了服务器配置的80%-90%</description>
</property>