Hadoop NameNode启动后自动关闭解决方法
Hadoop NameNode启动后过一会自动关闭了,查看日志文件报内存溢出异常:
tail -100 /bigdata/logs/hadoop/hadoop-root-namenode-node1.log
解决方法:
修改配置文件$HADOOP_HOME/etc/hadoop/hadoop-env.sh,增加NameNode和SecondaryNamenode的内存。
Hadoop为各个守护进程(namenode、secondaryNamenode、datanode)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认大小为1000MB。大部分情况下,这个统一设置的值可能并不适合。例如对于NameNode节点,1000M的内存只能存储几百万个文件的数据块的引用。
增大NameNode的内存,即修改hadoop-env.sh文件中HADOOP_NAMENODE_OPTS参数,添加配置 -Xmx2048m (设置为2048MB)。如果要设置SecondaryNamenode的使用内存,同样通过设置HADOOP_SECONDARYNAMENODE_OPTS参数来提高SecondaryNamenode的使用内存。另需注意服务器的实际内存大小。
例如以下解决方法,添加NameNode最大内存4G,最小内存4G:
修改完成后,启动HDFS,查看HDFS的文件,此时发现报拒绝连接的异常:
查看HDFS Web界面,发现NameNode正在启动(还没有启动完),因为NameNode启动时需要读取元数据信息,若数据量太大,则启动时间比较长:
待NameNode启动完成后,再查询数据发现一切正常了。
更多内容及Java+大数据个人原创视频,可关注公众号观看:
原创文章,转载请注明出处!!
原创文章,转载请注明出处!!