一、虚拟机环境准备

准备一台虚拟机,操作系统 centos7.0
安装 jdk1.8安装 mysql安装 hadoop

二、Hive简介

1、hive是建立在hadoop之上的数据仓库,一般用于对大型数据集的读写和管理,存在hive里的数据实际上就是存在HDFS上,都是以文件的形式存在,不能进行读写操作,所以我们需要元数据或者说叫schem来对hdfs上的数据进行管理。
2、Hive的优势和特点

  • 提供了一个简单的优化模型 HQL类SQL语法,
  • 简化MR开发 支持在不同的计算框架上运行
  • 支持在HDFS和HBase上临时查询数据
  • 支持用户自定义函数、格式
  • 成熟的JDBC和ODBC驱动程序,用于ETL和BI
  • 稳定可靠(真实生产环境)的批处理
  • 有庞大活跃的社区

三、Hive 环境搭建

下载地址 http://archive.cloudera.com/cdh5/cdh/5/ 需要的软件包:hive-1.1.0-cdh5.14.2.tar.gz
1、将软件包上传到 Linux 系统指定目录下,我的是放在 opt 目录下。
2、解压到指定的目录:/opt

  • tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz -C /opt

3、配置环境变量

  • 输入指令:vi /etc/profile
  • 添加如下两行:
export HIVE_HOME=/opt/hive-1.1.0-cdh5.14.2		//为hive的安装路径
export PATH=$PATH:$HIVE_HOME/bin
  • 输入: source /etc/profile ,使其生效

4、相关配置文件修改

  • 1)进入到你的 hive 安装包的 conf 目录下
    cd /opt/hive-1.1.0-cdh5.14.2/conf/
  • 2)新建hive-site.xml文件: vi hive-site.xml,添加如下内容:
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/hive/warehouse</value>
</property>
<-- mysql 数据配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExi
st=true</value>
</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>
<-- 配置 Hive 临时文件存储地址 -->
<property>
 <name>hive.exec.scratchdir</name>
 <value>/home/hadoop/hive/data/hive-${user.name}</value>
 <description>Scratch space for Hive jobs</description>
</property>
<property>
 <name>hive.exec.local.scratchdir</name>
 <value>/home/hadoop/hive/data/${user.name}</value>
 <description>Local scratch space for Hive 
jobs</description>
</property>
</configuration>
  • 3)修改 hive-env.xml
    修改文件名: mv hive-env.sh.template hive-env.sh
    输入:vi hive-env.sh
    修改如下内容:
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.14.2 		
<!--hadoop安装目录-->
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/hive-1.1.0-cdh5.14.2/conf 			
<!--hive配置文件目录-->	
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/opt/hive-1.1.0-cdh5.14.2/lib 			
<!--hive lib 目录-->

hive适合使用的场景 hive适合什么环境_h5

  • 4)修改 hive-log4j.properties
    重命名 hive-log4j.properties (去掉.template)
    mv hive-log4j.properties.template hive-log4j.properties
    vi hive-log4j.properties
    可以按按 20gg 快速定位 ,修改 hive-log4j.properties 以下内容:
hive.log.dir=/opt/hive-1.1.0-cdh5.14.2/logs
  • 5)新建配置文件需要的目录:
mkdir /opt/hive-1.1.0-cdh5.14.2/warehouse 
 mkdir /opt/hive-1.1.0-cdh5.14.2/logs
  • 6)将mysql-connector-java-5.1.48-bin.jar包拖到$HIVE_HOME/lib目录下
    注意:启动 hive 之前要先启动 mysql
    进入 mysql,为 hive 创建一个 mysql 用户user,并且赋予权限(root用户可以不用1、4两步)
create user 'hive'@'%' identified by 'hive';
	grant all on *.* to 'hive'@'hadoop101' identified by 'hive';
	set password for hive@hadoop101=password('hive');
	flush privileges;

5、启动 hive

  • 1)初始化mysql数据库
    输入指令: schematool -initSchema -dbType mysql
  • 2)输入: hive,进入hive命令行模式
  • 3)验证元数据是否可用
    输入:show databases;

    如上所示,表示配置成功,进入 mysql 中,可以查看有 hive 数据库,其中
    存储着 hive 的元数据信息: