Just Do IT !

Hive2.3.0的环境搭建

字数统计: 1.1k阅读时长: 5 min
2019/09/29 Share

前期准备

完成hadoop的安装
完成mysql的安装

下载Hive

wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz
或者去官网安装

解压到指定安装目录

用xftp将安装包传到opt/hadoop中

解压:
tar -zxvf apache-hive-2.3.0-bin.tar.gz

修改文件夹名称:
mv ./apache-hive-2.3.0-bin ./hive-2.3.0

修改环境变量

vi /etc/profile

插入

export HIVE_HOME=/opt/hadoop/hive-2.3.0
export PATH=$HIVE_HOME/bin:$PATH

使其修改立即生效
source /etc/profile

登录mysql数据库

并创建metastore数据库,关闭新主库的只读属性,为其授权(用于存储hive的初始化配置)

create database metastore;

set global read_only=0;
grant all on metastore.* to hive@'%'  identified by 'hive';
grant all on metastore.* to hive@'localhost'  identified by 'hive';

flush privileges;

在这里插入图片描述
如果不关闭数据库的只读属性,执行
grant all on metastore.* to hive@'%' identified by 'hive';时,会报错

下载jdbc connector

点击链接Connector/J 5.1.44下载至本地主机,然后再传至

/opt/hadoop/hive-2.3.0/lib
在这里插入图片描述

修改hive配置文件

cd /opt/hadoop/hive-2.3.0/conf/

重命名配置文件

cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

修改hive-env.sh文件

export JAVA_HOME=/opt/java/jdk1.8.0_201    ##Java路径,根据自己jdk安装的路径配置
export HADOOP_HOME=/opt/hadoop/hadoop-2.8.0   ##Hadoop安装路径
export HIVE_HOME=/opt/hadoop/hive-2.3.0    ##Hive安装路径
export HIVE_CONF_DIR=/opt/hadoop/hive-2.3.0/conf   ##Hive配置文件路径

hadoop   fs   -mkdir   -p   /usr/hive/warehouse
hadoop   fs   -chmod   777   /usr/hive/warehouse 
hadoop   fs   -mkdir  -p   /tmp/hive/
hadoop   fs   -chmod  777   /tmp/hive
hadoop   fs   -ls   /usr/hive/
hadoop   fs   -ls   /tmp/

修改hive-site.xml中的临时目录

将hive-site.xml文件中的${system:java.io.tmpdir}替换为hive的临时目录,例如我替换为/root/hive/tmp,该目录如果不存在则要自己手工创建,并且赋予读写权限。

将${system:user.name}都替换为root

修改hive-site.xml数据库相关的配置

搜索javax.jdo.option.ConnectionURL,将该name对应的value修改为MySQL的地址,例如我修改后是:

<name>javax.jdo.option.ConnectionURL</name>  
<value>jdbc:mysql://172.18.74.236:3306/hive?createDatabaseIfNotExist=true</value>

搜索javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径,例如我的修改后是:

 <property> 
       <name>javax.jdo.option.ConnectionDriverName</name> 
       <value>com.mysql.jdbc.Driver</value> 
</property>      

搜索javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名:

<name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>

搜索javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码:

<name>javax.jdo.option.ConnectionPassword</name>
<value>******</value>

修改为自己的密码

搜索hive.metastore.schema.verification,将对应的value修改为false:

<name>hive.metastore.schema.verification</name>
 <value>false</value>

启动和测试

对MySQL数据库进行初始化

进入到hive的bin目录 执行命令:

schematool -initSchema -dbType mysql

在这里插入图片描述
报出两个错:

第一个

Fri Mar 30 14:55:35 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

仔细看了看,发现是字符串中没有配置SSL这个配置项。

需要在连接字符串中加上useSSL=false/true配置。

<value>jdbc:mysql://172.18.74.236:3306/hive?createDatabaseIfNotExist=true</value>

修改为

<value>jdbc:mysql://172.18.74.236:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>

第二个:

在安装Hive的时候报错:

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: java.sql.SQLException : Access denied for user 'root'@'master.hadoop' (using password: YES)

解决方案:

  1. 首先登陆用root用户登录mysql
    mysql -u root -p

  2. 查看root下
    mysql> select user,host from mysql.user where user='root';
    在这里插入图片描述
    原因是‘root‘@’master’用户权限不足,利用root用户给该用户分配权限
    mysql> grant all on *.* to 'root'@'master' identified by '你的数据库密码'
    在这里插入图片描述
    退出 重新初始化
    成功!
    在这里插入图片描述

CATALOG
  1. 1. 前期准备
    1. 1.1. 下载Hive
      1. 1.1.1. 解压到指定安装目录
      2. 1.1.2. 修改环境变量
      3. 1.1.3. 登录mysql数据库
      4. 1.1.4. 下载jdbc connector
      5. 1.1.5. 修改hive配置文件
        1. 1.1.5.1. 修改hive-site.xml中的临时目录
        2. 1.1.5.2. 修改hive-site.xml数据库相关的配置
    2. 1.2. 启动和测试
    3. 1.3. 对MySQL数据库进行初始化