环境:ibm jdk , cdh2.35.0.2
需求:更新mapred-site.xml 中的mapreduce.map.java.opts 和
mapreduce.reduce.java.opts 中部分jvm相关的参数。 主要是去掉原来使用的大页面参数 Xlp 和增大xms xmx参数
目标:不重启集群的nodemanager进程,修改的mapred-site.xml中的项目是否会生效?
1.从ibm 官网下载jdk,bin包,直接安装ibmjdk.修改JAVA_HOME 在.bash_profile 和hadoop-env.sh 中。
2.修正sysctl.conf 中 vm.nr_hugepages =512 , 然后sysctl –p
3 然后执行 pi 的测试,发现一直报错,exit code 1 根据之前经验,知道 java vm 初始化失败,一直怀疑加上Xlp之后
没有成功初始化jvm可能内存不够,然后调大至1024,后至2048, (x86 上面pagesize 2048 kb)
然后重启机器,发现给的太多,机器无法使用,tty经常直接断开, 因为机器本身就配置了2g的内存。
遂改回到512,然后重启机器。
其实发现,有时候 sysctl –p 仍是不起作用,大页面的问题,还是建议直接重启机器。
然后再启动hadoop,进行测试,任务可以通过。
先测试的是-Xlp 给一定的参数。
然后去掉-xlp, 给一定的参数,都没问题。
这次实验也在cdh2.6上实验了,一样的情况。
hadoop的配置文件的修改,根据配置参数的情况,并不是所有的情况都需要重启相应的进程。
但有些项目是必须要启动的。虽然2。6版本中直接动态 加载部分配置。