Hadoop伪分布式环境搭建
什么是Hadoop伪分布式集群?
Hadoop 伪分布式集群是一种在单个节点上模拟分布式环境的配置,用于学习、开发和测试 Hadoop 的功能和特性。它提供了一个简化的方式来体验和熟悉 Hadoop 的各个组件,而无需配置和管理一个真正的多节点集群。
在 Hadoop 伪分布式集群中,各个 Hadoop 组件(如 NameNode、DataNode、ResourceManager、NodeManager 等)在同一台机器上运行,并通过配置文件进行连接和通信。通过使用 Hadoop 伪分布式集群,你可以在单个节点上进行开发和测试,而无需配置和管理一个真正的多节点集群。这对于学习和熟悉 Hadoop 的基本概念、调试代码、运行作业和验证配置非常有用。
然而,需要注意的是,伪分布式集群并不能提供真正的分布式计算和数据处理能力,因为所有的组件都在同一台机器上运行。因此,在进行性能测试、负载均衡和规模扩展方面,它与真实的分布式集群可能存在一些差异。
也就是说,Hadoop可以在单节点上以伪分布的方式运行,Hadoop进程以分离的Java进程来运行,节点既是NameNode又是DataNode,并且读取的是HDFS中的文件。
一、基本环境配置
基本环境配置的 所有步骤与博主上一篇博客一致
传送门:Hadoop 分布式集群搭建教程(2023在校生踩坑版)-CSDN博客
1.修改主机名和设置固定IP
2.关闭防火墙和新建安装目录
3.安装配置JDK
4.配置主机映射(修改hosts文件)
5.配置SSH免密登录本地节点(hadoop0)
二、安装配置Hadoop
1.安装和解压
步骤与博主上一篇博客一致
传送门:Hadoop 分布式集群搭建教程(2023在校生踩坑版)-CSDN博客
接着进入“/opt/programs/hadoop-3.3.6/etc/hadoop”目录,依次修改配置文件 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves(又一个坑,Hadoop3.x版本之后,slaves文件更名为workers,所以很多同学会找不到这个文件)、hadoop-env.sh。
①修改配置文件core-site.xml
# vim core-site.xml
将 <configuration> 和 </configuration> 标签的内容修改如下:
<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop0:9000</value></property><property><name>hadoop.tmp.dir</name><value>/opt/programs/hadoop-3.3.6/tmp</value></property>
</configuration>
②修改配置文件hdfs-site.xml
# vim hdfs-site.xml
将 <configuration> 和 </configuration> 标签的内容修改如下:
<configuration><property><name>dfs.replication</name><value>1</value></property>
</configuration>
③修改配置文件mapred-site.xml
# vim mapred-site.xml
将 <configuration> 和 </configuration> 标签的内容修改如下:
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>dfs.permissions</name><value>false</value></property>
</configuration>
④修改配置文件yarn-site.xml
# vim yarn-site.xml
将 <configuration> 和 </configuration> 标签的内容修改如下:
<configuration><property><name>yarn.resourcemanager.hostname</name><value>hadoop0</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>
⑤修改配置文件slaves(Hadoop3.x改名为workers)
将“localhost”修改为以下内容:
hadoop0
⑥修改配置文件hadoop-env.sh
将’expHADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/etc/hadoop"}”一行改为:
export HADOOP_CONF_DIR=/opt/programs/hadoop-3.3.6/etc/hadoop
并在文件末尾加入JAVA_HOME环境变量:
export JAVA_HOME=/opt/programs/jdk1.8.0_371
然后执行以下命令,刷新hadoop-env.sh文件,使修改生效:
# source hadoop-env.sh
2.配置Hadoop环境变量
接修改“ /etc/profile ”,配置Hadoop环境变量
# vim /etc/profile
在文件末尾加入以下内容:
export HADOOP_HOME=/opt/programs/hadoop-3.3.6
export PATH=$PATH:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后刷新profile文件,是修改生效:
# source /etc/profile
三、格式化HDFS
执行以下命令,格式化HDFS:
# hdfs namenode -format
出现以下信息则说明格式化成功:

四、启动HDFS和YARN
依次执行以下命令,启动HDFS和YARN:
# start-dfs.sh
# start-yarn.sh
若出现以下报错:

则需要在“ /etc/profile/ "文件中加入以下内容:
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
更改完成后一定要刷新profile文件!
然后重启HDFS和YARN:

即可发现正常启动。
启动后可执行“ jps ”命令,查看启动的Hadoop相关进程:

除去jps外,共有五个进程:NameNode、SecondaryNameNode、DataNode、ResourceManager和NodeManager。如果发现有进程没有启动,可以先停止Hadoop集群(依次执行” stop-dfs.sh ”、“stop-yarn.sh”),然后重新格式化HDFS。
启动后在宿主机访问“ http://hadoop0的ip地址:9870/ ”,页面会显示“hadoo0:9000(active)”
(有小伙伴可能访问50070访问不了,那么不妨改为9870试试!)
对于Hadoop高可用集群和伪分布式集群,它们在配置上有一些差异,这可能导致了不同的端口配置。
在Hadoop高可用集群中,通常会使用Hadoop的HA(High Availability)功能来确保集群的可用性。HA集群中有多个NameNode实例,其中一个是Active状态的主NameNode,负责处理客户端请求。默认情况下,Active主NameNode的HTTP端口是50070,用于访问Web界面。
而在Hadoop伪分布式集群中,只有一个节点模拟了整个分布式环境,包括NameNode、DataNode、ResourceManager等。为了避免与默认的单节点模式端口冲突,Hadoop在伪分布式模式下将NameNode的HTTP端口更改为9870。
因此,当你搭建正常的Hadoop高可用集群时,可以通过50070端口访问NameNode的Web界面。而在伪分布式集群中,由于端口冲突的考虑,NameNode的HTTP端口被更改为9870。
这是Hadoop在不同配置下为了避免端口冲突而进行的默认设置。我们也可以通过相应的配置文件修改端口号,来满足需求。

相关文章:
Hadoop伪分布式环境搭建
什么是Hadoop伪分布式集群? Hadoop 伪分布式集群是一种在单个节点上模拟分布式环境的配置,用于学习、开发和测试 Hadoop 的功能和特性。它提供了一个简化的方式来体验和熟悉 Hadoop 的各个组件,而无需配置和管理一个真正的多节点集群。 在 Ha…...
javaee ssm框架项目添加分页控件
搭建ssm框架项目 参考上一篇博文 添加分页控件 引入依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schema…...
2023年中国非晶纳米晶竞争格局、产业链及行业产量分析[图]
非晶合金又称“液态金属、金属玻璃”,是一种新型软磁合金材料,主要包含铁、硅、硼等元素。其主要制品非晶合金薄带的制造工艺是采用急速冷却技术将合金熔液以每秒106℃的速度急速冷却,形成厚度约0.03mm的非晶合金薄带,物理状态表现…...
在业务开发中遇到的树形结构(部门、区域、职位),递归处理。
文章目录 概要对象结构示例完整示例小结 概要 本文主要记录在树形结构中会遇到的问题, 使用部门结构讲解,main方法进行演示。 1、获取部门树结构 2、根据部门id获取所有下级 3、根据部门id获取上级部门 4、根据部门id获取类似面包屑(总公司…...
张量-算术操作函数
tf.add(x,y,name None)求和函数 示例代码如下: import tensorflow.compat.v1 as tf tf.disable_v2_behavior()x 1 y 2a tf.add(x,y)with tf.Session() as sess:print(sess.run(a)) tf.subtract(x,y,name None)减法函数 示例代码如下: import tensorflow.compat.v1 as …...
虚拟展厅有什么重要意义,了解虚拟展厅在宣传中的应用
引言: 随着科技的不断进步,虚拟展厅已经逐渐成为展览行业的重要一环。虚拟展厅是一种数字化平台,为观众提供了与传统展览完全不同的体验。 一.虚拟展厅的定义 虚拟展厅是一个通过互联网和虚拟现实技术创建的数字展示空间&#x…...
华为OD机试真题-补种未成活胡杨(Java/C++/Go/Python)
华为OD机试真题-补种未成活胡杨(Java/C++/Go/Python) 题目描述 近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。 一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树? 输入…...
Java卷上天,可以转行干什么?
小刚是某名企里的一位有5年经验的高级Java开发工程师,每天沉重的的工作让他疲惫不堪,让他萌生出想换工作的心理,但是转行其他工作他又不清楚该找什么样的工作 因为JAVA 这几年的更新实在是太太太……快了,JAVA 8 都还没用多久&am…...
Pyside6 安装和简单界面开发
Pyside6 安装和简单界面开发 Pyside6介绍Pysied6开发环境搭建Python安装Pysied6安装 Pyside6界面开发简单界面设计界面设计界面编译 编写界面初始化代码软件打包 Pyside6介绍 对于Python的GUI开发来说,Python自带的可视化编程模块的功能较弱,PySide是跨…...
python读取vivo手机截图,将满屏图片文件移动别的路径
问题之初 python读取vivo手机截图, 将满屏图片文件移动别的路径好多这样的图片,占用手机大量的内存,食之无味弃之可惜!那么会复制粘贴👀代码的我们我们今天就把这些图片筛选清理掉。 这段代码 原有逻辑的基础上&…...
【一周安全资讯1007】多项信息安全国家标准10月1日起实施;GitLab发布紧急安全补丁修复高危漏洞
要闻速览 1.以下信息安全国家标准10月1日起实施 2.GitLab发布紧急安全补丁修复高危漏洞 3.主流显卡全中招!GPU.zip侧信道攻击可泄漏敏感数据 4.MOVEit漏洞导致美国900所院校学生信息发生大规模泄露 5.法国太空和国防供应商Exail遭黑客攻击,泄露大量敏感…...
2023年09月个人工作生活总结
本文为 2023 年 9 月工作生活总结。 研发编码 Alpine 容器 某工程部署于alpine镜像,当初看上是因为其体积小,其它微服务,在250MB左右,但那个工程只用50MB。最近发现时间戳转换不正确。对于同一时间字符串转时间戳函数࿰…...
现货白银图表分析的依据
现货白银的行情图表分析其实与股票的差不多,投资者可以结合均线、k线的变化,来分析实时的行情走势。当走势图的均线呈多头排列,即短期、中期、长期均线依次从上到下排列并向右上方运行,且白银价格沿各均线向右上方拉升,…...
python多线程与多进程
多线程与多进程 一, 什么是进程, 什么是线程? 进程: 运行中的程序. 每次我们执行一个程序, 咱们的操作系统对自动的为这个程序准备一些必要的资源(例如, 分配内存, 创建一个能够执行的线程. ) 线程: 程序内, 可以直接被CPU调度的执行过程. 是操作系统能够进行运算调度…...
62从零开始学Java之时间相关的类都有哪些?
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 我们在开发时,除了数字、数学这样的常用API之外,还有日期时间类,更…...
【Leetcode】买卖股票系列
121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔…...
SLAM面试笔记(8) — 计算机视觉面试题
目录 问题1:目标检测的算法分类 问题2:卷积神经网络的组成 问题3:输入层的作用 问题4:卷积层作用 问题5:卷积核类型 问题6:11卷积核作用 问题7:卷积核是否越大越好 问题8:棋…...
聊聊MySQL面试常问名词回表、索引覆盖,最左匹配
文章目录 1. 前言2. 回表操作 Index Lookup2.1 什么是回表2.2 回表的成本2.3 如何避免回表 3. 索引覆盖 Covering Index3.1 什么是索引覆盖3.2 索引覆盖的优点3.3 如何使用索引覆盖 4. 最左匹配原则(Leftmost Prefix Match)4.1 什么是最左匹配原则4.2 最…...
【面试】C/C++面试八股
C/C面试八股 编译过程的四个阶段C和C语言的区别简单介绍一下三大特性多态的实现原理虚函数的构成原理虚函数的调用原理虚表指针在什么地方进行初始化的?构造函数为什么不能是虚函数为什么建议将析构函数设为虚函数虚函数和纯虚函数的区别抽象类类对象的对象模型内存…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
