安装部署
1.安装及配置
(1)把apache-hive-1.2.1-bin.tar.gz 上传到 linux 的/opt/software 目录下
(2)解压apache-hive-1.2.1-bin.tar.gz 到/opt/module/目录下面
[qianfeng@hadoop102 software]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
(3)修 改 apache-hive-1.2.1-bin.tar.gz 的 名 称 为 hive [qianfeng@hadoop102 module]$ mv apache-hive-1.2.1-bin/ hive
(4)修改/opt/module/hive/conf 目录下的 hive-env.sh.template 名称为 hive-env.sh [qianfeng@hadoop102 conf]$ mv hive-env.sh.template hive-env.sh
(5)配置 hive-env.sh 文件
(a)配置 HADOOP_HOME 路径
export HADOOP_HOME=/opt/module/hadoop-2.7.2
(b)配置HIVE_CONF_DIR 路径
export HIVE_CONF_DIR=/opt/module/hive/conf
2.hadoop集群配置
(1)必须启动 hdfs 和 yarn
[qianfeng@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh [qianfeng@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
(2)在 HDFS 上创建/tmp 和/user/hive/warehouse 两个目录并修改他们的同组权限可写
[qianfeng@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -mkdir /tmp [qianfeng@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -mkdir -p /user/hive/warehouse
[qianfeng@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /tmp [qianfeng@hadoop102 hadoop-2.7.2]$ bin/hadoop fs -chmod g+w /user/hive/warehouse
3.mysql安装
1)查看 mysql 是否安装,如果安装了,卸载 mysql
[root@hadoop102 桌面]# rpm -qa|grep mysql mysql-libs-5.1.73-7.el6.x86_64
(2)卸载
[root@hadoop102 桌面]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
2)解压 mysql-libs.zip 文件到当前目录
[root@hadoop102 software]# unzip mysql-libs.zip [root@hadoop102 software]# ls
mysql-libs.zip
mysql-libs
3)进入到 mysql-libs 文件夹下,并设置当前用户执行权限
[root@hadoop102 mysql-libs]# chmod u+x ./*
Hive 元数据配置到 MySql
驱动拷贝
1)在/opt/software/mysql-libs 目录下解压 mysql-connector-java-5.1.27.tar.gz 驱动包
[root@hadoop102 mysql-libs]# tar -zxvf mysql-connector-java-5.1.27.tar.gz 2)拷贝/opt/software/mysql-libs/mysql-connector-java-5.1.27 目录下的
mysql-connector-java-5.1.27-bin.jar 到/opt/module/hive/lib/
[root@hadoop102 mysql-connector-java-5.1.27]# cp mysql-connector-java-5.1.27-bin.jar
/opt/module/hive/lib/
配置 Metastore 到 MySql
1)在/opt/module/hive/conf 目录下创建一个 hive-site.xml [root@hadoop102 conf]# touch hive-site.xml [root@hadoop102 conf]# vi hive-site.xml
2)根据官方文档配置参数,拷贝数据到 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://hadoop102: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>root</value>
<description>password to use against metastore database</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>
<property>
<name>hive.cli.print.header</name>
<value>false</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
</configuration>
Hive 数据仓库位置配置
1)Default 数据仓库的最原始位置是在 hdfs 上的:/user/hive/warehouse 路径下
2)在仓库目录下,没有对默认的数据库 default 创建文件夹。如果某张表属于 default
数据库,直接在数据仓库目录下创建一个文件夹。
3)修改 default 数据仓库原始位置(将 hive-default.xml.template 如下配置信息拷贝到
hive-site.xml 文件中)
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
查询后信息显示配置
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>