首页云计算 正文

如何在Ubuntu上安装Hadoop?

2024-12-27 2 0条评论

在当今时代,当企业或涉及计算机的运营扩展到需要多台计算机处理任务时,我们通常会通过将这些计算机联网成一个网络单元来提高工作效率。在数据科学等领域,这种做法如此普遍,以至于几乎所有操作都是通过这些联网计算机完成的。虽然这种方式在处理需求繁重的计算任务时更为高效,但同时也相当复杂,因为需要单独配置每台计算机并管理整个网络。这就是像Hadoop这样的程序发挥作用的地方。

Hadoop是Apache发布的一套工具和程序,它大大简化了将多台计算机网络化的过程。在这篇文章中,我将介绍Hadoop,探讨其使用场景,分析其优缺点,并概述其高级架构。最后,我将提供在Ubuntu 20.04上安装Hadoop的逐步指南,完成这个2024年的Hadoop教程。

什么是Apache Hadoop?

Apache的Hadoop工具套件已经改变了超过15年的网络设置和利用方式。用户可以利用Hadoop的资源高效性,充分发挥现有计算能力来处理繁重任务,无需进行昂贵的升级。这个套件包括四个模块:HDFS、YARN、MapReduce和Hadoop Common,每个模块都为特定用途设计。

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的特点并不多,其基本要素被称为Zookeeper。在本节中,我将尝试简明地介绍Hadoop的高级架构和生态系统的这四个部分,然后介绍如何在Ubuntu 20.04上安装Hadoop。

HDFS(Hadoop分布式文件系统)

HDFS是Hadoop生态系统中的整体存储系统,所有Hadoop子系统和应用程序都使用它来存储、传输和处理数据。HDFS的主要特点是,它是负责运行Hadoop集群所有底层操作的文件系统。HDFS将数据分割成128MB的块,并针对顺序操作进行优化,是一个极其强大的文件系统。

HDFS的主要角色是作为整体数据架构的提供者,可以通过不同的namenodes和辅助架构来组织和管理数据分析任务。还可以利用日志架构、QJM、HA、fsimage和编辑日志文件等来跟踪和执行其他任务。

YARN(资源协调器)

YARN是Hadoop的执行分支,用于在Hadoop生态系统内为特定应用程序分配计算资源。它通过资源管理器允许用户通过不同的节点为不同任务和应用分配资源。YARN还包含一个类似HDFS的日志系统,用于跟踪所有分配的资源和操作。YARN分为三个子部分:资源管理器、应用主管和节点管理器,每个子部分都为每个集群、应用程序和节点创建一个新实例。YARN不仅可以为不同任务分配资源,还可以调度资源随时间变化,以实现高级算法工作流。

Hadoop MapReduce

MapReduce是Hadoop生态系统中的另一个重要组成部分。安装Hadoop后,可以使用此功能通过多台计算机分布式分析大量数据。Hadoop MapReduce的工作原理是:将大量数据输入到程序中,这些数据将在网络计算机中被拆分、分配并处理。然后,通过称为reducers的特定协议,将数据简化为其最基本的组成部分。每个这样的操作称为一个作业。

例如,假设你有一个由三个词组成的句子,想用MapReduce来分析。Hadoop MapReduce会将这个句子拆分成三个不同的批次,每个批次包含一个词,然后将这些词与其他作业的类似数据结合,创建一个去除了不必要数据的最终统一数据批次。

Zookeeper

Zookeeper是Hadoop生态系统的另一个子部分,最初是在Hadoop 2.0版本发布时开始广泛使用的。Zookeeper主要用于协调作为单个Hadoop实例运行的不同操作。因此,Zookeeper几乎总是与YARN的资源管理器和HDFS的不同功能结合使用。Zookeeper的主要用途是检测和纠正潜在的故障点,它使用两种工具:ZKFiloverControer和Zookeeper Quorum。

在这些程序中,由Hadoop架构的其他组件管理的数据节点被归类为活动的namenodes,并由用户监控。随后,这些namenodes在Zookeeper的两个子部分中接受审查,以确定困难区域并识别潜在故障。

以下是Ubuntu 20.04上安装Hadoop的逐步指南,以Markdown格式呈现:

在Ubuntu 20.04上安装Hadoop — 逐步指南

在了解了Hadoop的架构后,现在我们来到了本教程的核心部分,即如何在Ubuntu 20.04上安装Hadoop。在进入安装指南之前,我们先来看看前提条件。请注意,这个指南也适用于Ubuntu 18.04。

前提条件

安装Hadoop所需的前提条件相当简单。你需要一台运行Ubuntu的计算机,并具有root访问权限,无论是本地可用还是通过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

第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

生成密钥后,使用以下行将它们标记为authorized_keys并保存在你的SSH目录中:

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

使用此命令确保你的SSH连接具有所需的所有权限:

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

确认更改后,你将能够随时轻松地使用你创建的用户连接到localhost:

ssh localhost

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

你可以访问Apache Hadoop网站查看版本列表及其最近的更改日志。选择你喜欢的版本,你将获得一个可以与以下命令一起使用的链接来下载和安装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环境

在/usr/local/hadoop/etc/hadoop/hadoop-env.sh中设置JAVA_HOME:

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浏览器。

NameNode: http://localhost:9870
ResourceManager: 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的bin和sbin目录添加到系统PATH中。

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

完成了!你刚刚成功地配置并安装了Apache Hadoop在Ubuntu 20.04上!

结论

总之,Ubuntu 20.04上安装Hadoop是一个详尽的过程,需要细致的关注和准备探索设置的细节。按照本指南中提供的步骤,Ubuntu用户可以开始一段变革之旅,充分利用Hadoop的强大能力,实现他们数据分析追求的潜力。

FAQ

HDFS和MapReduce有什么不同?
虽然这两个模块都位于Hadoop生态系统中,但它们各自扮演着不同的角色。HDFS(Hadoop分布式文件系统)作为一个分布式文件系统,便于数据访问。另一方面,MapReduce擅长分解和高效分析大块数据。

Hadoop被认为是一种数据库吗?
Hadoop不是数据库,尽管这种误解很常见。它实际上是一个分布式文件系统,通过连接在一起的计算机网络实现大量数据的存储和处理。它不应被直接用作传统数据库系统的替代品。

Hadoop的四个主要组件是什么?
Hadoop由四个核心组件组成:HDFS(Hadoop分布式文件系统)、YARN(资源协调器)、MapReduce和Hadoop Common。此外,一些资源将ZooKeeper视为一个组件,尽管它并未被正式认定为此。

Hadoop通常在哪里使用?
Hadoop在各个领域都有应用,这些领域需要管理、存储、处理和分析大规模数据。它适用于从中型企业和医院到新兴初创公司的各种操作,提供数据驱动的解决方案。

文章版权及转载声明

本文作者:admin 网址:http://news.edns.com/post/283456.html 发布于 2024-12-27
文章转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码