Hadoop 传递JVM选项以指向Oozie工作流中Pig操作中的log4j.properties文件
在我的Oozie工作流中,有一个pig操作。Hadoop 传递JVM选项以指向Oozie工作流中Pig操作中的log4j.properties文件,hadoop,log4j,apache-pig,oozie,Hadoop,Log4j,Apache Pig,Oozie,在我的Oozie工作流中,有一个pig操作。 运行时,它正在CDH中查找log4j.properties文件,因为我没有在JAR中提供该文件。 现在,我有了log4j.properties文件,我只需要在Pig操作中将其作为JVM选项传递。 有没有办法做到这一点?在Oozie工作流中,无法将自定义log4j属性文件传递给Pig操作 java文件不允许以下参数作为参数传递 static { DISALLOWED_PIG_OPTIONS.add("-4"); DISALLOWED_P
运行时,它正在CDH中查找log4j.properties文件,因为我没有在JAR中提供该文件。
现在,我有了log4j.properties文件,我只需要在Pig操作中将其作为JVM选项传递。
有没有办法做到这一点?在Oozie工作流中,无法将自定义log4j属性文件传递给Pig操作 java文件不允许以下参数作为参数传递
static {
DISALLOWED_PIG_OPTIONS.add("-4");
DISALLOWED_PIG_OPTIONS.add("-log4jconf");
DISALLOWED_PIG_OPTIONS.add("-e");
DISALLOWED_PIG_OPTIONS.add("-execute");
DISALLOWED_PIG_OPTIONS.add("-f");
DISALLOWED_PIG_OPTIONS.add("-file");
DISALLOWED_PIG_OPTIONS.add("-l");
DISALLOWED_PIG_OPTIONS.add("-logfile");
DISALLOWED_PIG_OPTIONS.add("-r");
DISALLOWED_PIG_OPTIONS.add("-dryrun");
DISALLOWED_PIG_OPTIONS.add("-P");
DISALLOWED_PIG_OPTIONS.add("-propertyFile");
}
如果我们通过CLI运行pig脚本,而不是通过Oozie pig操作,这是可能的
参考:
piglog4j.properties文件是在应用程序运行时通过从容器中读取基本log4j.properties文件并将创建的文件放置在Hadoop作业appCache中创建的