在emr集群上配置livy log4j属性

kyxcudwk  于 2021-05-19  发布在  Spark
关注(0)|答案(0)|浏览(267)

我正在使用livy提供的restapi提交emr集群上的spark作业,在创建集群时,我能够在配置中使用下面的json覆盖livy conf文件中的一些livy属性-

[{'classification': 'livy-conf','Properties': {'livy.server.session.state-retain.sec':'1200s'}}]

我看到livy conf文件夹中有一个log4j.properties文件夹,但是如何覆盖log4j.properties中的配置属性呢?在启动集群时,我在软件设置中使用了下面的json,但它给出了错误-分类“log4j.properties”对父分类“null”无效。

[
    {
        "classification": "livy-conf",
        "properties": {
            "livy.server.session.state-retain.sec": "1200s",
            "livy.server.yarn.poll-interval": "3s"
        }

    },
    {
        "classification": "log4j.properties",
        "properties": {
            "log4j.rootCategory": "INFO,file",
            "log4j.appender.file": "org.apache.log4j.FileAppender",
            "log4j.appender.file.append": "true",
            "log4j.appender.file.File": "s3://oneid-idaas-dev-us-east-1/dev/emr/livy_logs/",
            "log4j.appender.file.layout": "org.apache.log4j.PatternLayout",
            "log4j.appender.file.layout.ConversionPattern": ""
        }
    }
]

当我在livy conf分类下对其进行子配置时,它仍然会给出错误-分类“log4j.properties”对于父分类“livy conf”无效。

[
  {
    "classification": "livy-conf",
    "properties": {
      "livy.server.session.state-retain.sec": "1200s",
      "livy.server.yarn.poll-interval": "3s"
    },
    "configurations": [
      {
        "classification": "log4j.properties",
        "properties": {
          "log4j.rootCategory": "INFO,file",
          "log4j.appender.file": "org.apache.log4j.FileAppender",
          "log4j.appender.file.append": "true",
          "log4j.appender.file.File": "s3://oneid-idaas-dev-us-east-1/dev/emr/livy_logs/",
          "log4j.appender.file.layout": "org.apache.log4j.PatternLayout",
          "log4j.appender.file.layout.ConversionPattern": "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %5p %c{7} - %m%n"
        }
      }
    ]
  }
]

是否可以覆盖livy conf中的log4j.properties?我该怎么做?我期望spark作业生成的标准输出进入我在这里配置的文件中。谢谢,这是预付款。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题