当前位置: 首页 > 知识库问答 >
问题:

AWS EMR上的纱线日志聚合-不支持的文件系统异常

云新知
2023-03-14

我正在努力为我的Amazon EMR集群启用YARN日志聚合。我正在按照这个配置留档:

http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-debugging.html#emr-计划调试日志存档

在标题为“使用AWS CLI聚合Amazon S3中的日志”的部分下。

我已经验证了hadoop-config bootstrap操作将以下内容放入yarn-site.xml

<property><name>yarn.log-aggregation-enable</name><value>true</value></property>
<property><name>yarn.log-aggregation.retain-seconds</name><value>-1</value></property>
<property><name>yarn.log-aggregation.retain-check-interval-seconds</name><value>3000</value></property>
<property><name>yarn.nodemanager.remote-app-log-dir</name><value>s3://mybucket/logs</value></property>

我可以运行一个示例作业(hadoop-examples.jar中的pi),并看到它在ResourceManager的GUI上成功完成。

它甚至在s3://mybucket/logs下创建了一个文件夹,用应用程序id命名。但是该文件夹是空的,如果我运行了应用程序id

14/10/20 23:02:15 INFO client.RMProxy: Connecting to ResourceManager at /10.XXX.XXX.XXX:9022
Exception in thread "main" org.apache.hadoop.fs.UnsupportedFileSystemException: No AbstractFileSystem for scheme: s3
    at org.apache.hadoop.fs.AbstractFileSystem.createFileSystem(AbstractFileSystem.java:154)
    at org.apache.hadoop.fs.AbstractFileSystem.get(AbstractFileSystem.java:242)
    at org.apache.hadoop.fs.FileContext$2.run(FileContext.java:333)
    at org.apache.hadoop.fs.FileContext$2.run(FileContext.java:330)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
    at org.apache.hadoop.fs.FileContext.getAbstractFileSystem(FileContext.java:330)
    at org.apache.hadoop.fs.FileContext.getFSofPath(FileContext.java:322)
    at org.apache.hadoop.fs.FSLinkResolver.resolve(FSLinkResolver.java:85)
    at org.apache.hadoop.fs.FileContext.listStatus(FileContext.java:1388)
    at org.apache.hadoop.yarn.logaggregation.LogCLIHelpers.dumpAllContainersLogs(LogCLIHelpers.java:112)
    at org.apache.hadoop.yarn.client.cli.LogsCLI.run(LogsCLI.java:137)
    at org.apache.hadoop.yarn.client.cli.LogsCLI.main(LogsCLI.java:199) 

这对我来说没有任何意义;我可以运行hdfs dfs-ls s3://mybucket/,它很好地列出了内容。机器正在从AWS IAM角色获取凭据,我已尝试添加fs.s3n。awsAccessKeyId等到核心站点。xml在行为上没有变化。

非常感谢您的建议。

共有1个答案

穆锋
2023-03-14

Hadoop提供了两个fs接口——文件系统和抽象文件系统。大多数时候,我们使用文件系统,并使用诸如fs.s3.impl之类的配置选项来提供自定义适配器。

然而,纱线日志使用抽象文件系统界面。

如果可以找到S3的实现,可以使用fs.AbstractFileSystem.S3.impl指定它。

请参见核心默认值。用于fs.AbstractFileSystem.hdfs示例的xml。impl等。

 类似资料:
  • easySwoole提供了分类日志服务,以供记录运行信息方便调试。 $log = Logger::getInstance(); $log2 = Logger::getInstance('logcategory1'); log $log->log('message1'); $log2->log('message2'); console $log->console("message",false);

  • 作为最核心的模块之一, Nutz的日志信息已经相当完善,看懂Nutz的日志,也是了解Nutz工作方式的核心途径之一.

  • THE LOGGING SYSTEM 对于任何 Linux 用户,了解日志文件的使用是非常重要的。日志文件存储关于操作系统和应用程序运行时发生的事件的信息,包括任何错误和安全警报。您的系统将根据我将在本章中介绍的一系列规则自动记录信息。 作为黑客,日志文件可以跟踪目标的活动和身份。但是它也可以是你自己在别人系统上的活动的踪迹。因此,黑客需要知道他们可以收集什么信息,以及可以收集关于他们自己的行为和

  • 系统日志文件概述 文件 描述 /var/log/messages 大多数系统日志消息记录在此处。例外是与身份验证、电子邮件处理相关的定期运行作业的消息以及调试相关的消息。 /var/log/secure 安全和身份验证相关的消息和错误的日志文件。 /var/log/maillog 与邮件服务器相关的消息的日志文件。 /var/log/cron 与定期执行任务相关的日志文件。 /var/log/bo

  • 问题内容: 我正在尝试使用Boot2Docker在Windows上使用共享文件夹来启动Mongo容器。开始使用时,我在容器内收到一条警告消息,内容为: 启动mongo后立即关闭。 有关如何解决此问题的任何提示或技巧? 问题答案: 显然,根据要点和Sev(),mongo不支持通过VirtualBox共享文件夹安装卷: 参见mongoDB Productions Notes : MongoDB需要一个

  • 我们有一些在纱线上运行的flink作业。我们想将flink作业日志上传到ELK以简化调试/分析。目前flink任务管理器将日志写入。我们希望它写入没有嵌套结构的目录。 我试过使用env。日志目录:/mnt/flink。使用此设置时,无法正确传递配置。