文章目录

  • 前言
  • 一、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的版本

cdh hive 配置使用mysql cdh安装hive步骤_hadoop


所以选择hive-0.13.1-cdh5.3.6进行下载,根据自己cdh版本进行选择即可。

二、Hive的安装

进入压缩包的下载目录,通过# tar -zxvf hive-0.13.1-cdh5.3.6.tar.gz -C 解压目标地点命令进行解压,完成后进入该目录通过ls命令查看结果:

cdh hive 配置使用mysql cdh安装hive步骤_cdh hive 配置使用mysql_02


安装成功。

三、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中

cdh hive 配置使用mysql cdh安装hive步骤_hive_03


可以打开另一个命令行窗口通过mysql -uroot -ppassword(输入自己用户名和密码)进入mysql中查看数据库是否有增加,输入show databases ;

cdh hive 配置使用mysql cdh安装hive步骤_cdh hive 配置使用mysql_04


发现确实增加了metastore这个元数据库,hive搭建成功。