50% 折扣 所有计划,时间有限。开始于 $2.48/mo
还剩 13 分钟
数据库与分析

如何在 Ubuntu 上安装 Hadoop:综合指南

皮乌斯·博登曼 By 皮乌斯·博登曼 阅读时间 13 分钟 更新于 2024 年 5 月 1 日
如何在ubuntu Linux上安装hadoop

如今,一旦涉及计算机的业务或任何操作发展到需要不止一台计算机来处理的程度,我们立即开始使用多台计算机作为单个网络的一部分,以更有效地处理工作负载。这已经变得司空见惯,以至于如今数据科学等领域的几乎所有操作都是由这些联网计算机执行的。虽然毫无疑问,以这种方式执行要求较高的计算机任务会更有效,但它也非常复杂,因为您需要单独配置每台计算机,然后在整个网络执行任务时管理它。这就是像 Hadoop 这样的程序可以拯救世界的地方。

Hadoop 是 Apache 发布的一套工具和程序,它允许将一组计算机联网的整个过程更加高效和轻松地执行。因此,在本文中,我将回顾 Hadoop,检查其用例,回顾其优缺点,并概述其高级架构,然后继续介绍如何在 Ubuntu 20.04 上安装 Hadoop 的分步指南,以完成本 2024 年 Hadoop 教程。

什么是 Apache Hadoop?

Hadoop 是一套由 Apache 提供支持的工具,15 年来一直在改变网络设置和利用。用户可以利用 Hadoop 的资源效率,使他们能够利用当前的计算能力来完成要求苛刻的任务,而无需进行昂贵的升级。该套件由四个模块组成:HDFS、YARN、MapReduce 和 Hadoop Common,每个模块都针对特定用例而设计。

Hadoop 的卓越之处在于其与生俱来的足智多谋,巧妙地使个人和组织能够将其现有的计算能力整合成一股能够克服重大计算挑战的凝聚力。如果没有 Hadoop 的指导,这些实体将发现自己被迫开始花费巨资购买日益强大的计算机。

Hadoop 用例

现在我们知道什么是 Hadoop。但它的用例到底如何应用于现实世界呢?理解纸面上的程序固然很好,但它永远无法替代在严肃的操作中实现其潜力。因此,在继续 Hadoop 教程之前,我将提供一些示例。

风险分析

如前所述,Hadoop 允许您利用多个计算机系统的功能作为单个网络单元的一部分,以比平常更快的速度高效地处理批量的大量数据并对其进行分析。任何业务都存在风险,需要分析和计算。 Hadoop 在这里非常方便。事实上,许多可信的医院都使用它来分析不同治疗的风险,并推测患者手术的潜在结果和统计数据。您可以在此处详细了解 Hadoop 在医疗保健领域的革命性作用。

检测安全漏洞

随着网络或企业内网络和使用的设备总量的增加,需要注意的潜在安全漏洞越来越多。 Hadoop 的基本实用程序之一是通过分析大批量数据并突出显示该系统的潜在痛点来评估整个操作。

审查映射

许多企业依靠获得的产品评论反馈来改进产品或制定新的市场策略。虽然人类需要很长时间才能覆盖足够大的审阅文件,但 Hadoop 将发挥其联网计算机的魔力,更快地产生结果。

市场分析

说到市场策略,与分析市场以评估全新产品进入该市场的潜力所需的资源数量相比,上述评论图显得相形见绌。这是 Hadoop 的另一个亮点,因为它甚至允许新兴的小型企业以高效的时间范围和方式使用多台计算机有效地评估市场。

评估日志文件

随着时间的推移,企业变得更加复杂并且变得更加重要的另一个方面是他们将开始全面使用的软件数量。使用越来越多的软件会导致更多潜在的错误和痛点,并且需要专门的员工来管理日志文件并处理问题。这将花费大量时间,但通过一些简单的协议,企业可以使用 Hadoop 快速审查和评估日志文件,以找到这些错误并消除它们。

还有大量其他 Hadoop 用例和应用程序,但为了保持对本文目的的关注,我们将不再进一步讨论。

Hadoop 架构概述

假设您听说过 Hadoop 及其总体用例及其用途。即使您还没有,到目前为止,本文也可能已经为您做到了这一点。但现在您需要深入了解 Hadoop 的实际组成以及它的每个部分如何与其其他功能配合使用。如前所述,Hadoop 有四个通用层;在 Hadoop 教程的这一部分中,我们将详细了解 HDFS(Hadoop 分布式文件系统)、YARN(又一个资源协商器)、MapReduce 和 Hadoop Common。然而,由于 Hadoop Common 没有那么多需要解释的功能,因此它的本质被称为 动物园管理员。因此,在本节中,我将尝试用基本术语概括高级 Hadoop 架构和生态系统及其四个部分,然后最后继续讨论如何在 Ubuntu 20.04 上安装 Hadoop。

分布式文件系统

Hadoop生态系统中的HDFS构成了所有Hadoop子部分和应用程序用来评估、传输和保存数据的整体存储系统。 HDFS架构的要点在于,与Hadoop本身作为一个开源程序不同,Hadoop中的HDFS实际上是负责运行单个Hadoop集群的所有底层操作的文件系统。 HDFS 是一个非常有弹性的文件系统,它将数据批次划分为 128 MB 的块,并针对基于序列的操作对其进行优化。

HDFS 在 Hadoop 软件中的主要作用是提供所有数据作为整个数据机架的一部分,然后可以通过不同的名称节点和辅助机架将其分为多个部分来组织数据分析操作。然后,您可以使用其他选项(如日志架、QJM、HA、fsimage)并编辑日志文件和整体图例日志来跟踪和执行其他任务。

YARN 是 Hadoop 的另一个执行分支,用于将所需数量的计算资产分配给 Hadoop 生态系统中的特定应用程序。本质上,它允许您使用客户端的资源管理器,通过一组不同的节点将这些资源分配给不同的任务和应用程序。 YARN 中还有一个传说,类似于 HDFS 中的传说,允许您跟踪所有分配的资产和操作。 YARN 本身分为三个部分:资源管理器、应用程序主机和节点管理器。

这三个子部分分别为每个集群、应用程序和节点创建一个新的实例。您不仅可以使用 YARN 将资源分配给不同的任务,还可以安排这些资源随时间变化,以提出高级算法工作流程。 YARN 不仅限于它的小节,在很多情况下,您将使用 YARN 与其他架构层(如 HDFS 和 Zookeeper)结合使用来分配资源并评估您的整体操作。

Hadoop 映射

Hadoop MapReduce 是 Hadoop 生态系统中的另一个主要组件。一旦你在 Ubuntu 上安装了 Hadoop,你就可以使用这个功能来有效地获取由多台不同计算机以分布式方式分析的大量数据。本质上,Hadoop MapReduce 的工作原理是这样的:您将大量数据映射输入到程序中。该数据图将被重新整理、分解并分布在您的联网计算机上。随后,使用称为缩减器的特定协议,将数据归结为最重要的组成部分并进行缩减。这些操作中的每一项都称为一项作业。

假设您有一个三词句子作为您想要使用 MapReduce 分析的数据映射。假设这句话是 Bear Hunt Rabbit。 Hadoop MapReduce 会将这句话分解并缩减为三个不同的批次,每个批次包含一个单词,然后使用这些单词并与其他作业的类似数据输入进行新的组合,以创建最终的同质数据批次,删除不必要的数据,并且可以轻松分析。

动物园管理员

Zookeeper 是 Hadoop 生态系统的另一个子部分,最初随着 Hadoop 2.0 版本的发布而变得突出并普遍使用。 Zookeeper 的主要服务点是协调作为单个 Hadoop 实例的一部分运行的不同操作。因此,Zookeeper 几乎总是与 YARN 的资源管理器以及 Hadoop 中 HDFS 的不同功能结合使用。 Zookeeper 在这些操作中的主要用途是检测和修复潜在的故障点。为此,它使用两种不同的工具:ZKFiloverControer 和 Zookeeper Quorum。

在这些过程中,由 Hadoop 架构的其他组件管理的数据节点被归类为活动名称节点,由用户监督。随后,每个名称节点都会在上述 Zookeeper 的两个部分中接受审查。这样做是为了查明困难领域并识别潜在的故障。

在 Ubuntu 20.04 上安装 Hadoop – 分步指南

最后,在了解了 Hadoop 架构之后,是时候进入主题了,即如何在 Ubuntu 20.04 上安装 Hadoop,作为本 Hadoop 教程的最后一部分。在继续学习在 Ubuntu 20.04 上安装 Hadoop 的分步指南之前,让我们先介绍一下先决条件。请记住,本指南也可用于 Ubuntu 18.04。

先决条件

在 Ubuntu 上安装 Hadoop 所需的先决条件非常简单。您所需要的只是一台具有 root 访问权限的 Ubuntu 计算机,可以在本地使用,也可以通过 VPS 服务器远程访问。关于必备程序,请确保您已安装 Java 11 和 SSH。如果您没有它们,请一次运行以下命令来安装它们:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

至于许可证,您不需要任何许可证,因为 Hadoop 是免费且开源的。这就是您所需要的。让我们继续第一步。

第1步:为Hadoop创建非root用户

使用以下命令为 Hadoop 创建非 root 用户。这是我们在实际下载和安装 Hadoop 之前需要做的预配置的一部分:

sudo adduser hdoop
su - hdoop

第 2 步:设置 SSH 密钥

现在,为了在 Ubuntu 上安装 Hadoop,我们将使用您刚刚创建的 Hadoop 用户并使用它与其建立 SSH 连接。使用此命令生成 SSH 密钥对并保存:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

生成密钥后,您可以通过以下行将它们标记为 授权密钥 并将它们保存在您的 SSH 目录中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

现在使用此命令确保您的 SSH 连接具有所有必需的权限:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

确认更改,您将能够随时使用您创建的用户轻松连接到本地主机:

ssh localhost

第 3 步:在 Ubuntu 上下载并安装 Hadoop

您可以访问 Apache Hadoop 网站 查看版本列表及其最近的更改日志。选择您喜欢的版本,您将看到一个链接,可以使用以下命令在 Ubuntu 上下载并安装 Hadoop。这里我选择3.3.6版本。如有必要,请将“3.3.6”替换为最新的稳定版本:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

下载完成后,使用此行完成提取和安装过程:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

步骤4:配置Hadoop环境

JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

第5步:编辑配置文件

使用集群设置更新 Hadoop 的 XML 配置文件。

nano /usr/local/hadoop/etc/hadoop/core-site.xml

第6步:格式化HDFS

初始化 Hadoop 文件系统命名空间。

/usr/local/hadoop/bin/hdfs namenode -format

第7步:启动Hadoop服务

启动 HDFS 和 YARN 服务。

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

第 8 步:验证安装

检查正在运行的 Java 进程以确认 Hadoop 正在运行。

jps

第 9 步:访问 Web 界面

打开 Hadoop 的 NameNode 和 ResourceManager 界面的 Web 浏览器。

名称节点:http://localhost:9870
资源管理器:http://localhost:8088

第 10 步:运行 MapReduce 示例

执行示例 MapReduce 作业来验证设置。

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

第11步:设置环境变量

添加 Hadoop 的 垃圾桶斯宾 目录到系统路径。

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

就是这样!您刚刚成功在 Ubuntu 20.04 上配置和安装 Apache Hadoop!

结论

总之,在 Ubuntu 20.04 上安装 Hadoop 是一个彻底的过程,需要细心的关注并准备好探索设置的细微差别。通过遵循本指南中提供的步骤,Ubuntu 用户可以踏上变革之旅,利用 Hadoop 的强大功能来充分发挥其数据分析追求的潜力。

如果您只想学习和使用 Hadoop,我的建议是使用有限分布将 Hadoop 部署为单节点部署。为此,VPS 将非常适合您。 Cloudzy 为您提供一系列不同的 Linux VPS 服务 包括可靠的铁甲舰 乌班图VPS 可以立即配置,成为您完美的 Hadoop 学习平台。每月 4.95 美元起,您就可以获得自己的 Ubuntu VPS,拥有超过 12 个地点和 24/7 贴心支持!

ubuntu-vps 显而易见的选择

大多数运行 Linux 的服务器都使用 Ubuntu;为什么不是你呢?了解为什么每个人都喜欢 Ubuntu — 获取优化的 Ubuntu VPS

获取您的 Ubuntu VPS

常问问题

HDFS 与 MapReduce 有何区别?

虽然这两个模块都驻留在 Hadoop 生态系统中,但它们具有不同的用途。 HDFS 作为分布式文件系统,方便数据访问。另一方面,MapReduce 擅长分解和有效分析大数据块。

Hadoop 算不算数据库?

Hadoop 不是数据库,尽管这种误解很常见。相反,它作为分布式文件系统运行,能够使用互连计算机网络存储和处理大量数据。它不应该用作传统数据库系统的直接替代品。

Hadoop 的四个主要组件是什么?

Hadoop 由四个核心组件组成:HDFS(Hadoop 分布式文件系统)、YARN(Yet Another Resource Negotiator)、MapReduce 和 Hadoop Common。此外,一些资源将 ZooKeeper 视为一个组件,尽管它并未得到官方认可。

Hadoop 通常用在什么地方?

Hadoop 在各个领域都有应用,在这些领域中,管理、存储、处理和分析大规模数据至关重要。它满足从中型企业和医院到新兴初创企业的各种业务需求,提供数据驱动的解决方案。

分享

更多来自博客

继续阅读。

MongoDB 的原始符号出现在未来服务器上,用于在 Ubuntu+ 上安装 MongoDB 标语,说明文章的期望 + 文章标题 + Cloudzy 品牌徽标
数据库与分析

如何在三个最新版本的 Ubuntu 上安装 MongoDB(分步)

因此,您决定使用 MongoDB,它是 MariaDB 的绝佳替代品,用于构建 MERN 堆栈应用程序、分析平台或任何基于文档的系统,但在良好的 o 方面遇到了困难。

吉姆·施瓦茨吉姆·施瓦茨 阅读时间 12 分钟
适合您企业的智能数据管理:使用 VPS 的“类云”存储和备份策略
数据库与分析

适合您企业的智能数据管理:使用 VPS 的“类云”存储和备份策略

每当公司决定停止在笔记本电脑、电子邮件附件和半遗忘之间处理文件时,我都会推荐用于安全业务数据管理的 VPS 策略

雷克萨·赛勒斯雷克萨·赛勒斯 7 分钟阅读
物化视图与视图
数据库与分析

物化视图与视图:了解它们在数据库中的角色

在数据库系统中,物化视图作为数据库对象将查询的预先计算结果存储为物理表。由于数据实际上存储在磁盘上,因此复杂化

艾维·约翰逊艾维·约翰逊 7 分钟阅读

准备好部署了吗? 每月 2.48 美元起。

独立云,自 2008 年起。AMD EPYC、NVMe、40 Gbps。 14 天退款。