当前位置:   article > 正文

Ubuntu下安装Hive3.1.2教程(附MySQL安装方法及安装包)_乌邦图安装hive3.1.2

乌邦图安装hive3.1.2


前言

Hive 的安装需要建立在 Hadoop 的之上(类似于Hbase),关于 Hadoop 的单机安装以及伪分布式安装可以参考作者的另两篇博客:

本文安装的 Hadoop 及 Java 环境基于林子雨老师的《大数据技术原理与应用(第3版)》中所要求,其中 Java 版本为1.8.0_301Hadoop 版本为3.2.2,这里我的操作系统环境是 Ubuntu 20.04,此安装方法同样适用于低版本。


一、安装Hive

1. 下载压缩包并解压

官网下载目录如下:https://dlcdn.apache.org/hive/

建议清华镜像网站下载:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

下载文件如下:apache-hive-3.1.2-bin.tar.gz,进入下载目录,解压压缩包:

cd ~/Downloads
sudo tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local 
  • 1
  • 2

2. 安装Hive

进入到 /usr/local 目录下,更改文件夹名,赋予用户权限:

cd /usr/local
sudo mv apache-hive-3.1.2-bin hive     
sudo chown -R hadoop ./hive
  • 1
  • 2
  • 3

3. 配置环境变量

修改 ~/.bashrc 文件:

vim ~/.bashrc
  • 1

增添下面几行:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
  • 1
  • 2
  • 3

运行如下命令使配置立即生效:

source ~/.bashrc
  • 1

4. 修改配置文件

修改配置 hive-default.xml 文件:

cd /usr/local/hive/conf
sudo mv hive-default.xml.template hive-default.xml
  • 1
  • 2

新建 hive-site.xml 文件:

sudo vim hive-site.xml
  • 1

将以下内容写入文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;allowPublicKeyRetrieval=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
  <property>
    <name>datanucleus.autoCreateTables</name>
    <value>True</value>
  </property>
</configuration>
  • 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

按下 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 -xf mysql-connector-java-8.0.27.tar.xz   #解压
cp mysql-connector-java-8.0.27/mysql-connector-java-8.0.27.jar  /usr/local/hive/lib
  • 1
  • 2
  • 3

3. 为Hive创建MySQL账号

启动 MySQL 服务,登录 shell:

service mysql start #启动mysql服务
  • 1
sudo mysql -u root -p  #登陆shell界面
  • 1

新建 hive 数据库:

CREATE DATABASE hive;
  • 1

创建用户 hive,设置密码(这里根据配置文件设置为 hive),使其能连接上 hive 数据库:

create user 'hive'@'%' identified by  'hive';
  • 1
grant all privileges on hive.* to 'hive'@'%' with grant option;
  • 1
flush privileges;
  • 1

这里若提示密码不符合,则先执行以下命令,再执行上述命令:

set global validate_password.policy=LOW;
  • 1
set global validate_password.length=4;
  • 1

退出 MySQL:

quit;
  • 1

三、验证Hive安装及错误处理

1. 启动Hadoop

cd /usr/local/hadoop
sbin/start-dfs.sh
  • 1
  • 2

2. 启动hive

cd /usr/local/hive
  • 1
./bin/schematool -dbType mysql -initSchema
  • 1
bin/hive
  • 1

正常启动会出现一个交互界面如下:

hive>
  • 1

启动若出现如下报错(Ctrl+C可强制退出):

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
  • 1

查看此篇博客:Hive启动报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument

继续运行此步:

./bin/schematool -dbType mysql -initSchema
  • 1

3. 运行Hive实例

在 hive 交互界面下,运行以下命令:

create database if not exists hive; #创建数据库
show databases; #查看Hive中包含数据库
show databases like 'h.*'; #查看Hive中以h开头数据库
  • 1
  • 2
  • 3

输出如下,运行成功!

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

总结

采用Hive实现最大的优势是,对于非程序员,不用学习编写Java MapReduce代码了,只需要用户学习使用HiveQL就可以了,而这对于有SQL基础的用户而言是非常容易的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/412972
推荐阅读
相关标签
  

闽ICP备14008679号