HIVE 搭建实战

Hive是基于Hadoop的一个数据仓库,将SQL语句转换为MapReduce任务来执行,是一个非实时、批处理工具。

实验环境:

  • Centos 7主机一台
主机名 IP地址
Master 10.30.59.130

软件要求:

软件名称 软件版本
JDK 8u77
Zookeeper 3.4.5
Hadoop 2.6.0
Hive 1.1.0
  • 软件约定:
    • 安装包在 /opt/soft
    • 安装目录在 /opt

先决条件:

  • 各个主机已完成 主机名-IP 映射
  • 各个主机已完成ssh免密登录
  • MySql已部署完毕并启动
  • ZooKeeper已部署完毕并启动
  • Hadoop已部署完毕并启动
    • 可选单节点/伪分布式/全分布式/HA任意一种
    • 这里使用本地伪分布式搭建

实验步骤:

一、解压组件

1
2
3
[root@master ~]# cd /opt 
[root@master opt]# tar -xzvf soft/apache-hive-1.1.0-bin.tar.gz
[root@master opt]# mv apache-hive-1.1.0-bin/ hive

二、填写配置文件

1
[root@master opt]# vi hive/conf/hive-site.xml 
  • 查找并修改以下K-V键值对
    • hive.exec.local.scratchdir
      • /opt/hive/tmp
    • hive.downloaded.resources.dir
      • /opt/hive/tmp
    • hive.querylog.location
      • /opt/hive/tmp
    • javax.jdo.option.ConnectionURL
      • jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&useSSL=false
    • javax.jdo.option.ConnectionDriverName
      • com.mysql.jdbc.Driver
    • javax.jdo.option.ConnectionUserName
      • root
    • javax.jdo.option.ConnectionPassword
      • P@ssw0rd

三、配置环境变量并令其立即生效

  • hadoop-etc.sh文件新增两条
1
2
3
4
5
[root@master opt]# vi /etc/profile.d/hadoop-etc.sh
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin

[root@master opt]# source /etc/profile.d/hadoop-etc.sh

三、修复兼容性

1
2
[root@master opt]# cp hive/lib/jline-2.12.jar hadoop/share/hadoop/yarn/lib/ 
[root@master opt]# mv hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar.bak

四、初始化

1
2
3
4
5
6
7
8
9
10
11
[root@master opt]# cp soft/mysql-connector-java-5.1.47-bin.jar hive/lib/ 
[root@master opt]# schematool -initSchema -dbType mysql
[root@master opt]# schematool -initSchema -dbType mysql
Metastore connection URL: jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true&useSSL=false
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: root
Starting metastore schema initialization to 1.1.0
Initialization script hive-schema-1.1.0.mysql.sql
Initialization script completed
schemaTool completed

实验验证

1
2
3
4
5
6
7
8
9
10
[root@master opt]# hive

Logging initialized using configuration in jar:file:/opt/hive/lib/hive-common-1.1.0.jar!/hive-log4j.properties
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hive/lib/hive-jdbc-1.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
hive>