什么是 Apache 蜂巢?
Apache 蜂巢 是一个支持大规模分析的分布式、容错的数据仓库系统。 Hive 元存储 (HMS) 提供了一个中央元数据存储库,可以快速评估该元数据以做出明智的、数据驱动的决策,因此是许多数据湖架构的重要组成部分。
蜂巢 使用户能够使用以下方式访问、写入和管理 PB 级数据 SQL。 A 拍字节 是相当于2500亿字节的内存或数据存储容量单位。 1 PB 等于 1,024 太字节 (TB),1 EB 约为 1,024 PB。
Hive 是建立在 Apache Hadoop,一个用于存储和分析大量数据的开源系统。 因此,Hive 与 Hadoop 紧密集成,旨在及时管理 PB 级数据。
因此,在回顾了您所读到的内容之后,很明显 Hive 的工作是 数据管理器。
安装 Apache 蜂巢
用于安装 蜂巢, 您可以按照上述步骤操作: –
步骤1: 下载蜂巢
蜂巢 可以从下载 Apache 蜂巢网站。 您可以选择最适合自己的版本,也可以通过单击“立即下载版本!”来快速获取最近发布的版本之一。 选项。
单击后,请执行以下三个步骤:-
- 选择 Apache hive 镜像链接位于下一页。
- 选择下载版本。
- 单击 bin 文件,安装将开始。
步骤2:解压压缩文件
安装 蜂巢 Ubuntu 在您的计算机上,导航到下载的 Tar(或压缩)文件位置并运行以下命令以提取 tar(或压缩)文件。
tar xzf apache-hive-3.1.2-bin.tar.gz
第三步:设置环境变量
$HIVE_HOME 环境变量必须将客户端 shell 指向 apache-hive-3.1.2-bin 目录。 使用您喜欢的文本编辑器(我将使用 纳米),但您可以使用任何您喜欢的编辑器,例如 vi编辑器
sudo nano .bashrc
现在我们将添加 蜂巢 Home 目录 使用以下命令添加到 bashrc 文件中:
export HIVE_HOME= "home/hdoop/apache-hive-3.1.2-bin" export PATH=$PATH:$HIVE_HOME/bin

在 Hive-config.sh 中导出 Hadoop 路径(用于连接 Hadoop生态系统,我们定义Hadoop Home hive 配置字段中的路径)
打开hive-config.sh文件,如下所示。
sudo nano $HIVE_HOME/bin/hive-config.sh
现在我们将使用以下命令在 hive-config.sh 文件中添加 HADOOP_HOME 路径:
export HADOOP_HOME=/home/Download/hadoop/hadoop-3.1.2

步骤4:在Hadoop的HDFS文件夹中创建Hive目录
与接口 Hadoop,我们首先要在Hadoop中构建目录。
要将数据存储在 HDFS 文件夹中,请创建两个不同的目录:
- Hive 进程的临时结果将保存在 临时(tmp目录)。
- Hive相关的表将保存在 仓库目录。
现在让我们设置 HDFS 文件夹 蜂巢 用于通过创建 tmp 目录来存储 Hive 发送到 HDFS 的临时输出
hdfs fs -mkdir /tmp
为tmp组成员添加写入和执行权限:
hdfs fs -chmod g+w /tmp
创建 仓库目录 在 /user/hive/ 父目录中如下:
hdfs fs -mkdir -p /user/hive/warehouse
为仓库组成员添加写入和执行权限:
hadoop fs -chmod g+w /user/hive/warehouse
步骤 5:设置 hive-site.xml 文件 [Optional]
默认情况下, Apache Hive 部署 提供模板配置文件。 模板文件可以在 Hive conf 目录中找到,概述了默认的 Hive 设置。
要查找相关文件,请运行以下命令:
cd $HIVE_HOME/conf
使用
ls
命令,列出文件夹中的文件。

现在,编辑 $HIVE_HOME/conf 文件夹中的 hive-default.xml 文件(如果不存在则创建一个)。
您可以使用模板文件 hive-default.xml.template 构建配置文件
cp hive-default.xml.template hive-site.xml
您可以使用 nano 或您自己选择的任何编辑器打开 hive-site.xml 文件
sudo nano hive-site.xml

第 6 步:启动 Derby 数据库
为了存储元数据, Apache Hive 利用 德比数据库。 从 Hive bin 目录启动 Derby 数据库 schematool
命令:
$HIVE_HOME/bin/schematool -dbType derby -initSchema

等待该进程执行,因为这可能需要一些时间
笔记:-
如果 Derby 数据库无法启动,您可能会看到以下错误:
“线程“main”中出现异常 java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V”

此消息表明 Hadoop 和 Hive guava 版本不兼容。 现在,在 Hive lib 目录中提取 guava.jar 文件:
ls $HIVE_HOME/lib
另外,在 Hadoop lib 目录中查找 guava jar 文件:
ls $HADOOP_HOME/share/hadoop/hdfs/lib
该问题是由上述两个版本之间不兼容引起的。 按照以下步骤从 Hive lib 目录中删除现有的 guava 文件:
rm $HIVE_HOME/lib/guava-19.0.jar

将 guava 文件从 Hadoop lib 目录移动到 Hive lib 目录,如下所示:
cp $HADOOP_HOME/share/hadoop/hdfs/lib/guava-27.0-jre.jar $HIVE_HOME/lib/

现在让我们再次启动 Derby 数据库,并且必须解决此错误。
第 7 步:开启 Ubuntu,打开Hive客户端 Shell
使用以下命令将启动 Hive 命令行界面:
cd $HIVE_HOME/bin
使用上面的命令,您将进入 bin 目录,现在您将使用以下命令启动 hive:
hive

C结论
Hive 现已安装并配置在您的计算机上 Ubuntu 系统。 HiveQL 可用于查询和管理 Hadoop 分布式存储,以及执行类似 SQL 的活动。 您现在可以使用连接到数据库 Ubuntu (A Linux 分配)。 您的 Hadoop 集群现在有一个简单的界面,用于访问以前不可用的内容 关系型数据库管理系统。 如果您对此特定主题仍有任何疑问,请在下面的评论中告诉我。