CentOS7.5搭建Hive2.3.3

本文详细介绍了如何在CentOS7.5上安装和配置Hive2.3.3,包括单用户和多用户安装模式,以及使用MySQL作为远程Metastore数据库的步骤。内容涵盖环境变量配置、Hive配置文件修改、MySQL的安装和配置、Hive的初始化、启动以及基本使用方法。

一 Hive的下载

软件下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/   这里下载的版本是:apache-hive-2.3.3-bin.tar.gz

官方安装配置文档:https://cwiki.apache.org/confluence/display/Hive/GettingStarted

二 Hive单用户安装

远程Metastore数据库

1  解压配置环境变量

#解压指定位置安装
[admin@node21 software]$ tar zxvf apache-hive-2.3.3-bin.tar.gz -C /opt/module/
[admin@node21 module]$ mv apache-hive-2.3.3-bin hive-2.3.3
#配置环境变量
[admin@node21 hive-2.3.3]$ sudo vi /etc/profile
末尾追加
export  HIVE_HOME=/opt/module/hive-2.3.3
export  PATH=$PATH:$HIVE_HOME/bin
重新编译环境变量生效
[admin@node21 hive-2.3.3]$ source /etc/profile

2 配置Hive文件

2.1 修改hive-env.sh

[admin@node21 conf]$ cd /opt/module/hive-2.3.3/conf
[admin@node21 conf]$ cp hive-env.sh.template hive-env.sh 
[admin@node21 conf]$ vi hive-env.sh 
# HADOOP_HOME=${bin}/../../hadoop
打开注释修改 HADOOP_HOME=/opt/module/hadoop-2.7.6
# export HIVE_CONF_DIR=
打开注释修改 HIVE_CONF_DIR=/opt/module/hive-2.3.3/conf

2.2 修改hive-log4j.properties

修改hive的log存放日志到/opt/module/hive-2.3.3/logs

[admin@node21 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties
[admin@node21 conf]$ vi hive-log4j2.properties
找到 property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
修改 property.hive.log.dir = /opt/module/hive-2.3.3/logs

3 配置MySQL作为Metastore

默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 但一般情况下生产环境使用 MySQL 来存放 Hive 元数据。

3.1 安装mysql

参考地址: https://www.cnblogs.com/frankdeng/p/9017384.html

安装mysql,拷贝 mysql-connector-java-5.1.9-bin.jar 放入 $HIVE_HOME/lib 下。

[admin@node21 software]$ cp mysql-connector-java-5.1.9.jar  /opt/module/hive-2.3.3/lib/

3.2 修改配置文件

参数配置文档:https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin

复制hive-default.xml.template为hive-site.xml 文件,删除掉configuration里的配置信息,重新配置 MySQL 数据库连接信息。

[admin@node21 conf]$ vi hive-site.xml

删除命令:光标在configuration的下一行,输入:.,$-1d  (光标所在行到 倒数第二行)回车,进行如下编辑

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration> 
<!--Hive作业的HDFS根目录位置 --> 
<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/hive/tmp</value>
</property>
<!--Hive作业的HDFS根目录创建写权限 --> 
<property>
    <name>hive.scratch.dir.permission</name>
    <value>733</value>
</property>
<!--hdfs上hive元数据存放位置 --> 
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>   
</property>
<!--连接数据库地址,名称 -->  
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://node21/hive?createDatabaseIfNotExist=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>
<!--客户端显示当前查询表的头信息 --> 
 <property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<!--客户端显示当前数据库名称信息 --> 
<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property> 
</configuration> 

3.3 mysql创建hive用户密码

mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; 
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit;

4  运行Hive

4.1 初始化数据库

从Hive 2.1开始,我们需要运行下面的schematool命令作为初始化步骤。例如,这里使用“mysql”作为db类型。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值