Hive 基础搭建教程

需要安装Hadoop,教程:Hadoop 基础搭建教程

需要了解Hive基本概念:Hive 基础知识

1. 相关依赖与版本说明

  • JDK8
  • Hadoop 2.8.5
  • Hive2.3.3

一般的,Hive需要一个数据库用来保存元数据。

2. Hive服务安装与配置

下载压缩包并解压,将hive目录配置到.bashrc或者/etc/profile中
修改配置文件:

  • hive-env.sh
...
export JAVA_HOME=${JAVA_HOME} ##Java路径

export HADOOP_HOME=${HADOOP_HOME} ##Hadoop安装路径

export HIVE_HOME=${HIVE_HOME} ##Hive安装路径

export HIVE_CONF_DIR=$HIVE_HOME/conf ##Hive配置文件路径
...
  • hive-site.xml
将之前创建的目录配置到hive中。

  <property>
    <name>hive.exec.scratchdir</name>
    <value>~/hive/tmp</value>
  </property>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>~/hive/warehouse</value>
  </property>
  <property>
    <name>hive.querylog.location</name>
    <value>~/hive/log</value>
  </property>
...
除了学习使用外,一般都会将元数据存储在远程数据库中,因此需要对远程数据库相关内容进行配置:(mysql为例)
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncodig=UTF-8&useSSL=
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
</property>
...

如果配置了Mysql作为元数据数据库,需要将Mysql jdbc jar包添加到 $HIVE_HOME/lib 目录下。

3. 启动Hive服务

首先初始化元数据库:

schematool -initSchema -dbType derby

如果配置了mysql,使用mysql模式初始化(在此之前需要创建mysql下的hive数据库):
schematool -initSchema -dbType mysql

启动hive服务:

hive
可能报错:
Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException

如何涉及如下关键字:

${system:java.io.tmpdir}
${system:user.name}

可以通过修改hive-site.xml配置,将含有“system:java.io.tmpdir”system:user.name的配置项全部替换为具体的文件夹路径,具体的用户名。

    原文作者:edwin1993
    原文地址: https://www.jianshu.com/p/fc55beae3678
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞