从cloudera manager安装cdh 5.3版。
使用配置单元的群集和其他服务设置如下: ・yarn.nodemanager.remote-app-log-dir=/tmp/logs ・yarn.nodemanager.remote-app-log-dir-suffix=logs ・replication setting is 2
我在删除下面的文件夹时遇到问题 /tmp/logs/hive/logs/
.
尤其地 /tmp/logs/hive/logs/hive
我试图删除 /tmp/logs/hive/logs/hive/x.x
使用hdfs命令,但文件夹太大,无法删除。
甚至 hadoop fs -ls /tmp/logs/hive/logs/hive/
不起作用…(hdfs没有回答。(大小几乎为3tb))
因此,我决定使用[hadoopfs-rmr/tmp/logs/hive/logs/hive/*]。但是,如果我使用这个命令,我不知道我的集群会发生什么情况(我担心某个地方会因为这个而无法访问)。
有什么问题吗?或者有一个好主意来处理这个问题(我不想重新启动我的集群)。
1条答案
按热度按时间1bqhqjot1#
hdfs目录
/tmp/logs
是用于mapreduce日志聚合的默认位置;还有一个重要的性质是。。。yarn.log-aggregation.retain-seconds
:删除聚合日志之前要等待多长时间,-1或负数将禁用删除聚合日志。您需要小心,不要将其设置为太小的值,以免给分布式文件系统带来负担。
https://fr.hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/
典型的集群会在5到30天后清除mr日志,具体取决于活动(可能还有法规遵从性要求)。如果你从不清除任何东西,那么你迟早会撞到墙的。。。!
好的,如果你真的需要手动清除这些东西,你可以这样做。这是有点可笑的野蛮切换从清除没有没有清除一切,但无论如何。
对于上面的博客文章,你可以注意到
/tmp/logs
必须将访问权限设置为1777,即“用户读/写/执行、组读/写/执行、其他读/写/执行和粘滞位设置”(就像/tmp
); 而且它的组所有权必须与运行nodemanager服务的服务帐户的主组匹配。换句话说:任何人都可以在那里创建一个子目录;粘滞位和组所有权技巧意味着yarn和创建者都可以读取/写入/清除其中的日志文件,但其他人不能。
现在有趣的是,新用户启动其第一个mapreduce作业时,将自动创建一个以他/她的名字命名的新子目录,以及一个
logs/
副总监;以及hiveserver2在hive
自动创建的服务帐户hive/
以及hive/logs/
细分市场。=>如果删除这些子曲面,则它们将在下次运行时自动重新创建
=>但是如果在hs2会话运行查询时删除它们,那么当试图将其日志推送到hdfs上时,该查询可能会崩溃并烧毁!