通过Cloudera Manager安装的Hadoop平台,全界面化操作,自带主机监控及各个组件的监控,煞是好用。但是,如果真的是自学的话,建议还是老老实实自己一个一个组件的装来的方便,hadoop相关的生态的组件不像想象的那么难那么复杂,反倒因为贪图简单易用安装的CM黑盒子封装的有点让人苦恼。
问题描述:
通过CM安装的hadoop平台,默认的log目录在/var/log目录,yarn的NodeManager的数据目录在根目录的/yarn目录下。还有Clouder Manager的process目录也在根目录的/var/lib/clouder-scm-agent目录下。这些都是占空间的大户,尤其log目录,随着时间的推移,根目录的50G很快就捉襟见肘了。所以,我的目标是尝试修改log的目录和yarn的数据目录。
提前说一下:我没有搞定,至少没有得到自己想要的效果,所以寻求解决方案的同学同自行走开了。
有几点一定不能操作的注意点:
(1)千万不要直接到/var/log目录下,rm -rf *,如果你这样做了,你会发现集群启动不起来了。因为相关日志目录都是对应用户创建的,都有自己的权限控制。
(2)在没有搞清楚用户、权限这些东西之前,不要尝试去修改yarn的NodeManager的数据日志目录,因为你会发现yarn无论如何总是会启动失败,不是有这样的告警,就是有那样的权限不足
(3)yarn目录的默认用户组是hadoop,用户是yarn,如果你觉得你改成root用户,并且chmod 777就万事大吉的话,那么你会被权限不足的问题打脸打到哭,我到现在都还没搞清楚为什么,然后一边流泪一边记录下这悲惨的一天。
(4)yarn目录可以删除,会自动生成,但是仅限于根目录下/yarn。如果你在界面上设置了yarn的相关目录到其他目录,对不起,不管用。
(5)在没搞清楚原理之前,不要手贱去改这配置,改那配置,哪怕你是在界面上调整,然后重新部署配置也不行,主要的问题还是权限的问题,不同用户组,不同用户在访问相关文件文件夹的时候,哪怕你root设置了chmod 777也白瞎,就是不行,怪不怪?
最后的一点记录:
(1)再安装CDH的时候,在选择好组件时,就提前设置到相关日志目录和数据文件目录,在那个时候设置的相关目录是一定会生效的,而且不会出错
(2)CDH在选择好相关组件,进行下一步安装的时候,不单单是传送相关组件安装包,更重要的是创建对应组件的用户组、用户,分配用户权限、创建日志目录等操作,这是非常重要的。
最后的最后,败给时间和进度,我暂时还原了原来的设置,让集群先跑起来,不影响其他人学习,下一步一定要全部一个一个组件自己安装!!!!