Hive安装配置

概念

hive是建立在hadoop上的,当然,你如果只搭建hive也没用什么错。说简单一点,hadoop中的mapreduce调用如果面向DBA的时候,那么问题也就显现了,因为不是每个DBA都能明白mapreduce的工作原理,如果为了管理数据而需要学习一门新的技术,从现实生活中来说,公司又需要花钱请更有技术的人来了。

开个玩笑,hadoop是为了存储数据和计算而推广的技术,而和数据挂钩的也就属于数据库的领域了,所以hadoop和DBA挂钩也就是情理之中的事情,在这个基础之上,我们就需要为了DBA创作适合的技术。

hive正是实现了这个,hive是要类SQL语句(HiveQL)来实现对hadoop下的数据管理。hive属于数据仓库的范畴,那么,数据库和数据仓库到底有什么区别了,这里简单说明一下:数据库侧重于OLTP(在线事务处理),数据仓库侧重OLAP(在线分析处理);也就是说,例如mysql类的数据库更侧重于短时间内的数据处理,反之。

无hive:使用者.....->mapreduce...->hadoop数据(可能需要会mapreduce)

有hive:使用者...->HQL(SQL)->hive...->mapreduce...->hadoop数据(只需要会SQL语句)

下载安装

  1. 下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
    这里以2.3.4为例
  2. 解压

tar -xvf apache-hive-2.3.4-bin.tar -C ~/software/Hadoop/

  1. 配置环境变脸~/.bash_profile
#hive
HIVE_HOME=/Users/qinxy/software/Hadoop/apache-hive-2.3.4-bin
PATH=$PATH:$HIVE_HOME/bin
export HIVE_HOME PATH
  1. 验证是否安装成功

hive --version


5.修改配置文件
cd 到目录hiveHome/conf
【1】修改hive-site.xml文件

cp hive-default.xml.template hive-site.xml

主要修改mysql数据库连接的配置

<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true
    </value>
    <description>
 JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </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>root</value>
    <description>password to use against metastore database
    </description>
</property>

【2】按照自己需求,修改hive-env.sh文件

cp hive-env.sh.template hive-env.sh

【3】将MySQL的驱动添加到hive安装目录的lib下
【4】初始化mysql连接

schematool -dbType mysql -initSchema

【5】启动

hive

显示如下图,则成功


如果报错,如下图,则修改hive-site.xml文件



修改hive-site.xml文件,将目录可以修改为自己定义的目录

 <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>

  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
    <description>Local scratch space for Hive jobs</description>
  </property>

  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>

【6】使用
Hive DDL命令见:https://wenku.baidu.com/view/cc9bb515793e0912a21614791711cc7930b77872.html

参考:https://www.cnblogs.com/dxxblog/p/8193967.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容