事件描述:
成都创新互联-专业网站定制、快速模板网站建设、高性价比甘南网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式甘南网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖甘南地区。费用合理售后完善,10多年实体公司更值得信赖。datanode内存被占用过大,负载过高,查看 hdfs dfsadmin -report 发现状态为 Dead ,查看datanode日志文件hadoop-sphuser-datanode-XXX.log ,发现下面的错误。
2019-05-11 16:20:26,551 ERROR org.apache.hadoop.hdfs.server.datanode.DirectoryScanner: Error compiling report
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.hadoop.hdfs.server.datanode.DirectoryScanner.getDiskReport(DirectoryScanner.java:566)
at org.apache.hadoop.hdfs.server.datanode.DirectoryScanner.scan(DirectoryScanner.java:425)
at org.apache.hadoop.hdfs.server.datanode.DirectoryScanner.reconcile(DirectoryScanner.java:406)
at org.apache.hadoop.hdfs.server.datanode.DirectoryScanner.run(DirectoryScanner.java:362)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
分析:
GC占用大量时间但释放很小空间,超出了GC开销限制。
Sun 官方对此的定义:超过98%的时间用来做GC并且回收了不到2%的堆内存时会抛出 java.lang.OutOfMemoryError 异常。
解决办法:
加大堆内存
优化GC
1)、编辑 namenode master节点的配置文件 etc/hadoop/hadoop-env.sh ,修改 HADOOP_DATANODE_OPTS 参数为下所示:
export HADOOP_LOG_DIR=/data/hadoop-2.7.3/logs
export HADOOP_DATANODE_OPTS="-Xmx16G -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSParallelRemarkEnabled -XX:+PrintTenuringDistribution"
参数说明:
JVM分别对新生代和旧生代采用不同的垃圾回收机制
并发收集器CMS具有响应时间优先的特点,所以是低延迟、低停顿的,CMS是老年代收集器。
-Xmx16G堆内存设置为16G
-XX:+UseParNewGC设置新生代内存收集为并行收集
-XX:+UseConcMarkSweepGC使用CMS垃圾收集器,来为老年代内存并行收集
-XX:CMSInitiatingOccupancyFraction=80设置Old区当对象存满80%的时候触发Full GC
-XX:+CMSParallelRemarkEnabled并行运行最终标记阶段,加快最终标记的速度,降低标记停顿
-XX:+PrintTenuringDistribution显示每次Minor GC时Survivor区中各个年龄段的对象的大小
2)、拷贝配置文件到集群的其他节点,然后重启服务
参考:
https://www.cnblogs.com/hit-zb/p/8651369.html
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。