【发布时间】:2018-02-22 04:54:49
【问题描述】:
我有一个关于使用log4j 的问题,它是Java 中用于Spark 作业的配置文件log4j.properties。
我已将log4j.properties 与我的 Spark 作业“jar”文件一起附加,在它提交到 EMR 集群后,我的应用程序将初始化 log4j.properties 文件。
这是我的示例代码:
public static void initializeLogger() {
try {
Properties logProperties = new Properties();
logProperties.load(RddReadUtils.class.getClassLoader()
.getResourceAsStream("resources/log4j.properties"));
PropertyConfigurator.configure(logProperties);
} catch (IOException e) {
e.printStackTrace();
}
}
在我的本地机器上它可以工作,在 EMR 集群中不起作用。有人可以帮忙吗?
非常感谢
【问题讨论】:
-
您是在执行程序还是驱动程序上执行此代码?您也可以直接使用 sparkContext 更改日志级别。
-
你能告诉我一些关于直接使用 sparkcontext 更改日志级别的例子吗?因为我的spark应用运行在EMR集群中,它的main()函数是Driver执行的
-
sparkContext.setLogLevel("DEBUG") -
谢谢,这是个好建议。但似乎 dosnt 在 EMR 集群上工作。在独立机器上它可以工作。
标签: java apache-spark jar log4j emr