安装说明
安装环境
虚拟机: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用户
| 12
 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.刷新权限
3.创建Hive数据库
重启mysql服务:$ sudo service mysql restart
安装并配置Hive
解压
| 12
 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
| 12
 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
| 12
 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&characterEncoding=UTF-8&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用户和密码
 
 | 
环境变量
| 12
 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
| 12
 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集群