Hive安装

本文介绍了Hive的安装步骤,包括嵌入模式、伪分布模式和完全分布模式。重点讲解了使用MySQL作为元数据存储的伪分布模式的配置,包括下载Hive和MySQL JDBC驱动,配置Hive配置文件,设置环境变量,并展示了如何验证Hive元数据存储在MySQL中。

Hive安装。

Hive是基于hadoop的,如果没安装hadoop的小伙伴请先去安装hadoop。

Hive安装非常简单,分成三种模式。

1.嵌入模式

2.伪分布模式。

3.完全分布模式。


首先,无论哪个模式,都需要先下载Hive安装包。直接去官网https://hive.apache.org/下载一个和你的hadoop版本契合的hive版本即可。这里我使用已经编译好的bin,比较方便。

1.首先是嵌入模式,嵌入模式的意思是元数据,即metastore存放在本地的hive自带的derby数据库当中。

嵌入模式有很大的局限性,他一次只允许创建一个连接到hive中,不允许多用户访问,一般只用于demo,用来尝试一下当前hive是否能正常启动。

使用嵌入模式的方式非常简单,解压好hive到某一目录,进入hive目录的bin目录下,直接./hive即可进入hive命令行模式,hive嵌入模式就启动了。当然前提是你的hadoop已经启动了。

建议先使用嵌入模式,尝试hive是否能正常启动,再使用其他模式,如果嵌入模式无法启动,建议更换hive版本。


2.伪分布模式和完全分布模式。

这两个模式非常类似,对于hive来说其实是一样的,区别在于伪分布模式实际上连接的是本地的数据库,而完全分布模式连接的是远程的数据库。

和嵌入模式不同,这两个模式将元数据存放在其他的我们指定的数据库当中,例如mysql数据库。

一般开发测试环境都会使用这两个模式。建议在使用嵌入模式尝试版本没有问题之后就使用这两个模式之中的其中一个。


使用mysql作为metastore的伪分布模式


前提:安装好mysql


配置:

1.解压hive到我们希望的目录之后,例如/usr/local/hive/

2.进入其中的lib目录,由于我们需要和mysql进行连接,hive的连接是基于JDBC的,所以我们需要提供一个jdbc的连接包给hive。到mysql官网下载jdbc的connector:https://dev.mysql.com/downloads/connector/j/。将下载好的jar包复制进去lib目录下。

/apache-hive-1.2.2-bin/lib$ ls | grep mysql
mysql-connector-java-5.1.42-bin.jar

3.进入/apache-hive-...-bin/conf目录。

vim hive-site.xml
将以下这段增加进去:伪分布模式和完全分布模式的主要区别就在于里面的connectionURL的value中的ip不同。

<?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://127.0.0.1:3306/hive?characterEncoding=UTF-8</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>your user</value>
  <description>username to use against metastore database</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>your password</value>
  <description>password to use against metastore database</description>
</property>
</configuration>
这里的配置都可以在hive官网找到,在hive wiki中有。

保存即可。

4.最后配置环境变量。配置在./bashrc比较舒服。

增加以下环境变量:

export HIVE_HOME=hive解压目录
export PATH=$HIVE_HOME/bin:$PATH

在使用hive数据库之前,我们还需要去mysql数据库中创建数据库。

打开mysql数据库

create database hive;
alter database hive character set latin1;
需要修改数据库的字符集,否则会出问题。


我们就可以尝试使用hive了。



一开始是没有数据的。

~/Desktop$ hive

Logging initialized using configuration in jar:file:/usr/local/hive/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive>
使用hive命令进入cli。


可以发现这里多了很多的表,这些就是元数据。存放在mysql数据库当中。

我们可以尝试创建一张表。

hive> create table test2 (
    > id int,
    > name string);
OK
Time taken: 0.578 seconds
hive>
然后去mysql中查看对应的元数据。


这里的CD_ID指的是test2表的id,里面列对应列名,以及对应的类型说明等等。

这说明hive中的元数据确实是存在mysql当中的。


hive是基于hadoop的。存放表的信息,即元数据是在mysql当中,但是表的实际数据是存放在hadoop的hdfs当中的。

我们来查看一下是否如此。

我们在hadoop的目录下确实能找到我们存放的test2表。


### Hive 安装教程概述 Hive 是一种建立在 Hadoop 上的数据仓库工具,支持结构化数据的查询和分析。以下是基于多种资料整理而成的一份完整的 Hive 安装指南。 --- #### 1. 准备工作 在安装 Hive 之前,需要完成以下准备工作: - **Java 环境配置** Hive 需要 Java 环境的支持。可以通过以下命令安装 JDK 并设置环境变量[^2]: ```bash mkdir -p /opt/module tar -zxvf /tmp/jdk-8u391-linux-x64.tar.gz -C /opt/module/ echo "export JAVA_HOME=/opt/module/jdk1.8.0_391" >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile source /etc/profile ``` - **Hadoop 环境准备** Hive 查询依赖于 Hadoop 提供的分布式计算能力。因此,在安装 Hive 前需先部署好 Hadoop 集群或单机版环境[^3]。 - **MySQL 数据库配置(可选)** 如果希望将 Hive 的元数据存储到 MySQL 中,则需要提前安装并初始化 MySQL 数据库[^4]。可以参考以下命令进行最小化安装: ```bash sudo apt-get update sudo apt-get install mysql-server service mysql start ``` --- #### 2. Hive 下载与解压 下载最新版本的 Hive 并将其解压至目标目录。例如,对于 Hive 3.1.3 版本,操作如下[^4]: ```bash cd /usr/local sudo wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz sudo tar -zxvf apache-hive-3.1.3-bin.tar.gz sudo mv apache-hive-3.1.3-bin hive ``` --- #### 3. 环境变量配置 为了方便调用 Hive 工具,建议修改系统的环境变量文件 `~/.bashrc` 或 `/etc/profile`,添加以下内容: ```bash export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin source ~/.bashrc ``` --- #### 4. 配置 Hive 参数 进入 Hive 的配置目录 (`$HIVE_HOME/conf`),并将默认模板文件复制为实际使用的配置文件[^5]: ```bash cp $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml ``` 随后,编辑 `hive-site.xml` 文件以指定必要的参数。例如,定义本地临时目录的位置: ```xml <property> <name>hive.exec.local.scratchdir</name> <value>/path/to/hive/local/scratchdir</value> <description>Local scratch space for Hive jobs</description> </property> ``` 如果使用 MySQL 存储元数据,还需额外配置 JDBC 连接信息。具体示例如下: ```xml <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> ``` --- #### 5. 启动 Hive 和验证 完成以上步骤后,即可启动 Hive 并验证其功能。首先确保 Hadoop 集群已正常运行[^3]: ```bash cd /usr/local/hadoop ./sbin/start-dfs.sh ``` 接着尝试启动 Hive CLI 或 Beeline 接口: ```bash cd /usr/local/hive ./bin/hive ``` 或者通过 Beeline 方式连接: ```bash ./bin/beeline -u jdbc:hive2://localhost:10000 ``` --- #### 6. 常见问题排查 在安装过程中可能会遇到一些常见的错误提示。例如,JDBC 驱动缺失时需要手动下载对应的驱动包,并放置到 `$HIVE_HOME/lib` 目录下。 --- ### 结论 按照上述流程,能够顺利完成 Hive安装与基本配置过程。需要注意的是,生产环境中通常还需要进一步优化性能参数以及增强安全性措施。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值