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

  
    hive.exec.scratchdir
    ~/hive/tmp
  
  
    hive.metastore.warehouse.dir
    ~/hive/warehouse
  
  
    hive.querylog.location
    ~/hive/log
  
...
除了学习使用外,一般都会将元数据存储在远程数据库中,因此需要对远程数据库相关内容进行配置:(mysql为例)

  javax.jdo.option.ConnectionURL
  jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncodig=UTF-8&useSSL=



  javax.jdo.option.ConnectionDriverName
  com.mysql.jdbc.Driver



  javax.jdo.option.ConnectionUserName
  hive



  javax.jdo.option.ConnectionPassword
  hive

...

如果配置了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的配置项全部替换为具体的文件夹路径,具体的用户名。

你可能感兴趣的:(Hive 基础搭建教程)