Linux部署hadoop伪分布式

本文详细介绍了如何在Linux系统上部署Hadoop的伪分布式环境,包括下载和安装Hadoop和JDK,配置环境变量,修改安装目录,设置SSH免密登录,以及配置核心文件如core-site.xml,hdfs-site.xml和mapred-site.xml。最后,演示了如何启动Hadoop服务并进行基本验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux部署hadoop伪分布式


一、hadoop是什么?

Hadoop 是一个开源的分布式计算平台,用于存储和处理大规模数据集。它由Apache软件基金会开发和维护。Hadoop的核心组件包括:

  1. Hadoop分布式文件系统(HDFS):用于存储大规模数据集的分布式文件系统。它通过将数据划分为多个块,并在集群中的多台服务器上存储这些块来实现数据的可靠性和可扩展性。

  2. Hadoop YARN(Yet Another Resource Negotiator):作为资源管理器,负责管理和调度集群中的计算资源,以便在集群中运行各种计算作业。

  3. MapReduce:是一种编程模型和处理框架,用于在Hadoop集群上进行大规模数据处理。它将任务分解成多个独立的任务(Map任务和Reduce任务),并在集群中的多台计算节点上并行执行这些任务。

Hadoop能够处理的数据量非常大,并且能够在分布式环境中实现高可用性和容错性。它被广泛应用于各种领域,如大数据分析、数据挖掘、日志处理等。

二、伪分布是什么?

伪分布式是指在单个节点上模拟分布式环境,使得开发者可以在单台计算机上运行和测试分布式系统的各个组件。在伪分布式模式下,所有的Hadoop核心组件(如HDFS、YARN和MapReduce)都在同一台计算机上运行,但它们仍然可以相互通信,并且可以使用多个进程模拟多台机器。

伪分布式模式通常用于开发和测试目的,因为它提供了一个简化的环境来验证和调试Hadoop应用程序,而无需真正的多台计算机集群。它允许开发者在单台计算机上模拟整个Hadoop集群的行为,包括数据存储、资源管理和任务执行等。

在伪分布式模式下,通常会在单个节点上运行单个NameNode和DataNode来模拟HDFS,同时运行ResourceManager和NodeManager来模拟YARN,以及运行MapReduce任务来模拟MapReduce框架。虽然所有组件都运行在单个节点上,但它们之间的通信和交互仍然遵循分布式系统的设计原则和通信协议。

总之,伪分布式模式提供了一个简单方便的方式来测试和开发Hadoop应用程序,但在生产环境中,通常会部署真正的分布式集群来获得更好的性能和可靠性。

三、使用步骤

1.下载jdk

一百度网盘链接:https://pan.baidu.com/s/1iiZho571cQq3aslqLHV9Jw?pwd=45sf
提取码:45sf
二官网下载(需要Oracle账号)
官网:www.oracle.com

2.下载hadoop和jdk安装包,如果有hadoop和jdk安装包,可以上传到Linux系统里

jdk从百度云下载到本地后上传到LInux系统中,可以通过rz工具

安装rz工具

//用root权限下载安装lrzsz软件包
//对于Red Hat/CentOS系统,运行以下命令:
sudo yum install lrzsz

//对于Debian/Ubuntu系统,运行以下命令
sudo apt-get update
sudo apt-get install lrzsz

root权限下使用rz,将jdk上传到Linux,上传时会默认上传到 当前文件夹,可以先进入你要保存jdk安装包的目录再使用rz命令,如何没有使用root权限会上传不成功

rz

在这里插入图片描述
下载hadoop-3.3.6

代码如下(示例):以在阿里云镜像仓库为列,用wget方法

//在root权限下 跟新yum库
yum -y update
//下载wget
yum install wget
//使用wget下载hadoop 保存在/opt/目录下
wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz -p /opt/

出现下列图片则下载成功
在这里插入图片描述

3.关闭防火墙和关闭防火墙自启动

//在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙
systemctl stop firewalld
systemctl disable firewalld.service

4.解压安装hadoop和jdk

在安装jdk之前我们需要将Linux自带的jdk卸载(如果是最小安装则忽略)

sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
//(1)rpm -qa:表示查询所有已经安装的软件包
//(2)grep -i:表示过滤时不区分大小写
//(3)xargs -n1:表示一次获取上次执行结果的一个值
//(4)rpm -e --nodeps:表示卸载软

解压安装

tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/ //-C 后面是hadoop的安装目录,根据自己情况选择安装目录
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/ //安装jdk

5.修改安装目录的名字(方便配置环境)

进入安装路径

mv hadoop-3.3.4/ hadoop //将hadoop-3.3.4 改为 hadoop
mv jdk1.8.0_212/</
LinuxLinuxLinuxLinuxLinux5.65.65.6企业版 企业版 下成功搭建 下成功搭建 下成功搭建 HadoopHadoopHadoopHadoopHadoopHadoop伪分布 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 测试环境。本次在一台服务 器上进行伪分布式搭建。 器上进行伪分布式搭建。 器上进行伪分布式搭建。 器上进行伪分布式搭建。 器上进行伪分布式搭建。 器上进行伪分布式搭建。 Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop 伪分布式模是在单机上拟 伪分布式模是在单机上拟 伪分布式模是在单机上拟 伪分布式模是在单机上拟 伪分布式模是在单机上拟 伪分布式模是在单机上拟 伪分布式模是在单机上拟 Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop 分布式分布式, 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 单机上的分布式并不是真正伪,而使用线程模拟。 Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop Hadoop 本身 是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是无法区分伪布式 和的,两种配置也很相似唯一不同地方是在单机器上配置,数据节点和名字均一个。 是在单机器上配置,数据节点和名字均一个。 是在单机器上配置,数据节点和名字均一个。 是
### 解决 LinuxHadoop 伪分布式配置缺失 Java 包的问题 在部署 Hadoop伪分布式环境时,如果遇到缺少 Java 包的情况,可以按照以下方法解决问题。 #### 环境准备 Hadoop 运行基于 Java,因此需要确保机器上安装有兼容版本的 JDK。根据引用说明[^1],建议使用 OpenJDK 1.8 或更高版本,或者从 Oracle 官方下载合适的 JDK 版本。对于 CentOS 用户来说,OpenJDK 是默认可用的选择。 可以通过以下命令安装 OpenJDK: ```bash sudo yum install -y java-1.8.0-openjdk-devel ``` 确认已成功安装并设置好 Java 路径后,可通过 `java -version` 命令验证当前使用的 Java 版本是否满足需求。 #### 配置 JAVA_HOME 变量 如果通过 `.rpm` 包形式安装了 Java,则无需手动配置环境变量;否则需将 `JAVA_HOME` 添加至系统的 Profile 配置文件中。编辑 `/etc/profile` 文件或用户家目录下的 `.bashrc` 文件,添加如下内容: ```bash export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export PATH=$JAVA_HOME/bin:$PATH ``` 执行以下命令使更改生效: ```bash source /etc/profile ``` #### 默认模式调整 Hadoop 初始状态是以单机非分布模式运行的,这有助于调试目的[^2]。然而,在伪分布式环境下,需要对核心配置文件进行适当修改以支持多进程协作工作流。主要涉及以下几个关键文件的更新: - **core-site.xml**: 设置 HDFS 名称节点地址。 - **hdfs-site.xml**: 指定副本数量及其他存储参数。 - **mapred-site.xml**: 映射 Reduce 工作框架位置。 - **yarn-site.xml**: YARN 相关资源配置。 具体操作可参考官方文档完成相应字段填写。 #### 关于 $HADOOP_CLASSPATH 使用注意事项 当某些 MapReduce 应用程序报告找不到特定类库时,切勿轻易向 `$HADOOP_CLASSPATH` 中追加额外路径[^3]。推荐利用 Hadoop 提供的功能组件——DistributedCache 来分发必要的 JAR 文件给各个节点上的任务实例。这样不仅能够保持服务端稳定性和独立性,还能减少因频繁变更全局 CLASSPATH 所带来的维护成本以及潜在风险。 #### 总结 综上所述,解决 Linux 平台下 Hadoop 伪分布式集群部署期间出现的 Java 类丢失现象的关键在于正确初始化 JVM 支持环境,并合理规划资源加载策略。遵循上述指导原则即可有效规避常见错误源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值