hive搭建

一:简介

Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储在名为metastore的数据库中。

二:hive搭建

  • hive下载
    地址:https://archive.apache.org/dist/hive/hive-1.2.1/

  • 环境变量配置

[root@hadoop0 conf]# vi /etc/profile

添加如下内容:
export HIVE_HOME=/home/ranrl/opt/hive-2.1.1 
export HIVE_CONF_DIR=$HIVE_HOME/conf 
export PATH=\$PATH:\$HIVE_HOME/bin
  • hive元数据储存(mysql数据库搭建)
    搭建mysql数据库,创建hive用户和数据库

  • 修改配置文件

[root@hadoop0 conf]#cp hive-default.xml.template hive-site.xml
[root@hadoop0 conf]# vi hive-site.xml

修改内容如下:


    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://192.168.1.27:23308/hive?createDatabaseIfNotExist=true
        JDBC connect string for a JDBC metastore    
       
     
        javax.jdo.option.ConnectionDriverName 
        com.mysql.jdbc.Driver 
        Driver class name for a JDBC metastore     
                   

     
        javax.jdo.option.ConnectionUserName
        hive
        username to use against metastore database
    
      
        javax.jdo.option.ConnectionPassword
        hive
        password to use against metastore database  
              

  • 下载mysql-connector-java
    地址:https://dev.mysql.com/downloads/connector/j/
    解压得到mysql-connector-java-5.1.40.jar,拷贝到hive的lib目录下

  • 创建元数据表
    在进入hive目录下的bin目录,运行命令:./schematool -initSchema -dbType mysql

  • 运行hive

[root@hadoop0 conf]#hive

问题:

1.[ERROR] Terminal initialization failed; falling back to unsupported


原因是hadoop目录下存在老版本jline:

/hadoop-2.5.2/share/hadoop/yarn/lib:

-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar

 

解决方法是:

将hive下的新版本jline的JAR包拷贝到hadoop下:

cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./

你可能感兴趣的:(hive搭建)