hive日志配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive日志配置相关的知识,希望对你有一定的参考价值。

参考技术A

hive日志的配置文件放在hive的conf目录
配置文件名:hive-log4j2.properties
log4j2中,日志共有8个级别,按照从低到高为:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF,一般使用 DEBUG < INFO < WARN < ERROR 这四个级别
配置文件说明可以参考: Log4j.properties配置详解

重要的hive日志配置

property.hive.log.level 决定了hive的日志级别, property.hive.log.dir 决定了hive的日志存储路径,默认存储在/tmp/<user.name>/hive.log文件。

具体hive日志可以参考官方 Hive Logging

Hive初步使用安装MySQL Hive配置MetaStore配置Hive日志《二》

一、Hive的简单使用

    基本的命令和MySQL的命令差不多

    首先在 /opt/datas 下创建数据  students.txt

    1001  zhangsan

    1002  lisi

    1003  wangwu

  

    

           显示有多少数据库:      show databases;

       使用某个数据库:        use  数据库名称;

       显示当前数据库下的表:   show tables;

       创建数据表  :  create table student (id int,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \'\\t\';

       显示表的结构 : desc student;

           从外部导入数据: load data local inpath \'/opt/datas/students.txt\' into table student;
 

   

 

 

二、   安装Mysql

          将Mysql安装包上传到服务器上,然后解压压缩包,使用命令:unzip mysql-libs.zip 

   

          查看系统是否自带Mysql,将系统上的MySQL卸载

   

   然后首先安装Mysql-Server   其中有个重要的目录要查看  里面记录着Mysql的随机密码

   

   

   mysql的随机密码为:MIgbmURIlR0Uskh9

   

   然后安装Mysql客户端: rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

   

 

   启动Mysql服务命令:service mysql start  

   

 

     登录到Mysql上,然后修改密码:   set password=password(\'123456\');

   

   

   

 

    OK,退出Mysql之后在重新登录一下,登录成功!

          

 三、Hive配置metastore

   首先进入到Hive的安装目录中  /opt/moudles/hive-.....

   创建一个文件   hive-site.xml  想里面配置连接Mysql的数据信息  账号 密码  连接地址 、驱动(这个驱动需要拷贝过来)

    

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://hadoop-senior.zuoyan.com:3306/metastore?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
    </property>
    
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
    </property>
    
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>username to use against metastore database</description>
    </property>
    
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
        <description>password to use against metastore database</description>
    </property>

    <property>
      <name>hive.cli.print.header</name>
      <value>true</value>
      <description>Whether to print the names of the columns in query output.</description>
    </property>


    <property>
      <name>hive.cli.print.current.db</name>
      <value>true</value>
      <description>Whether to include the current database in the Hive prompt.</description>
    </property>


  
</configuration>

          

      拷贝连接数据库的驱动:

   cp mysql-connector-java-5.1.27-bin.jar /opt/modules/hive-0.13.1/lib/

      

  配置好后执行一下 bin/hive   在mysql数据库中可以看见  hive给自动创建的数据库

       

  查看一下这个数据库中的表

  

      这个就是Hive的元数据所创建的

 

 四、Hive的基本使用

    

# 查看 所有的数据库 
show databases ;
# 创建数据库
create database db_hive ;
# 创建一张数据表
create table student(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY \'\\t\';
# 显示当前数据库下的所有数据表 show tables ;
# 查看表的结构
desc student ;
# 更详细的查看表的结构
desc extended student ;
# 也是详细的查看表的结构(格式化 推荐)
desc formatted student ; # 使用某个数据库 use db_hive ;
# 将本地的数据导入到数据库中
load data local inpath \'/opt/datas/students.txt\'into table db_hive.student ; # 查看Hive中支持的命令 show functions ;
# 显示某个功能的用法
desc function upper ;
# 对这个功能的使用来一个Demo
desc function extended upper ;
# 测试这个函数
select id ,upper(name) uname from db_hive.student ;

 

 五、配置Hive的日志

  将Hive安装目录中conf下的  hive-log4j.properties.template    重命名

          

  日志默认存放的位置是   系统中的/tmp/${User}/hive.log

  

  故意查询错误一下,然后查看日志

  

 

        

        修改Hive日志的存放地址,(在Hive的安装目录中创建logs文件夹用来存放日志,然后配置 hive-log4j.properties 中的  hive.log.dir 

     hive.log.threshold=ALL
     hive.root.logger=INFO,DRFA
     hive.log.dir=/opt/modules/hive-0.13.1/logs
     hive.log.file=hive.log

 

  设置启动打印日志

   bin/hive --hiveconf hive.root.logger=INFO,console

   如果以这种方式启动的话,Hive会直接将日志打印在控制台上

 

 

      

   

 

 

          

以上是关于hive日志配置的主要内容,如果未能解决你的问题,请参考以下文章

hive 日志

实时监听hive日志文件,并将内容打印到控制台上

hive 错误日志在cli上显示问题

大数据NiFi(十九):实时Json日志数据导入到Hive

学习笔记--HIVE网站日志统计分析

hive在CLI下日志输出过多,导致很混乱