Ubuntu16.04上安装配置Hive(详细过程)

一、Hive简介

       Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
       Hive有一套映射工具,可以把SQL转换为MapReduce中的job,可以把SQL中的表、字段转换为HDFS中的文件(夹)以及文件中的列。这套映射工具称之为metastore,一般存放在derby、mysql中。
Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。而在HDFS中,Hive的数据就存储在这里,利用MapReduce来调用执行。
       Hive要运行Hadoop伪分布式上,请确保Hadoop已经成功运行。默认情况下,Hive元数据保存在内嵌的 Derby 数据库中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库,Hive 内部对 MySQL 提供了很好的支持。

二、安装Hive

1.shell命令完成Hive的解压

$ sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local   # 解压到/usr/local中
$ cd /usr/local/
$ sudo mv apache-hive-1.2.1-bin hive       # 将文件夹名改为hive
$ sudo chown -R dblab:dblab hive            # 修改文件权限

2. 配置环境变量

编辑~/.bashrc文件: gedit ~/.bashrc

export HIVE_HOME=/usr/local/hive

export PATH=$PATH:$HIVE_HOME/bin

保存退出后,运行source ~/.bashrc使配置立即生效。

3. 修改/usr/local/hive/conf下的hive-site.xml
将hive-default.xml.template重命名为hive-default.xml;新建一个文件touch hive-site.xml,并在hive-site.xml中粘贴如下配置信息:

<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>

</configuration>

三、安装并配置mysql

1.Ubuntu16下mysql的安装请参考:https://blog.csdn.net/weixin_42209572/article/details/98983741

2.下载mysql jdbc包 地址:https://dev.mysql.com/downloads/connector/j/

$ tar -zxvf mysql-connector-java-5.1.40.tar.gz   #解压

$ cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib   #将mysql-connector-java-5.1.40-bin.jar拷贝到/usr/local/hive/lib目录下

3. 启动并登陆mysql shell

$ service mysql start   #启动mysql服务

$ mysql -u root -p   #登陆shell界面

4. 新建hive数据库

$ mysql> create database hive;   #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据

5. 配置mysql允许hive接入:

$ mysql> grant all on *.* to hive@localhost identified by 'hive';  #将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码

$ mysql> flush privileges;   #刷新mysql系统权限关系表

6. 启动hive
启动hive之前,请先启动hadoop集群。

$ start-all.sh #启动hadoop

$ hive #启动hive

解决Hive启动,Hive metastore database is not initialized的错误。出错原因:重新安装Hive和MySQL,导致版本、配置不一致。在终端执行如下命令:

$ schematool -dbType mysql -initSchema

Hive分布现在包含一个用于Hive Metastore架构操控的脱机工具,名为schematool.此工具可用于初始化当前Hive版本的 Metastore架构。此外,其还可处理从较旧版本到新版本的架构升级。

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值