【发布时间】:2020-06-04 21:56:33
【问题描述】:
我最近将 Hive 版本从 1.2.1 升级到 2.3.0,同时从 HDP-EC2 迁移到 EMR。
下面是我用来执行所有查询的 shell 脚本格式,
ssh -T -i key.pem uname@99.99.99.99 <<EOF
hive <<EO1
<Hive-Query>
EO1
EOF
在 1.2.1 版中,用于标准输出运行时日志的运行 shell 脚本包括正在执行的查询和运行的映射器/减速器实时计数。
在 Hive 版本 2.3.0 的 EMR 中,使用完全相同的脚本,日志除了查询完成通知之外什么都没有。
预期日志
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_********_0373)
Map 1: -/- Reducer 2: 0/36
Map 1: 0/191 Reducer 2: 0/36
Map 1: 0(+1)/191 Reducer 2: 0/36
Map 1: 0(+22)/191 Reducer 2: 0/36
Map 1: 0(+44)/191 Reducer 2: 0/36
Map 1: 0(+62)/191 Reducer 2: 0/36
Map 1: 1(+61)/191 Reducer 2: 0/36
Map 1: 2(+61)/191 Reducer 2: 0/36
Map 1: 2(+62)/191 Reducer 2: 0/36
.
.
.
.
.
Moving data to directory hdfs://ip-***************
当前 EMR 登录
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_1592149437885_0947)
Moving data to directory hdfs://ip-***************
关于什么变化会导致日志消失的任何指针?
注意:在集群中直接执行查询时会有日志。但是通过 ssh 执行时,日志丢失。
【问题讨论】:
-
您想打印配置单元的实际日志文件还是 --verbose 标志不够? SSH 会话应该让 stdout 和 stderr 都通过本地终端。
-
当我们直接执行一个hive sql时,它会在运行时显示mapper和reducers的进度。我也需要在 ssh 执行期间将其实时打印出来。详细模式只打印正在执行的查询,而不是实时日志。
标签: bash hadoop hive amazon-emr apache-tez