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啟動完成后,再查詢數據發現一切正常了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM