Hadoop最新版本hadoop-3.4.1搭建伪分布式集群以及相关报错解决
一:概述
Hadoop 是一个开源的分布式计算框架,广泛应用于大数据处理。伪分布式集群是 Hadoop 的一种部署模式,它可以在单台机器上模拟集群环境,适合初学者进行学习和实验。本文将详细介绍如何在单台机器上搭建 Hadoop 3.4.1 的伪分布式集群。
二:具体说明
2.1 环境准备
需要安装好虚拟机CentOS8,并且已经配置了SSH远程连接,以便于更好的操作。
我演示的是在CentOS8中配置伪分布式集群搭建。
首先,我们需要在虚拟机中配置java环境,详细过程如下所示:
首先将jdk的安装包,通过文件传输工具传输到/usr/local/soft/jdk中,让后将其解压的jdk8目录中

接下来在/etc/profile中配置环境变量
vim /etc/profile
在文件中添加如下的内容


JAVA_HOME路径为jdk的解压根目录。
配置完成之后,保存。
为了能够使这个配置生效,需要使用以下的命令来重新加载这个配置文件。
source /etc/profile
接着查看是否配置成功,这里和Win中查看方法相同
java -version
如果出现以下图片的内容,则证明配置成功。

如果没有,说明配置文件中配置的路径有误或者未执行重新加载配置文件的命令。
2.2 搭建Hadoop伪分布式集群
将hadoop的安装包上传到虚拟机的/opt目录中

配置免密登录
修改主机名
vim /etc/hostname
# 或者使用以下的命令
hostnamectl set-hostname master

将默认的主机名改为master,保存并退出
接下来修改hosts文件
vim /etc/hosts

接着重启虚拟机,并生成公钥和私钥对。
cd .ssh
ssh-keygen -t rsa
接着使用下面命令进行免密登录配置
ssh-copy-id master

利用以下的命令检查免密登录是否成功。
ssh master

如果出现上图中的内容,则说明配置免密登录成功了。
配置HDFS
将上传到/usr/local/soft/hadoop/hadoop3.4.1中的压缩包解压到/usr/local/soft/hadoop/hadoop3.4.1/中

通过以下的命令配置hadoop-env.sh文件
cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/etc/hadoop
cd /etc/hadoop

接着去编辑这个hadoop目录中的hadoop-env.sh文件,在里面添加JDK的家目录
通过以下的步骤去进行。
如果你不知道这个已经配置好的jdk家目录中,可以使用以下的命令打印出这个路径
echo $JAVA_HOME
vim hadoop-env.sh


然后保存并且退出。
接下来配置core-site.xml
vim core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:8020</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/data</value></property>
</configuration>
再接下来配置hdfs-site.xml
vim hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>1</value></property>
</configuration
接下来,格式化HDFS

hdfs namenode -format

2.3 HDFS的启动和停止
启动之前,需要做一些准备
进入到sbin目录中,修改四个文件
对于start-dfs.sh和stop-dfs.sh文件,尾部添加如下的参数
cd /usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1/sbin
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
[root@master sbin]# vim start-dfs.sh
[root@master sbin]# vim stop-dfs.sh
[root@master sbin]# vim start-yarn.sh
[root@master sbin]# vim stop-yarn.sh
对于start-yarn.sh和stop-yarn.sh文件,尾部添加下列参数:


YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
/usr/local/soft/hadoop/hadoop3.4.1/hadoop3.4.1
# 启动命令
sbin/start-dfs.sh
# 关闭命令
sbin/stop-dfs.sh

在 Hadoop 的配置文件中定义运行服务的用户。编辑
$HADOOP_HOME/etc/hadoop/hadoop-env.sh 文件,添加以下内容:bashexport HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
注意:虽然这里使用了 root 用户,但在实际生产环境中,建议使用非 root 用户来运行 Hadoop 服务,以增强安全性

我们发现,现在执行,刚才那个错误已经没有了,但是又出现了一个错误。这个要去将/etc/hosts中以下内容注释掉
vim /etc/hosts

接着杀死,已经启动的进程,然后重新启动,看是否还有这个错误/警告。

重现启动,发现已经没有了警告。


2.4 YARN的相关配置
(1)配置yarn-site.xml
vim yarn-site.xml
<configuration><property><name>yarn.resourcemanager.hostsname</name><value>master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>
(2)配置mapred-site.xml
把mapred-site.xml.template修改成mapred-site.xml,如果不是则不需要修改
# cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
</configuration>
启动和停止YARN
启动命令:
start-dfs.sh
暂停命令:
stop-dfs.sh
同理dfs的启动,若不能成功启动,则需退回/opt/hadoop目录下使用sbin/start-yarn.sh或sbin/stop-yarn.sh

在 Hadoop 的配置文件中定义运行服务的用户。编辑 $HADOOP_HOME/etc/hadoop/hadoop-env.sh 文件,添加以下内容:export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh

接下来,就可以顺利启动成功了!!


2.5 web页面访问管理
首先需要关闭防火墙,我们这里直接关闭,一般开发中,只是开放指定端口
[root@master hadoop3.4.1]# systemctl stop firewalld
[root@master hadoop3.4.1]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
接下来去访问HDFS和YARN的Web界面
http://master:9870/
http://master:8088/


dfs.namenode.http-address :NameNode 的 HTTP 服务端口(默认为 50070 ,Hadoop 3.x 中为 9870 )。• dfs.datanode.http.address :DataNode 的 HTTP 服务端口(默认为 50075 ,Hadoop 3.x 中为 9864 )
相关文章:
Hadoop最新版本hadoop-3.4.1搭建伪分布式集群以及相关报错解决
一:概述 Hadoop 是一个开源的分布式计算框架,广泛应用于大数据处理。伪分布式集群是 Hadoop 的一种部署模式,它可以在单台机器上模拟集群环境,适合初学者进行学习和实验。本文将详细介绍如何在单台机器上搭建 Hadoop 3.4.1 的伪分…...
Android SDK与NDK的区别
Android SDK(Software Development Kit)与NDK(Native Development Kit)在Android应用开发中各自扮演着重要角色,它们之间存在显著的区别。以下是Android SDK与NDK的主要区别: 一、定义与用途 Android SDK…...
【保姆级视频教程(二)】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测!
【2025全站首发】YOLOv12训练数据集构建:标签格式转换-划分-YAML 配置 避坑指南 | 小白也能轻松玩转目标检测! 文章目录 1. 数据集准备1.1 标签格式转换1.2 数据集划分1.3 yaml配置文件创建 2. 训练验证 1. 数据集准备 示例数据集下载链接:P…...
smolagents学习笔记系列(八)Examples - Master you knowledge base with agentic RAG
这篇文章锁定官网教程中 Examples 章节中的 Master you knowledge base with agentic RAG 文章,主要介绍了如何将 agent 和 RAG 结合使用。 官网链接:https://huggingface.co/docs/smolagents/v1.9.2/en/examples/rag; Agentic RAG 在之前的…...
满血版DeepSeek R1使用体验
硅基流动的满血版DeepSeek,通过CheeryStudio可以轻松访问,告别DeepSeek官网服务器繁忙,https://cloud.siliconflow.cn/i/ewlWR6A9 即可注册 https://cloud.siliconflow.cn/i/ewlWR6A9https://cloud.siliconflow.cn/i/ewlWR6A9 一、硅基流动平…...
Java类中的this操作
在Java中,`this` 是一个关键字,用于引用当前对象的实例。它通常在类的方法或构造器中使用,主要有以下几种用途: 1. 区分成员变量和局部变量 当成员变量与局部变量同名时,使用 `this` 可以明确引用当前对象的成员变量。 public class Person { private String name; …...
LeetCode刷题---双指针---532
数组中的 k-diff 数对 532. 数组中的 k-diff 数对 - 力扣(LeetCode) 题目 给你一个整数数组 nums 和一个整数 k,请你在数组中找出 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目。 k-diff 数对定义为一个整数对 (nums[…...
cpp单调栈模板
题目如下 如果利用暴力解法,时间复杂度是O(n^2) 只能过60%的数据 AC解法: 利用单调栈的算法,单调栈里存的是之前遍历过的元素的下标,如果满足while的条件就将栈顶元素记录,然后将其弹出&#x…...
PyCharm 的使用 + PyCharm快捷键 + 切换中文界面
2025 - 02 - 27 - 第 62 篇 Author: 郑龙浩 / 仟濹 【PyCharm的使用】 文章目录 如何使用Pycharm1 新建工程,新建 .py 文件,运行2 常用快捷键3 其他快捷键 - DeepSeek 总结如下**代码编辑****导航与定位****查找与替换****运行与调试****代码重构****其…...
SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系
下面是 SSL/TLS 协议、SSL证书 和 SSH协议 的区别和联系,包含它们的英文全称和中文全称: 属性SSL/TLS 协议SSL证书SSH 协议英文全称Secure Sockets Layer / Transport Layer SecuritySecure Sockets Layer CertificateSecure Shell Protocol中文全称安全…...
一个典型的要求: Python | C#实现年月日创建文件夹 时分秒对应文件名的保存路径
赶时间先说python: 用年月日作为文件夹: 年月日 时分秒 保存文件的路径根据年月日 创建文件夹 年里面包含月 月里面包含日 检查是否存在 没有就去创建 最后文件名用 时分秒毫秒.txt 这是一个典型的要求: import os from datetime import datetimenow datetime.now()# 获取当…...
知识库功能测试难点
图表交互功能测试难点 知识库图表类型多,每种图表交互功能不同。像柱状图,可能有点击柱子查看详细数据、鼠标悬停显示数据提示等交互;折线图除了这些,还可能支持缩放查看不同时间段数据。多种交互操作在不同图表间存在差异&#x…...
如何实现某短视频平台批量作品ID的作品详情采集
声明: 本文仅供学习交流使用,请勿用于非法用途。 在短视频平台的数据分析和内容监测中,批量采集作品详情是一个常见的需求。本文将介绍如何使用 Python 编写一个高效的爬虫程序,根据批量作品 ID 实现作品详情的批量采集。 1. 需求分析 输入:一批作品 ID。输出:每个作品 …...
uniapp中使用leaferui使用Canvas绘制复杂异形表格的实现方法
需求: 如下图,要实现左图的样式,先实现框架,文字到时候 往里填就行了,原来的解决方案是想用css,html来实现,发现实现起来蛮麻烦的。我也没找到合适的实现方法,最后换使用canvas来实现ÿ…...
判别分析:原理推导、方法对比与Matlab实战
内容摘要 本文深入解析判别分析的三大核心方法——距离判别、Fisher判别与Bayes判别,结合协方差估计、投影优化及贝叶斯决策理论,系统阐述数学原理与实现细节。通过气象数据春早预测、产品厂家分类及城市竞争力评估三大实战案例,完整演示数据…...
PMP项目管理—整合管理篇—4.管理项目知识
文章目录 基本信息知识的分类显性知识隐性知识 如何分享知识?4W1HITTO输入工具与技术输出 经验教训登记册 基本信息 知识管理指管理显性知识和隐性知识,旨在重复使用现有知识并生成新知识。有助于达成这两个目的的关键活动是知识分享和知识集成…...
Makefile编写和相关语法规则
makefile基本概念 Makefile 本质上是一个文本文件,它包含了一系列规则和指令,用于告诉构建工具(如 make)如何编译和链接程序,以及如何处理项目中的各种文件。其核心思想是通过定义目标(target)…...
点云 PCL 滤波在自动驾驶的用途。
1.直通滤波 2.体素滤波...
NL2SQL的应用-长上下文模型在处理NL2SQL任务时,相较于传统模型,有哪些显著的优势
大家好,我是微学AI,今天给大家介绍一下NL2SQL的应用-长上下文模型在处理NL2SQL任务时,相较于传统模型,有哪些显著的优势。NL2SQL(自然语言转SQL)技术旨在将用户自然语言提问自动转换为结构化查询语句&#…...
图像处理基础(8):图像的灰度直方图、直方图均衡化、直方图规定化(匹配)
本文主要介绍了灰度直方图相关的处理,包括以下几个方面的内容: • 利用OpenCV计算图像的灰度直方图,并绘制直方图曲线 • 直方图均衡化的原理及实现 • 直方图规定化(匹配)的原理及实现 图像的灰度直方图 一…...
HTML怎么在GeneratePress中精调图片对齐_GP轻量主题CSS覆盖方法
用CSS覆盖GP默认图片对齐需提高选择器权重(如.site-content img.aligncenter),补display: block配合margin: 0 auto;text-align仅对行内级图片有效;alignnone需加height: auto防溢出;移动端须配media断点。…...
玩一玩微软的 bit 模型:BitNet. 一个 CPU 就能跑起来的大模型袄
一、 什么是 AI Skills:从工具级到框架级的演化 AI Skills(AI 技能) 的概念最早在 Claude Code 等前沿 Agent 实践中被强化。最初,Skills 被视为“工具级”的增强,如简单的文件读写或终端操作,方便用户快速…...
【K8s】【笔记】----第七章:Kubernetes Service详解
【K8s】【笔记】----第一章:Kubernetes 介绍 【K8s】【笔记】----第二章:Kubernetes 集群环境搭建 【K8s】【笔记】----第三章:Kubernetes 资源管理 【K8s】【笔记】----第四章:Kubernetes 实战入门 【K8s】【笔记】----第五章&am…...
线性规划实战指南:从基础理论到优化应用
1. 线性规划基础:从菜市场砍价到数学建模 第一次听说线性规划时,我正蹲在菜市场跟大妈讨价还价。大妈说:"西红柿3块一斤,买5斤送半斤",我脑子里瞬间闪过一道光——这不就是典型的线性约束条件吗?…...
茉莉花插件:5步掌握Zotero中文文献管理终极技巧
茉莉花插件:5步掌握Zotero中文文献管理终极技巧 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否曾被中文文献管…...
“支持向量”不等于“真AI原生”:2026奇点大会技术委员会揭幕5层认证标准(含3项未公开专利检测项)
第一章:2026奇点智能技术大会:AI原生数据库选型 2026奇点智能技术大会(https://ml-summit.org) AI原生数据库正从概念验证迈向生产级部署的关键拐点。在2026奇点智能技术大会上,主流厂商与开源社区共同展示了面向大模型训练缓存、推理状态管…...
x64dbg调试器完全指南:5步掌握Windows逆向工程核心技术 [特殊字符]
x64dbg调试器完全指南:5步掌握Windows逆向工程核心技术 🚀 【免费下载链接】x64dbg An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis. 项目地址: https://gitcode.com/gh_mirrors/x6/x64dbg …...
Bypass Paywalls Clean:信息获取工具的技术解析与实践指南
Bypass Paywalls Clean:信息获取工具的技术解析与实践指南 破解信息壁垒:智能识别系统工作原理解析 在学术研究中,当你尝试访问最新的行业报告时,突然弹出的付费提示往往中断研究流程;专业人士在跟踪领域动态时&#x…...
快速解密Wii U NUS文件:CDecrypt工具的终极解决方案
快速解密Wii U NUS文件:CDecrypt工具的终极解决方案 【免费下载链接】cdecrypt Decrypt Wii U NUS content — Forked from: https://code.google.com/archive/p/cdecrypt/ 项目地址: https://gitcode.com/gh_mirrors/cd/cdecrypt 对于Wii U游戏开发者和模组…...
WinISO:解决光盘镜像编辑与制作的三大实际问题
在日常工作中,你是否遇到过这样的场景:下载了一个 ISO 镜像文件,想往里面添加几个补丁或删除一个无用文件,却只能解压后再重新打包;或者你有一个旧版 Windows 安装盘,想替换其中的 install.wim 文件来制作集…...

