Apache Hive在CentOS6上的安装与配置

最近在上Hadoop相关的课程,有一个实验要用到Hive这一组件,然而参考网络上的各种安装配置教程却老是出现问题,经过在网上找各种解决方案,终于配置成功能运行了,于是写下这篇文章记录一下,防止以后再踩坑。

首先介绍一下Hive:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

我的各软件版本:

CentOS6.10
Hadoop2.6.1
Hive2.3.3
MySQL5.1.73

Hive安装配置当中最重要的是配置Metastore的位置,Metastore是Hive元数据的集中存放地,默认是存放在derby中的,derby是Apache下的一个开源关系型数据库,这里我没有用derby,替换成了MySQL。

首先从官方网站下载Hive的压缩包,解压之后配置环境:

vim ~/.bashrc

添加:

export HIVE_HOME=你的hive安装位置
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=你的hadoop安装位置

然后安装mysql,并创建数据库hive和一个角色hive,密码hive,把数据库hive的所有权限授权给hive。

将 $HIVE_HOME/conf 文件夹中的hive-default.xml.template改名为hive-default.xml

在  $HIVE_HOME/conf 文件夹中新建文件hive-site.xml,添加如下内容(根据你的相关配置修改数据库的名字、角色、密码等参数):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?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>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
<property>
  <name>hive.metastore.schema.verification</name>
  <value>false</value>
   <description>
   Enforce metastore schema version consistency.
   True: Verify that version information stored in metastore matches with one from Hive jars.  Also disable automatic schema migration attempt. Users are required to manully migrate schema after Hive upgrade which ensures proper metastore schema migration. (Default)
   False: Warn if the version information stored in metastore doesn't match with one from in Hive jars.
   </description>
</property>
</configuration>

然后从mysql官网下载连接mysql的jar包,拷贝至$HIVE_HOME/lib文件夹中。

运行 $HIVE_HOME/bin/schematool -dbType mysql -initSchema来完成metastore的初始化。

再运行$HIVE_HOME/bin/hive 就能成功运行hive了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值