centos7安装Hive2.3.6(含配置mysql)

软件环境介绍

预装好的软件环境

  • centos7
  • hadoop-2.8.5
  • spark-2.4.2
  • zookeeper-3.4.14
  • jdk-8u201-linux-x64
  • mysql 5.7.27

hadoop配置修改 重要!!!

修改$HADOOP_HOME/etc/hadoop/core-site.xml文件,在标签间加入以下内容.
要不链接hive时会报错.

 <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

mysql安装可以参考:

本篇介绍的安装软件

  • hive 2.3.6

先放参考链接

step1 下载Hive

选择适合的hive版本

查阅官网发布信息官网Release

注意提示hive版本跟hadoop的匹配版本对应关系.一般HIVE第一个数字版本跟hadoop第一个数字版本相对应即可.

点击访问下载页面
选择需要的版本下载,本文已2.3.6为例
访问2.3.6下载资源页面Hive2.3.6
在这里插入图片描述
右键复制上图红框里的 apache-hive-2.3.6-bin.tar.gz链接地址用于下载
链接地址为:
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.6/apache-hive-2.3.6-bin.tar.gz

红框下方的apache-hive-2.3.6-src.tar.gz是源码文件,官网教程有介绍用源码自己编译出一个发布版本教程,我嫌麻烦,所以用官网提供好的编译版本apache-hive-2.3.6-bin.tar.gz.

下载hive2.3.6
cd 想要下载的目录
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.6/apache-hive-2.3.6-bin.tar.gz

解压hive

tar -zxvf apache-hive-2.3.6-bin.tar.gz

移动重命名hive

确定还在hive解压出的目录

mv apache-hive-2.3.6-bin /opt/apache-hive-2.3.6

移动的路径和重命名的名字根据自己需求自行调整.因为测试学习目的,所以我还带着apache和版本号,只是删掉了结尾的-bin.

配置hive环境变量

vi /etc/profile

加入下面的内容

#配置HIVE环境变量START
export HIVE_HOME=/opt/apache-hive-2.3.6/
export PATH=$HIVE_HOME/bin:$PATH
#配置HIVE环境变量END

刷新下配置文件

source /etc/profile

在hadoop下创建hive所用文件夹

前提,配置了本机HADOOP_HOME的环境变量可以这么使用命令.
创建文件夹 并赋予权限.

 $HADOOP_HOME/bin/hadoop fs -mkdir  -p     /tmp
 $HADOOP_HOME/bin/hadoop fs -mkdir  -p     /user/hive/warehouse
 $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
 $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

以上命令改编自官网教程,官网没有加-p,报错没有(上级)路径错误

Hadoop如果命令报这个错,可以参考这个 util.NativeCodeLoader: Unable to load native-hadoop library for your platform

配置Mysql

下载对应的mysql连接jar

在这里插入图片描述
原文地址
点击下图红框可以找到5.1.xx的连接jar
在这里插入图片描述
进入下面链接,随意选择一个下载就好,反正最后只是要解压出来的
mysql-connector-java-5.1.48.jar
文件
在这里插入图片描述
将目标文件移动到 hive的lib文件夹下

mv mysql-connector-java-5.1.48.jar $HIVE_HOME/lib
创建数据库,配置用户和权限
  • 创建数据库 第1行
  • 创建mysql的用户hive,密码hive并赋予权限 第2,3行
  • 刷新Mysql权限 第4行

配置的用户名密码根据自己需求自行修改,下文有hive-site.xml配置时,注意对应修改

create database metastore;
grant all on metastore.* to hive@'%'  identified by 'hive';
grant all on metastore.* to hive@'localhost'  identified by 'hive';
flush privileges;

配置hive配置文件

另存配置文件模板

进入Hive的配置文件所在路径

cd $HIVE_HOME/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

推荐用cp命令另存为有个备份,如果觉得太多文件乱,那就可以用mv重命名 替换掉cp命令

修改hive-env.sh

如果没有配置以下环境变量/或是系统有jdk,hadoop多个环境,可以手动指定想要版本的地址

export JAVA_HOME=/usr/local/jdk1.7.0_80  
export HADOOP_HOME=/usr/local/hadoop 
增加hive-site.xml

用于配置mysql的关联
注意:下面xml里的ConnectionUserName和ConnectionPassword配置的是mysql的用户名密码,上文已经设置过都是hive,如果上文自己设置别的用户名密码,请自行修改.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
    <name>hive.exec.scratchdir</name>
    <value>/opt/apache-hive-2.3.6/tmp</value>
</property>
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/opt/apache-hive-2.3.6/warehouse</value>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/opt/apache-hive-2.3.6/log</value>
</property>
 
<!-- 配置 MySQL 数据库连接信息 -->
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</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>
</configuration>

初始化hive

同上,下面 命令最后结尾是 是Mysql的用户名 hive和密码hive

cd $HIVE_HOME/bin
./schematool -dbType mysql -initSchema hive hive

尝试hive启动

推荐hive启动资料

 nohup $HIVE_HOME/bin/hiveserver2 &

日志配置文件hive-exec-log4j2.properties配置的日志路径 /tmp/{linxu当前用户名}/hive.log.
或者直接用命令查找hive.log文件
find / -name hive.log

尝试连接hive使用

$HIVE_HOME/bin/beeline

之后尝试连接hive.
localhost对应hive地址;mysql的用户名hive;mysql的密码hive;

!connect jdbc:hive2://localhost:10000 hive hive

示例执行

[root@Master ~]# $HIVE_HOME/bin/beeline
Beeline version 2.3.6 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000 hive hive
Connecting to jdbc:hive2://localhost:10000
Connected to: Apache Hive (version 2.3.6)
Driver: Hive JDBC (version 2.3.6)
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://localhost:10000> show databases;
+----------------+
| database_name  |
+----------------+
| default        |
+----------------+
1 row selected (1.058 seconds)
0: jdbc:hive2://localhost:10000> 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值