【问题标题】:How to keep YARN application logs in the local file system instead of HDFS?如何将 YARN 应用程序日志保存在本地文件系统而不是 HDFS 中?
【发布时间】:2020-08-16 15:28:10
【问题描述】:
我将yarn.log-aggregation-enable 设置为true,这使得NodeManager 立即将所有容器日志连接到一个文件中,并将它们上传到${yarn.nodemanager.remote-app-log-dir}/${user.name}/logs/<application ID> 中的HDFS 并从本地用户日志目录中删除它们.
我想在本地文件系统(notHDFS)中保留这些日志一段时间,以便我可以将这些日志转发到像 ELK 这样的持久日志机制。
【问题讨论】:
标签:
hadoop
hadoop-yarn
elastic-stack
amazon-emr
【解决方案1】:
您可以按照以下步骤将hdfs 挂载到本地文件系统:
sudo yum install hadoop-hdfs-fuse -y
sudo mkdir -p /data/hdfs/
mount_hdfs_locally() {
sudo hadoop-fuse-dfs dfs://$(resource-manager-hostname):8020 /data/hdfs/
echo "HDFS location is mounted locally"
}
mount_hdfs_locally
现在您可以在本地访问 yarn 日志了。