我在3个不同vm上的HDP 3节点集群(2个datanodes,1个namenode)上工作,由Ambari监视。我用纱线运行spark作业,并尝试实现自定义日志。
我在spark conf中设置了每台机器上的log4j.properties文件:
log = /var/log
log4j.rootLogger = WARN, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我的问题是日志只保存在驱动程序运行的机器上。因为我在集群模式下使用yarn,所以我当然不想搜索每次运行应用程序时在哪台机器上保存日志
如何自动复制每个节点上的日志?
厚度提前