温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在使用Hive CLI客户端执行SQL语句时,默认的日志输出在/tmp/${user}/目录下,由于tmp目录的空间大小有限,需要为Hive CLI客户端指定日志输出目录,但在Cloudera Manager上不支持为Hive CLI客户端配置日志输出目录。本篇文章Fayson主要介绍如何为Hive CLI运行时指定日志输出目录。

  • 内容概述

1.指定日志输出目录

2.总结

  • 测试环境

1.RedHat7.3

2.CM和CDH版本为5.15

2.指定日志输出目录


1.创建一个Hive CLI客户端日志存放目录

[root@cdh03 conf]# mkdir -p /data/disk1/hive-log/
[root@cdh03 conf]# chmod 777 /data/disk1/hive-log
[root@cdh03 conf]#

(可左右滑动)

hive 命令行的执行日志在哪 hive运行日志_Hive

2.在hive命令增加–hiveconf参数指定日志输出目录

[root@cdh03 ~]$ hive --hiveconf hive.log.dir=/data/disk1/hive-log/$USER

(可左右滑动)

hive 命令行的执行日志在哪 hive运行日志_hive 命令行的执行日志在哪_02

命令运行成功后会在/data/disk1/hive-log/$USER目录下生成hive.log日志文件

hive 命令行的执行日志在哪 hive运行日志_hive_03

3.为了方便不用每次只需hive命令指定日志输出目录,这里在Shell中为hive命令创建一个别名

编辑/etc/profile文件,在文件末尾增加如下内容:

alias hive="hive --hiveconf hive.log.dir=/data/disk1/hive-log/$USER"

(可左右滑动)

hive 命令行的执行日志在哪 hive运行日志_hive_04

执行source /etc/profile命令使环境变量立即生效,执行hive命令验证是否生效即可

hive 命令行的执行日志在哪 hive运行日志_hive_05

hive 命令行的执行日志在哪 hive运行日志_hive 命令行的执行日志在哪_06

3.总结


1.不能通过Cloudera Manager为Hive CLI客户端配置日志输出目录,只能在命令行中增加参数指定日志输出目录。

2.在指定日志输出目录时,需要考虑日志输出目录的权限(如:/data/disk1/hive-log),考虑到不同的用户运行,所以指定日志输出目录中增加了$USER变量。

3.为了不用每次运行hive命令指定日志输出目录,通过在OS的环境变量中增加hive的别名方式,将日志输出目录固化在环境变量中。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。