安装说明

安装环境

虚拟机:VirtualBox-6.1.18
操作系统:Ubuntu16.04LTS

基础软件

JDK:jdk-8u281-linux-x64.tar.gz
hadoop:hadoop2.7.3
MySQL:Server version: 5.7.33-0ubuntu0.16.04.1 (Ubuntu)

集群情况:

主机名称 hadoop版本 IP地址
hadoop-master 2.7.3 192.168.56.1
hadoop-slave1 2.7.3 192.168.56.2
hadoop-slave2 2.7.3 192.168.56.3

本次安装的Hive

Hive版本:3.1.2
下载地址:apache-hive-3.1.2-bin.tar.gz.
其他:Hive官网查看不同版本.

都准备就绪后,我们就接着往下开始安装吧!
不知道怎么准备的,我之前的文章 也许可以给你带来一些参考哦 - - - ☞ 传送门


开始安装

我的两个基础软件Hadoop、Java 分别是在/usr/hadoop 和 /usr/java下
其他的都安装在 ~/Hadoop 的文件夹下
Hive的安装仅在hadoop-master下安装即可,无需在slave机上部署


配置MySQL

没安装的直接用apt install 安装即可,一搜一大把
当前是root用户登录mysql

1.创建hadoop用户

1
2
3
4
5
grant all on *.* to hadoop@'%' identified by 'hadoop';
grant all on *.* to hadoop@'localhost' identified by 'hadoop';
grant all on *.* to hadoop@'hadoop-master' identified by 'hadoop';

// mysql> grant all on *.* to 'hadoop'@'%' identified by 'hadoop' with grant option;

2.刷新权限

1
flush privileges;

3.创建Hive数据库

1
create database hive

重启mysql服务:$ sudo service mysql restart


安装并配置Hive

解压

1
2
3
4
5
6
$ cd ~/下载
$ cp apache-hive-3.1.2-bin.tar.gz ~/Hadoop
$ cd ~/Hadoop
$ tar -zxvf apache-hive-3.1.2-bin.tar.gz
$ mv apache-hive-3.1.2-bin hive-3.1.2
$ cd hive-3.1.2/conf

配置

hive-env.sh

1
2
3
4
5
// 复制一份 hive-env.sh 的模版	
$ cp hive-env.sh.template hive-env.sh

// hive-env.sh 将第48行注释去掉,改为
HADOOP_HOME=/usr/hadoop (你hadoop安装的位置)

hive-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 创建一个新文件 hive-site.xml
$ gedit hive-site.xml

// 添加以下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.56.1:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT</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>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>

// 注意这里本机(hadoop-master)的ip是192.168.56.1
// 连接mysql时用的hadoop用户和密码

环境变量

1
2
3
4
5
6
7
8
9
10
11
// 这里直接是 /etc/profile,当然你也可以加到 .bash_profile 下也行
$ sudo gedit /etc/profile

// 然后在里面加入下面两句

export HIVE_HOME=/home/xld/Hadoop/hive
export PATH=$HIVE_HOME/bin:$PATH

// 保存并退出,然后使其生效
$ source /etc/profile


导入mysql-connector

直接将mysql-connector的jar包丢到 ~/Hadoop/hive-3.1.2/lib 目录下就好了
这里用的是 mysql-connector-java-5.1.27-bin.jar,当然很多版本都可以啦,支持当前mysql版本都行
下载地址:mysql-connector-java-5.1.27.tar.gz


启动hive

1
2
3
4
5
6
$ cd
$ hive

// 成功进入到hive页面后
hive> show databases;

成功启动
在这里插入图片描述



其他错误

hive启动Failed to get schema version报错

推荐参考:hive安装Failed to get schema version报错
解决方法:注释掉 /etc/mysql/mysql.conf.d/mysqld.cnf 里面的这一句 bind-address = 127.0.0.1


显示有“拒绝连接”

推荐参考:Exception in thread “main” java.lang.RuntimeException: java.net.ConnectException错误问题
解决方法:启动Hadoop集群