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