安装说明
安装环境
虚拟机: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.刷新权限
3.创建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&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用户和密码
|
环境变量
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集群