当前位置: 首页 > news >正文

Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式

单机模式

单机模式是Hadoop最简单的运行模式。在单机模式下,所有Hadoop组件都运行在单个机器上,包括HDFS、MapReduce等。由于只有一个节点参与计算,单机模式适用于开发和测试阶段,不适合用于处理大规模数据。在单机模式下,Hadoop的所有组件运行在同一进程中,能够快速展示整个处理流程,方便开发人员进行调试和验证

伪分布式模式

伪分布式模式是Hadoop的中级运行模式。在伪分布式模式下,Hadoop的各个组件运行在单台计算机上,但每个组件都是独立运行的。这意味着可以模拟一个小规模的分布式环境,包括一个主节点Namenode和多个工作节点Datanode。伪分布式模式适用于在本地环境中进行开发和测试,并且能够模拟数据分片和分布式计算的过程,从而更真实地了解Hadoop的工作原理。

以下是配置 Hadoop 伪分布式模式的一般步骤:

1、安装Hadoop

2、配置 HDFS:编辑 Hadoop 配置文件 core-site.xmlhdfs-site.xml ,设置适当的配置参数。例如,指定本地文件系统作为 HDFS 的存储路径,并设置副本数。

3、配置 YARN:编辑 YARN 配置文件 yarn-site.xml ,设置适当的参数,如指定本地资源管理器地址和可用的计算资源。

4、设置环境变量:将 Hadoop 的 bin 目录路径添加到系统的 PATH 环境变量中。

5、配置 SSH:启用 SSH,并配置免密登录以设置 Hadoop 的分布式通信。

6、启动 Hadoop:运行启动脚本,启动 HDFS 和 YARN。可以通过浏览器访问相应的管理控制台,如 NameNode 页面、ResourceManager 页面等。

7、执行任务和作业:提交 MapReduce 任务或其他计算任务到 Hadoop 集群,并通过 Hadoop 提供的 API 或命令行工具进行操作。

需要注意的是,伪分布式模式仅适用于开发和测试目的,因为只有一个物理/虚拟机器负责运行所有的组件,所以它并不能提供真正的分布式性能和容错能力。

总之,Hadoop 伪分布式模式是用于在单台计算机上模拟分布式环境的配置方式,可用于本地开发、调试和验证大数据应用程序。这里只做简单的介绍,感兴趣的可以自己搭一下玩玩,重点是下面的完全分布式模式。

完全分布式模式

完全分布式模式是Hadoop的最常用运行模式。在完全分布式模式下,Hadoop集群由多台计算机组成,每个节点扮演着不同的角色。集群中包含一个主节点Namenode和多个工作节点Datanode,每个节点负责存储和处理数据。完全分布式模式可以处理大规模的数据集,并且具有高可靠性和容错性。Hadoop集群通过分布式存储和计算的方式,实现了大规模数据的快速处理和分析。

准备工作

1) 准备三台服务器,安装并配置jdk和hadoop

2) 集群部署规划

注意:NameNode和SecondaryNameNode不要安装在同一台服务器,ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上

3)配置文件说明

Hadoop配置文件分为两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。

配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四个配置文件存放在$HADOOP_HOME/etc/hadoop 这个路径下面,用户可以根据项目需求重新进行修改配置。

core-site.xml:这个文件包含了Hadoop核心配置的相关属性,比如文件系统的默认URI (fs.defaultFS)、临时文件目录 (hadoop.tmp.dir)等。

hdfs-site.xml:这个文件包含了HDFS(Hadoop分布式文件系统)的相关配置属性,比如副本数 (dfs.replication)、数据块大小 (dfs.blocksize)等。

mapred-site.xml:这个文件包含了MapReduce框架的相关配置属性,比如MapReduce作业历史服务器地址 (mapreduce.jobhistory.address)、任务并行度 (mapreduce.job.running.map.limit)等。在较新的Hadoop版本中,这个文件被废弃,相关配置已经移动到yarn-site.xml中。

yarn-site.xml:这个文件包含了YARN(Yet Another Resource Negotiator)的相关配置属性,比如NodeManager的内存限制 (yarn.nodemanager.resource.memory-mb)、ApplicationMaster的内存限制 (yarn.app.mapreduce.am.resource.mb)等。

配置集群

配置core-site.xml 文件
<configuration><!-- 指定NameNode的地址--><property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value></property><!-- 指定Hadoop数据的存储目录--><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.2.4/data</value></property><!-- 配置HDFS网页登录使用的静态用户为amo--><property><name>hadoop.http.staticuser.user</name><value>amo</value></property>
</configuration>
配置hdfs-site.xml 文件
<configuration><!-- nn web端访问地址 --><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址 --><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property>
</configuration>
配置yarn-site.xml 文件
<configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property>
</configuration>
配置mapred-site.xml 文件
<configuration><!-- 指定MapReduce程序运行在Yarn上--><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

配置完成之后,在集群上分发配置好的Hadoop配置文件,然后去hadoop103和hadoop104查看配置文件分发情况

 

相关文章:

Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式

单机模式 单机模式是Hadoop最简单的运行模式。在单机模式下&#xff0c;所有Hadoop组件都运行在单个机器上&#xff0c;包括HDFS、MapReduce等。由于只有一个节点参与计算&#xff0c;单机模式适用于开发和测试阶段&#xff0c;不适合用于处理大规模数据。在单机模式下&#xf…...

JavaScript将array数据下载到Excel中

具体代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…...

【前端】Bootstrap:快速开始

Bootstrap 是一个功能强大且易于使用的前端框架&#xff0c;专门用于创建响应式和移动优先的网页。学习Bootstrap不仅可以帮助你快速构建现代网页&#xff0c;还可以提升你对前端开发流程的理解。本教程将从基础概念开始&#xff0c;逐步引导你掌握Bootstrap&#xff0c;并通过…...

文献阅读(222) VVQ协议死锁

题目&#xff1a;VVQ: Virtualizing Virtual Channel for Cost-Efficient Protocol Deadlock Avoidance时间&#xff1a;2023会议&#xff1a;HPCA研究机构&#xff1a;KAIST request-reply协议死锁如下图所示&#xff0c;每个node收到request之后发送reply&#xff0c;但是想…...

Node.js管理工具NVM

nvm&#xff08;Node Version Manager&#xff09;是一个用于管理多个 Node.js 版本的工具。以下是 nvm 的使用方法和一些常见命令&#xff1a; 一、安装 nvm 下载 nvm&#xff1a; 地址&#xff1a;https://github.com/coreybutler/nvm-windows/releases访问 nvm 的 GitHub 仓…...

云原生后端

云原生后端&#xff08;Cloud-Native Backend&#xff09;是指在云计算环境中&#xff0c;利用云原生技术&#xff08;如容器、微服务、服务网格等&#xff09;构建和部署后端应用程序的一种方法。以下是对云原生后端的详细讲解&#xff1a; 1. 定义 云原生是一种设计和构建应…...

充电宝哪个品牌值得买?2024年五款靠谱充电宝推荐

哪个品牌充电宝值得买&#xff1f;用过这么多款充电宝&#xff0c;个人还是觉得充电快、小巧便携的充电宝使用会更加的方便&#xff01;在当今快节奏的生活中&#xff0c;手机已成为我们不可或缺的伙伴。然而&#xff0c;随着智能手机功能的日益强大&#xff0c;电池续航问题也…...

YOLOv11对比YOLOV8网络结构变化分析,帮助你真正的理解和学习yolo框架

本文在大佬的文章YOLOv11 | 一文带你深入理解ultralytics最新作品yolov11的创新 | 训练、推理、验证、导出 &#xff08;附网络结构图&#xff09;基础上做了一些补充。 一、YOLOv11和YOLOv8对比 二、YOLOv11的网络结构图 下面的图片为YOLOv11的网络结构图。 三、YOLOv11…...

弃用RestTemplate,RestClient真香!

在Spring框架的发展历程中&#xff0c;RestTemplate作为发起HTTP请求的同步API&#xff0c;曾经扮演着举足轻重的角色。然而&#xff0c;随着技术的不断进步和微服务架构的普及&#xff0c;RestTemplate的局限性逐渐显现&#xff0c;尤其是在处理高并发和异步请求时。因此&…...

electron-vite_10electron-updater软件更新

网很多electron-updater更新文章&#xff0c;这里只简单写一下演示代码&#xff1b; 为什么选择 electron-updater插件可以自动更新应用程序,同时支持多个平台;比官方要强; 官方的autoUpdater仅支持macOS 和 Windows 自动更新; 注意是自动&#xff0c;直接更新那种; 脚手架中是…...

React native之全局变量存储AsyncStorage

AsyncStorage是React native中对变量&#xff0c;对象进行全局存储&#xff0c;读取的异步使用对象。以key值进行存储。但是只能存储字符串数据&#xff0c;想存储对象&#xff0c;可把对象JSON进行序列化存储&#xff0c;读取的时候再转成JSON对象。 AsyncStorage.getItem()-…...

获取vue实例

需要注意的是&#xff0c;无论通过哪种方式获取元素&#xff0c;如果元素为 vue 组件&#xff0c;则需要在子组件中使用 defineExpose 进行暴露。 在父组件中&#xff0c;我们静态绑定 childRef&#xff1a; 在子组件中&#xff0c;我们需要通过defineExpose函数&#xff0c;手…...

基于Python实现电影推荐系统

电影推荐系统 标签&#xff1a;Tensorflow、矩阵分解、Surprise、PySpark 1、用Tensorflow实现矩阵分解 1.1、定义one_batch模块 import numpy as np import pandas as pddef read_and_process(filename, sep ::):col_names [user, item, rate, timestamp]df pd.read_cs…...

【linux】进程理解

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.进程的基本概念进程的组成部分进程的特性进程的状态 02.PCBPCB的组成部分task_structtask_struct 的主要组成部分 03.进程属性查看进程 04.通过系统调用创建进程-fork初识工作…...

文件IO练习1

题目一&#xff1a; 1、使用fread和fwrite完成两个文件的拷贝&#xff0c;要求源文件和目标文件由外界输入 实现代码&#xff1a; #define LEN_BUF 256int main(int argc, const char *argv[]) {if(argc ! 3){fprintf(stderr,"程序入参输入有误\n");return -1;}FILE…...

c++ std::future 和 std::promise 的实现工作原理简介

为了便于理解 std::future 和 std::promise 的实现工作原理&#xff0c;我们可以创建一个简化的版本。这包括共享状态、Promise 设置值、Future 获取值的核心机制。我们的示例代码将实现 SimplePromise 和 SimpleFuture 两个类&#xff0c;二者通过一个共享状态实现线程间的通信…...

MATLAB(Octave)混电动力能耗评估

&#x1f3af;要点 处理电动和混动汽车能耗的后向和前向算法模型(simulink)&#xff0c;以及图形函数、后处理函数等实现。构建储能元数据信息&#xff1a;电池标称特性、电池标识符等以及静止、恒定电流和恒定电压等特征阶段。使用电流脉冲或要识别的等效电路模型类型配置阻抗…...

opencv学习:人脸识别器特征提取BPHFaceRecognizer_create算法的使用

BPHFaceRecognizer_create算法 在OpenCV中&#xff0c;cv2.face.LBPHFaceRecognizer_create()函数用于创建一个局部二值模式直方图&#xff08;Local Binary Patterns Histograms&#xff0c;简称LBPH&#xff09;人脸识别器。LBPH是一种用于人脸识别的特征提取方法&#xff0…...

HTML+CSS总结【量大管饱】

文章目录 前言HTML总结语义化标签常用标签H5新的语义元素H5的媒体标签\<embed> 元素&#xff08;少用&#xff09;\<object>元素&#xff08;少用&#xff09;\<audio>\<video> 元素包含关系iframe元素嵌入flash内容常用表单inputselect CSS总结权重样…...

Android开发之Broadcast Receive(广播机制)其实开发如此简单

什么是BroadcastReceiver BroadcastReceiver&#xff08;广播接收器&#xff09;用于响应来自其他应用程序或者系统的广播消息。这些消息有时被称为事件或者意图。本质上来讲BroadcastReceiver是一个全局的监听器&#xff0c;隶属于Android四大组件之一。 使用场景 1、 不同…...

手把手教你用QGIS加载并可视化2025年北京OSM路网SHP数据(WGS84坐标系)

零基础实战&#xff1a;QGIS加载OSM路网数据的完整可视化流程 第一次打开QGIS时&#xff0c;面对满屏的工具栏和菜单选项&#xff0c;很多初学者都会感到无从下手。特别是当手头有一份刚下载的SHP格式路网数据时&#xff0c;如何正确加载、设置坐标系并进行基础可视化&#xff…...

解决MicroBlaze程序启动难题:Vivado中bit与elf文件合并的完整流程

解决MicroBlaze程序启动难题&#xff1a;Vivado中bit与elf文件合并的完整流程 在FPGA开发中&#xff0c;MicroBlaze软核处理器的应用越来越广泛&#xff0c;但许多开发者都会遇到一个共同的痛点&#xff1a;每次下载程序都需要分别加载bit文件和elf文件&#xff0c;这不仅增加了…...

Legacy-iOS-Kit系统降级全指南:让老旧iOS设备重获新生

Legacy-iOS-Kit系统降级全指南&#xff1a;让老旧iOS设备重获新生 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to downgrade/restore, save SHSH blobs, and jailbreak legacy iOS devices 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 一、问…...

Qwen2.5-72B-Instruct-GPTQ-Int4实战案例:新能源电池BMS日志分析与故障模式推演

Qwen2.5-72B-Instruct-GPTQ-Int4实战案例&#xff1a;新能源电池BMS日志分析与故障模式推演 1. 项目背景与模型介绍 新能源电池管理系统(BMS)是电动汽车和储能系统的核心组件&#xff0c;每天产生大量运行日志数据。传统分析方法依赖人工经验&#xff0c;效率低下且难以发现潜…...

Babylon.js 官方Demo速查手册:按技术点分类的实战预览图+源码直达

Babylon.js 技术全景速查手册&#xff1a;从核心功能到高阶实战 当你第一次打开Babylon.js官网的Demo页面时&#xff0c;可能会被上百个案例晃花了眼。作为一款功能强大的Web3D引擎&#xff0c;它几乎涵盖了从基础渲染到高级特效的所有技术点。但问题来了&#xff1a;当你想实现…...

这家“冠军机器狗”企业广募人才 | 智身科技:邀你一起玩转具身智能

不止于工作&#xff0c;这是一场定义未来的邀约&#xff0c;一起奔赴具身智能的广阔未来。 01 我们是谁 智身科技成立于2023年&#xff0c;是一家专注于具身智能领域的高新技术企业。我们以自主研发为核心&#xff0c;构建了从核心部件、整机制造到场景化落地的全链条能力。 技…...

能源企业必看:人力资源系统选用友、北森,还是红海云?

能源企业的人力资源系统选型&#xff0c;往往不是比功能多不多&#xff0c;而是看能否扛住集团级组织复杂度、倒班工时与薪酬联动、强合规审计&#xff0c;以及对私有化与信创的要求。用友、北森、红海云是常被放在同一张桌面上对比的选择&#xff0c;但适配路径并不相同。下面…...

避坑指南:OpenClaw对接nanobot镜像的3大常见错误与解决方法

避坑指南&#xff1a;OpenClaw对接nanobot镜像的3大常见错误与解决方法 1. 为什么需要这份避坑指南&#xff1f; 上周我在本地部署nanobot镜像时&#xff0c;原本以为半小时就能搞定的事情&#xff0c;硬是折腾了整整一个下午。这个超轻量级的OpenClaw镜像确实很吸引人——内…...

GD32F4系列替换STM32F4,HAL库CAN初始化卡死?一个Sleep模式的坑与填坑实录

GD32F4替换STM32F4的CAN初始化陷阱&#xff1a;Sleep模式差异与实战解决方案 最近在将STM32F4项目迁移到GD32F4平台时&#xff0c;遇到了一个令人费解的问题——CAN总线初始化卡死在HAL_CAN_Init()函数中。经过深入排查&#xff0c;发现问题根源在于两款芯片CAN控制器Sleep模式…...

从HikariCP连接泄漏告警到业务逻辑耗时优化实战

1. 从告警日志到问题定位 那天早上刚到公司&#xff0c;就收到运维同事发来的告警截图。日志里赫然写着"Apparent connection leak detected"&#xff0c;后面跟着一堆堆栈信息。作为负责这个微服务的老司机&#xff0c;我第一反应就是&#xff1a;HikariCP又在报连…...