- 前言
- 一、安装Hive
- 1. 下载压缩包并解压
- 2. 安装Hive
- 3. 配置环境变量
- 4. 修改配置文件
- 二、MySQL安装与配置
- 1. 安装MySQL
- 2. 安装MySQL jdbc包
- 3. 为Hive创建MySQL账号
- 三、验证Hive安装及错误处理
- 1. 启动Hadoop
- 2. 启动hive
- 3. 运行Hive实例
- 总结
前言
Hive 的安装需要建立在 Hadoop 的之上(类似于Hbase),关于 Hadoop 的单机安装以及伪分布式安装可以参考作者的另两篇博客:
- Ubuntu下单机安装Hadoop详细教程(附所需安装包下载)
- Ubuntu下伪分布式安装Hadoop详细教程
本文安装的 Hadoop 及 Java 环境基于林子雨老师的《大数据技术原理与应用(第3版)》中所要求,其中 Java 版本为1.8.0_301,Hadoop 版本为3.2.2,这里我的 *** 作系统环境是 Ubuntu 20.04,此安装方法同样适用于低版本。
一、安装Hive 1. 下载压缩包并解压
官网下载目录如下:https://dlcdn.apache.org/hive/
下载文件如下:apache-hive-3.1.2-bin.tar.gz,进入下载目录,解压压缩包:
cd ~/Downloads sudo tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local2. 安装Hive
进入到 /usr/local 目录下,更改文件夹名,赋予用户权限:
cd /usr/local sudo mv apache-hive-3.1.2-bin hive sudo chown -R hadoop ./hive3. 配置环境变量
修改 ~/.bashrc 文件:
vim ~/.bashrc
增添下面几行:
export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin export HADOOP_HOME=/usr/local/hadoop
运行如下命令使配置立即生效:
source ~/.bashrc4. 修改配置文件
修改配置 hive-default.xml 文件:
cd /usr/local/hive/conf sudo mv hive-default.xml.template hive-default.xml
新建 hive-site.xml 文件:
sudo vim hive-site.xml
将以下内容写入文件:
javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false&allowPublicKeyRetrieval=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.cj.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName hive username to use against metastore database javax.jdo.option.ConnectionPassword hive password to use against metastore database datanucleus.autoCreateTables True
按下 ESC 键,:wq,保存并退出。
二、MySQL安装与配置 1. 安装MySQL
参考我的这篇博客安装最新版本的 MySQL:Ubuntu20.04安装MySQL及配置MySQL workbench
2. 安装MySQL jdbc包上述博客安装的 MySQL 版本为 8.0.27,所以我们需要下载对应版本的 MySQL jdbc 包,下载链接如下:mysql-connector-java-8.0.27.tar.xz
下载好后,提取 mysql-connector-java-8.0.27.jar 包到指定路径:
cd ~/Downloads tar -zxvf mysql-connector-java-8.0.27.tar.gz #解压 cp mysql-connector-java-8.0.27/mysql-connector-java-8.0.27.jar /usr/local/hive/lib3. 为Hive创建MySQL账号
启动 MySQL 服务,登录 shell:
service mysql start #启动mysql服务
sudo mysql -u root -p #登陆shell界面
新建 hive 数据库:
CREATE DATAbase hive;
创建用户 hive,设置密码(这里根据配置文件设置为 hive),使其能连接上 hive 数据库:
create user 'hive'@'%' identified by 'hive';
grant all privileges on hive.* to 'hive'@'%' with grant option;
flush privileges;
这里若提示密码不符合,则先执行以下命令,再执行上述命令:
set global validate_password.policy=LOW;
set global validate_password.length=4;
退出 MySQL:
quit;
三、验证Hive安装及错误处理 1. 启动Hadoop
cd /usr/lcoal/hadoop sbin/start-dfs.sh2. 启动hive
cd /usr/lcoal/hive
./bin/schematool -dbType mysql -initSchema
bin/hive
正常启动会出现一个交互界面如下:
hive>
启动若出现如下报错(Ctrl+C可强制退出):
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
查看此篇博客:Hive启动报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
继续运行此步:
./bin/schematool -dbType mysql -initSchema3. 运行Hive实例
在 hive 交互界面下,运行以下命令:
create database if not exists hive; #创建数据库 show databases; #查看Hive中包含数据库 show databases like 'h.*'; #查看Hive中以h开头数据库
输出如下,运行成功!
hive> create database if not exists hive; #创建数据库 OK Time taken: 0.59 seconds hive> show databases; #查看Hive中包含数据库 OK datazq default hive Time taken: 0.148 seconds, Fetched: 3 row(s) hive> show databases like 'h.*'; #查看Hive中以h开头数据库 OK hive Time taken: 0.04 seconds, Fetched: 1 row(s) hive>
总结
采用Hive实现最大的优势是,对于非程序员,不用学习编写Java MapReduce代码了,只需要用户学习使用HiveQL就可以了,而这对于有SQL基础的用户而言是非常容易的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)