首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hadoop:当移除/tmp/log/hive/log/hive下的文件夹时会发生什么?

Hadoop:当移除/tmp/log/hive/log/hive下的文件夹时会发生什么?
EN

Stack Overflow用户
提问于 2017-08-02 05:04:40
回答 1查看 1.9K关注 0票数 0

从Cloudera Manager安装CDHver5.3。

我使用hive的集群和其他服务设置如下:

・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

我试图使用hdfs命令删除/tmp/logs/hive/logs/hive/xxxxxxx.xxxxxxx,但是文件夹大小太大,无法删除。

即使是hadoop fs -ls /tmp/logs/hive/logs/hive/也不起作用.(hdfs没有回答)。(大小几乎是3TB)

因此,我决定使用Hadoop -rmr /tmp/log/hive/log/hive/*。但是,如果我使用这个命令,我不知道集群会发生什么(我担心某个地方会因为这个而无法被访问)。

有什么问题吗?或者有一个解决这个问题的好主意(我不想重新启动集群)。

EN

Stack Overflow用户

回答已采纳

发布于 2017-08-02 22:12:15

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服务的服务帐户的主组相匹配。

换句话说:任何人都可以在那里创建一个子目录;粘性位和组拥有技巧意味着纱线和创建者都可以读取/写入/清除日志文件,但没有其他人。

现在有趣的是,启动第一个MapReduce作业的新用户将自动创建一个以他/她的名字命名的新子dir,外加一个logs/子dir;而HiveServer2在hive服务帐户下运行的第一个查询将自动创建hive/hive/logs/子目录。

如果您删除了这些子目录,那么在下一次运行时将自动重新创建它们。

=> --但是如果您在会话运行HS2时删除它们,那么当试图在HDFS上推送日志时,该查询可能会崩溃并烧毁!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45451852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档