Hadoop —— Hadoop3.X 安装配置 Hive3.1.2

一、安装环境

系统版本:CentOS 7.3
系统账户:hadoop账户(之前安装hadoop使用的账户)
mysql版本:5.7.30
hadoop:3.2.1
Hive版本:3.1.2

二、下载Hive

Hive默认使用derby库,但实际使用数据库常为mysql,因此使用mysql作为hive元数据库,因此需先安装mysql。可参考Linux —— CentOS 7 安装并配置mysql5.7

下载Hive镜像,Hive镜像站:https://mirrors.cnnic.cn/apache/hive/

可以下载完后使用 lrzsz 上传也可以直接wget下载我使用的是直接下载后上传的方式,下面是使用wget的方式。
选中想要下载的Hive版本,这里下载的是hive-3.1.2,然后拼接下载url。
在这里插入图片描述
在这里插入图片描述

将文件名拼接到url后即为所需下载url地址。

wget https://mirrors.cnnic.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

三、解压gzip包

#将其解压到hadoop用户工作区
tar -zxvf apache-hive-3.1.2-bin.tar.gz
#进入Hive根目录
cd apache-hive-3.1.2-bin/

四、创建mysql hadoop用户

#进入mysql,之后需输入root账户的密码
mysql -u root -p
#允许本地访问,密码为hadoop
grant all on *.* to hadoop@'localhost' identified by 'hadoop';
#允许远程访问,密码为hadoop
grant all on *.* to hadoop@'%' identified by 'hadoop';
#允许master机访问,密码为hadoop
grant all on *.* to hadoop@'master' identified by 'hadoop';
#刷新权限
flush privileges;
#创建Hive库
create database hive_13;
#退出mysql
quit;

Tips:这里可能会出现一下情况,解决方法参考 九、遇到的问题——第2小点

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

五、配置mysql connector依赖

mysql java connector:官网下载地址
在这里插入图片描述
下载完后使用 lrzsz的rz命令 上传到linux服务器,然后解压。

#解压压缩包
tar -zxvf mysql-connector-java-5.1.49.tar.gz
#复制mysql-connector-java.jar包到hive根目录lib目录下
cd mysql-connector-java-5.1.49/
#hive根目录记得修改为自己安装的地址
sudo cp mysql-connector-java-5.1.49.jar /home/hadoop/apache-hive-3.1.2-bin/lib

六、Hive配置

  1. hive-site.xml配置
#在hive根目录下进入hive配置文件夹
cd conf/
#创建配置文件
vim hive-site.xml
#将以下内容加入到hive-site.xml中
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>datanucleus.schema.autoCreateAll</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.metastore.local</name>
                <value>true</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://master:3306/hive_13?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>hadoop</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>hadoop</value>
         </property>
</configuration>

  1. hive-log4j2.properties配置
#在hive根目录/conf下
cp hive-log4j2.properties.template hive-log4j2.properties
#在hive根目录下创建日志目录
mkdir /home/hadoop/apache-hive-3.1.2-bin/logs
#修改
vim hive-log4j2.properties
#修改日志输出目录为指定目录
hive.log.dir=/home/hadoop/apache-hive-3.1.2-bin/logs
  1. hive-env.sh配置
#复制模板文件
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
#export JAVA_HOME,忘记具体位置可用 echo $JAVA_HOME
export JAVA_HOME=XXXXXXXX
#Hadoop目录,可用whereis hadoop查找
HADOOP_HOME=XXXXXXX
#hive配置目录
export HIVE_CONF_DIR=hive根目录/conf

在这里插入图片描述

  1. hive-exec-log4j2.properties配置
#复制模板文件
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
# 
  1. 环境变量配置
vim ~/.bash_profile
#加入以下内容
export HIVE_HOME= hive根目录XXXX
export PATH=$PATH:$HIVE_HOME/bin

七、初始化Hive元数据

#在hive根目录/bin下
./schematool -initSchema -dbType mysql

在这里插入图片描述

Tips:
如果出现org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver,请检查connector jar包是否已放入hive根目录/lib下。
如果出现Error: Syntax error: Encountered “” at line 1, column 64. (state=42X01,code=30000),请检查 hive-site.xml 命名是否正确。

八、检查Hive安装结果

#在hive根目录下执行提供,sudo所有权限,记得先开启 hdfs 
sudo bin/hive

启动成功命令行将变为 hive>
输入 show databases; 显示结果如下代表安装完成。
在这里插入图片描述

九、遇到的问题

  1. wget下载卡住
    由于中途网络波动导致wget卡在79%处。
    在这里插入图片描述
    解决方法:crtl + z(不要输成crtl + c)之后下使用 wget -c url地址 进行断点续传。

  2. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    在这里插入图片描述
    这主要是mysql5.7默认密码策略要求密码为字母+数字+特殊字符且长度8位或以上,解决方法参考https://blog.csdn.net/weixin_41485724/article/details/105843885——文章第6点

  3. 遇到java.lang.NoSuchMethodError
    请参考这篇文章:http://www.bubuko.com/infodetail-3286965.html

  4. 使用Hive中出现一堆 SSL 相关 WARN

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.

由于mysql5.5.45+,5.6.25+,5.7.6+需要SSL连接,如果不设置mysql连接参数useSSL=false就会不断出现,解决方法为在mysql连接url后面加上useSSL=false参数。

  1. Unexpected character ‘=’ (code 61); expected a semi-colon after the reference for entity 'useUnicode
    Xml文件中不能使用&,要使用他的转义 & amp;(去掉&与a间空格)来代替,在hive-site.xml中将&修改为 & amp;(去掉&与a间空格)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值