hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
1.安装前提
hive必须在已经安装了hadoop、jdk才能安装,由于hive作为hadoop的一个客户端,运行方式并不分为单机模式、伪分布模式、完全分布模式,所以不管hadoop的方式是单机模式还是完全分布模式,安装hive的方式只有一种。
安装hive的步骤分为以下两步:
(1).安装元数据库(已经安装了mysql数据库)
hive的元数据和数据是分开存放的,数据存放在hdfs上,而元数据默认是存在hive自带的Derby数据库,但是由于Derby只支持同时一个用户访问hive,所以不推荐使用,我们将使用mysql做为hive的元数据库
(2).修改hive配置文件
2.安装hive
tar zxvf hive-1.1.0-cdh5.9.0.tar.gz
mv hive-1.1.0-cdh5.9.0 /usr/local/
3.设置环境变量
vim /etc/profile
export HIVE_HOME=/usr/local/hive-1.1.0-cdh5.9.0
export PATH=PATH:HIVE_HOME/bin
source /etc/profile
4.修改hive-site.xml文件
cd /usr/local/hive-1.1.0-cdh5.9.0/conf
vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://10.2.10.200:3306/hive?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>user</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
</configuration>
5.修改hive-env.sh文件
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_65
export HADOOP_HOME=/usr/hadoop
6.在hdfs上创建目录
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod g+w /user/hive/warehouse
7.在mysql中创建数据库
CREATE DATABASE hive;
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
ALTER DATABASE hive CHARACTER SET latin1;
8.手动上传mysql的jdbc库到hive/lib
mysql-connector-java-5.1.38-bin.jar
9.启动hive
cd /usr/local/hive-1.1.0-cdh5.9.0
启动hive
10.查看mysql元数据是否已经初始化
本文来自网络,不代表技术学习分享_CKX技术立场,转载请注明出处。