【问题标题】:Is there an option to print Hive SQL runtime log while executing through SSH通过 SSH 执行时是否有打印 Hive SQL 运行时日志的选项
【发布时间】: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


【解决方案1】:

您可以使用ssh -t ssh -tt 远程运行您的命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2023-03-20
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 2020-12-05
    相关资源
    最近更新 更多