Hadoop 如何运行查询配置单元并通过日志获取应用程序ID
我正在编写一个执行配置单元命令的shell脚本,将日志和输出信息写入两个单独的文件:Hadoop 如何运行查询配置单元并通过日志获取应用程序ID,hadoop,hive,yarn,apache-tez,Hadoop,Hive,Yarn,Apache Tez,我正在编写一个执行配置单元命令的shell脚本,将日志和输出信息写入两个单独的文件: hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt | sed 's / [\ t] / | / g' 1> pdr_extrator_out.txt 执行结束时的日志文件如下所示: log4j:警告org.apache.log4j.DailyRollingFileAppender中没有此类属性[maxBackupIndex]。 log4j:警告
hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt | sed 's / [\ t] / | / g' 1> pdr_extrator_out.txt
执行结束时的日志文件如下所示:
log4j:警告org.apache.log4j.DailyRollingFileAppender中没有此类属性[maxBackupIndex]。
log4j:警告org.apache.log4j.DailyRollingFileAppender中没有此类属性[maxFileSize]。
SLF4J:类路径包含多个SLF4J绑定。
SLF4J:在[jar:file:/usr/hdp/2.2.6.0-2800/hadoop/lib/SLF4J-log4j12-1.7.5.jar!/Org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:在[jar:file:/usr/hdp/2.2.6.0-2800/hive/lib/hive-jdbc-0.14.0.2.2.6.0-2800-standalone.jar!/Org/SLF4J/impl/StaticLoggerBinder.class]中找到绑定
SLF4J:有关说明,请参阅。
SLF4J:实际绑定的类型为[org.SLF4J.impl.Log4jLoggerFactory]
通过命令行运行时,可以获取特定查询的applicationID,如下所示:
我想知道是否有办法通过日志获取应用程序ID
今天,我使用命令warn application-list-appTypes TEZ
并监视出现在我的查询开始附近的过程,以便稍后使用命令warn application-status application\uuuxxxxx
仅监视我的执行
问题在于,这种方法存在缺陷,例如,另一个进程可能在类似的时间进入队列
非常感谢您的帮助。您正在使用
-S
选项运行配置单元查询文件,该选项禁止与应用程序id相关的日志记录
试着跑
hive -f pdr_extrator.sql
若重定向,您必须能够在控制台或文件上看到如下日志
Status: Running (Executing on YARN cluster with App id application_1579987899994_341626)