文章目录
- 前言
- 一、Hive安装包下载
- 二、Hive的安装
- 三、mysql驱动配置
- 四、Hive配置文件修改
- 1.修改hive-env.sh
- 2.修改默认日志存放路径
- 3.使用mysql数据库为默认元数据库
- 五、启动Hive
- 1.在HDFS上创建目录
- 2.启动hive
前言
提示:在开始之前请先确保你已经进行了Hadoop环境搭建,详情请见CDH5.3.6下搭建hadoop伪分布式环境教程!
一、Hive安装包下载
进入cloudera官方下载链接
点击此处进入下载页面 由于我的环境统一采用了CDH5.3.6的版本
所以选择hive-0.13.1-cdh5.3.6进行下载,根据自己cdh版本进行选择即可。
二、Hive的安装
进入压缩包的下载目录,通过# tar -zxvf hive-0.13.1-cdh5.3.6.tar.gz -C 解压目标地点
命令进行解压,完成后进入该目录通过ls
命令查看结果:
安装成功。
三、mysql驱动配置
Hive默认将apache下的derby数据库作为默认的存放元数据的数据库,此数据库较为简单,不支持多用户交互,这往往不符合正常的应用场景的要求,所以在这里我们需要将默认数据库修改为mysql数据库。
本教程默认已经安装了mysql数据库,实际上安装过程也非常简单,在安装了mysql和hive后我们还需要在hive下导入mysql驱动:
链接:https://pan.baidu.com/s/1DLZNcL043xpeqauoqaeTaw 密码:96cl
下载好后copy到hive的lib目录下即可:cp mysql-connector-java-5.1.27-bin.jar ../lib/
四、Hive配置文件修改
1.修改hive-env.sh
将hive目录中conf目录下的hive-env.sh.template文件名去掉后面的.template后修改如下配置:
# Set HADOOP_HOME to point to a specific hadoop install directory
#hadoop的安装目录
HADOOP_HOME=/opt/cdh5.3.6/hadoop-2.5.0-cdh5.3.6
# Hive Configuration Directory can be controlled by:
#hive的conf目录
export HIVE_CONF_DIR=/opt/cdh5.3.6/hive-0.13.1-cdh5.3.6/conf
2.修改默认日志存放路径
将hive目录中conf目录下的hive-log4j.properties.template文件名去掉后面的.template后修改如下配置:
# Define some default values that can be overridden by system properties
hive.log.threshold=ALL
hive.root.logger=WARN,DRFA
hive.log.dir=/opt/cdh5.3.6/hive-0.13.1-cdh5.3.6/logs
hive.log.file=hive.log
修改其中的hive.log.dir为自己hive安装目录下的logs文件夹(自己创建)方便进行日志管理。
3.使用mysql数据库为默认元数据库
在conf目录下创建hive-site.xml文件写入如下代码:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop: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>password</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
</configuration>
各项property由上到下分别是mysql地址、mysql驱动、用户名和密码(注意按自己的填写),最后两个property是可选项,它们分别代表在hive命令行中是否显示表的列名和当前所在数据库。
五、启动Hive
1.在HDFS上创建目录
在Hadoop安装目录下输入:
bin/hdfs dfs -mkdir /tmp
bin/hdfs dfs -mkdir -p /user/hive/warehouse
(官方建议这样提前创建,防止报错)
2.启动hive
在Hive安装目录下输入:
bin/hive
发现执行成功且进入hive的shell中
可以打开另一个命令行窗口通过mysql -uroot -ppassword
(输入自己用户名和密码)进入mysql中查看数据库是否有增加,输入show databases ;
发现确实增加了metastore这个元数据库,hive搭建成功。