Hive部署

2019-09-26  本文已影响0人  虫儿飞ZLEI

1. Hive说明

hive的具体数据保存在HDFS上面,元数据保存在mysql上(可配置),在hive中执行的sql语句本质上就是操作HDFS上面的数据,sql操作HDFS的原理是依赖mapReduce。hive将sql转换为可以被mapreduce计算的代码,通过mapreduce的计算再将结果返回给用户。

2. Hive安装

2.1 依赖环境

hadoop环境

2.2 下载并解压

下载地址:http://archive.apache.org/dist/hive/

解压后的文件目录


2.3 修改配置文件

export HADOOP_HOME=/opt/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/apache-hive-1.2.1-bin/conf/
这一项可以不配置,修改hive的default库的原始位置,默认就在/user/hive/warehouse
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>

在hdfs上为default创建目录/user/hive/warehouse和/tmp,并赋予权限
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

2.4 修改元数据到mysql

Metastore默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore,并且使用derby会只能打开一个hive窗口

默认使用derby数据库时,会在此目录下生成如下目录,存储元数据。


要使用MySQL存储Metastore,需要安装mysql,这里不在介绍如何安装mysql,可以参考https://www.jianshu.com/p/e0ac5674bbb8

将mysql连接驱动复制到hive的lib包下:


继续修改hive-site.xml,配置mysql相关信息

    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://centos134: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>

后面运行hive的时候,会在mysql创建metastore这个库,可以留意后续查看。
此外,hive同时开多个窗口也不会报错了。

3. hive操作

3.1 命令行窗口

bin/hive
image.png

可以在此输入hql语句。

3.2 hiveserver2服务和beeline

启动hiveserver2,会监听10000端口,可以通过jdbc:hive2://centos134:10000连接bin/hiveserver2

启动beeline:启动beeline


在这里同样可输入sql语句,需要先连接hive:
!connect jdbc:hive2://centos134:10000

3.3 开启thrift服务

会监听端口9083,可以通过thrift://centos134:9083连接
bin/hive --service metastore

4. 资料

官网:http://hive.apache.org/
github:https://github.com/apache/hive
下载地址:https://github.com/apache/hive

上一篇下一篇

猜你喜欢

热点阅读