单机伪分布Hadoop详细配置
目录
- 1. 引言
- 2. 配置单机Hadoop
- 2.1 下载并解压JDK1.8、Hadoop3.3.6
- 2.2 配置环境变量
- 2.3 验证JDK、Hadoop配置
- 3. 伪分布Hadoop
- 3.1 配置ssh免密码登录
- 3.2 配置伪分布Hadoop
- 3.2.1 修改hadoop-env.sh
- 3.2.2 修改core-site.xml
- 3.2.3 修改hdfs-site.xml
- 3.2.4 修改yarn-site.xml
- 3.2.5 修改mapred-site.xml
- 3.2.6 格式化namenode
- 3.3 测试Hadoop
- 参考
1. 引言
不知道是不是Docker的原因,导致我电脑的系统盘健康度急剧减少。

换了一个SSD,安装Docker后发现健康度又掉了1%,所以接下来只能用华为云开发空间的2CPU4G内存云主机来重新配置Hadoop。
2. 配置单机Hadoop
2.1 下载并解压JDK1.8、Hadoop3.3.6
首先在https://adoptium.net/下载jdk1.8,并使用sudo tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u442b06.tar.gz -C /home/developer解压下载的jdk1.8,接着在/home/developer路径下用mv jdk8u442-b06 jdk-8对jdk文件夹进行重命名。
(华为云开发空间的云主机ubuntu仓库中有jdk8,直接使用sudo apt install openjdk-8-jdk -y。如果默认选择Java工具链,云主机内会自带一个jdk17,用sudo update-alternatives --config java来切换全局默认Java版本。)
使用https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz下载Hadoop-3.3.6。

在/home/developer路径下使用tar -zxvf hadoop-3.3.6.tar.gz -C .解压Hadoop3.3.6。
2.2 配置环境变量
编辑配置文件的命令:sudo vim /etc/profile。
在/etc/profile文件的尾部写入如下内容:
export JAVA_HOME=/home/developer/jdk-8
export HADOOP_HOME=/home/developer/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin
(如果是华为云空间主机的话,在/home/developer/.bashrc文件的尾部写入如下内容:
export JAVA_HOME=/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/home/developer/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
)
按ESC键后输入wq!来保存修改,并用source /etc/profile命令使配置的环境变量生效。
2.3 验证JDK、Hadoop配置
验证JDK:java -version。

验证Hadoop:hadoop version。

3. 伪分布Hadoop
3.1 配置ssh免密码登录
安装ssh和pdsh:sudo apt install ssh pdsh -y。
配置ssh免密码登录:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
测试ssh登录:ssh localhost。
(安装了pdsh后,可能需要在/etc/pdsh中新建rcmd_default文件,再其中输入ssh。)

3.2 配置伪分布Hadoop
在/home/developer/hadoop-3.3.6/etc/hadoop中使用vim命令配置core-site.xml、hdfs-site.xml、yarn-site.xml和mapred-site.xml。
3.2.1 修改hadoop-env.sh
在其中配置jdk1.8的路径。

3.2.2 修改core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
</configuration>
3.2.3 修改hdfs-site.xml
将dfs.datanode.data.dir和dfs.namenode.name.dir的value修改为你想要存放的位置,注意要保留file://,再连接路径。
<configuration><property><name>dfs.datanode.data.dir</name><value>file:///home/developer/data/datanode</value></property><property><name>dfs.namenode.name.dir</name><value>file:///home/developer/data/namenode</value></property><property><name>dfs.namenode.http-address</name><value>localhost:9870</value></property><property><name>dfs.replication</name><value>1</value></property>
</configuration>
3.2.4 修改yarn-site.xml
<configuration><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value></property>
</configuration>
3.2.5 修改mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.application.classpath</name><value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value></property>
</configuration>
3.2.6 格式化namenode
格式化命令:hdfs namenode -format。
启动hdfs和yarn:start-dfs.sh && start-yarn.sh。
使用jps命令验证是否启动:

检验localhost:9870和localhost:8088能否显示。


3.3 测试Hadoop
测试命令:hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 10 10。

参考
https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/SingleCluster.html
相关文章:
单机伪分布Hadoop详细配置
目录 1. 引言2. 配置单机Hadoop2.1 下载并解压JDK1.8、Hadoop3.3.62.2 配置环境变量2.3 验证JDK、Hadoop配置 3. 伪分布Hadoop3.1 配置ssh免密码登录3.2 配置伪分布Hadoop3.2.1 修改hadoop-env.sh3.2.2 修改core-site.xml3.2.3 修改hdfs-site.xml3.2.4 修改yarn-site.xml3.2.5 …...
【高内聚】设计模式是如何让软件更好做到高内聚的?
高内聚(High Cohesion)是指模块内部的元素紧密协作,共同完成一个明确且相对独立的功能。就像高效的小团队,成员们目标一致,相互配合默契。 低耦合(Loose Coupling)是指模块之间的依赖较少&#…...
10.2 目录(文件夹)操作
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 10.2.1 DirectoryInfo类 DirectoryInfo类可以获得目录信息。 DirectoryInfo常用属性: Name:获取Director…...
LiteFlow Spring boot使用方式
文章目录 概述LiteFlow框架的优势规则调用逻辑规则组件定义组件内数据获取通过 DefaultContext自定义上下文 通过 组件规则定义数据通过预先传入数据 liteflow 使用 概述 在每个公司的系统中,总有一些拥有复杂业务逻辑的系统,这些系统承载着核心业务逻…...
OSCP:Windows 服务提权详解
在Windows操作系统中,服务是一种特殊的后台进程,它们通常以较高的权限(如 SYSTEM 或 Administrator)运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升(提权)。本文将详细分析Windows服务提…...
星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)
文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现(1)分析接口请求(2)代码实现 3.功能测试(1)测试对话功能(2)测试记住上下文功能 三、基于JAVA实现HTTP流…...
21.Word:小赵-毕业论文排版❗【39】
目录 题目 NO1.2 NO3.4 NO5.6 NO7.8.9 NO10.11.12 题目 NO1.2 自己的论文当中接收老师的修改:审阅→比较→源文档:考生文件夹:Word.docx→修订的文档:考生文件夹:教师修改→确定→接收→接收所有修订将合并之…...
Python中的函数(上)
Python中的函数是非常重要的编程概念,以下是详细的介绍: 函数定义基础 在Python中,函数是组织好的、可重复使用的代码块,用于执行特定任务。通过函数,我们可以将复杂的程序分解为较小的、更易管理的部分,…...
Windows11 安装poetry
使用powershell安装 (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - 如果使用py运行失败则替换为python即可 终端运行结果如下 D:\AI\A_Share_investment_Agent> (Invoke-WebRequest -Uri https://install.python-poetry.…...
浅谈Linux 权限、压缩、进程与服务
概述 放假回家,对Linux系统的一些知识进行重新的整理,做到温故而知新,对用户权限管理、文件赋权、压缩文件、进程与服务的知识进行了一次梳理和总结。 权限管理 Linux最基础的权限是用户和文件,先了解基础的用户权限和文件权限…...
006 LocalStorage和SessionStorage
JWT存储在LocalStorage与SessionStorage里的区别和共同点如下: 区别 数据有效期: • LocalStorage:始终有效,存储的数据会一直保留在浏览器中,即使窗口或浏览器关闭也一直保存,因此常用作持久数据。 • Se…...
AJAX RSS Reader:技术解析与应用场景
AJAX RSS Reader:技术解析与应用场景 引言 随着互联网的快速发展,信息量呈爆炸式增长。为了方便用户快速获取感兴趣的信息,RSS(Really Simple Syndication)技术应运而生。AJAX RSS Reader作为一种基于AJAX技术的信息读取工具,在用户体验和信息获取方面具有显著优势。本…...
Go优雅实现redis分布式锁
前言 系统为了保证高可用,通常会部署多实例,并且会存在同时对共享资源并发读写,这时候为了保证读写的安全,常规手段是会引入分布式锁,本文将介绍如何使用redis设计一个优雅的Go分布式锁。 设计 redis分布式锁是借助…...
本地部署deepseek模型步骤
文章目录 0.deepseek简介1.安装ollama软件2.配置合适的deepseek模型3.安装chatbox可视化 0.deepseek简介 DeepSeek 是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的 AI 模型,其目标是让 AI 技术更加普惠,让更多人能够用上强…...
(2025 年最新)MacOS Redis Desktop Manager中文版下载,附详细图文
MacOS Redis Desktop Manager中文版下载 大家好,今天给大家带来一款非常实用的 Redis 可视化工具——Redis Desktop Manager(简称 RDM)。相信很多开发者都用过 Redis 数据库,但如果你想要更高效、更方便地管理 Redis 数据&#x…...
C++ 写一个简单的加减法计算器
************* C topic:结构 ************* Structure is a very intersting issue. I really dont like concepts as it is boring. I would like to cases instead. If I want to learn something, donot hesitate to make shits. Like building a house. Wh…...
计算机网络基础 - 链路层(3)
计算机网络基础 链路层和局域网交换局域网链路层寻址地址解析协议 ARP以太网物理拓扑以太网帧结构以太网提供的服务以太网标准 链路层交换机交换机转发和过滤自学习交换机优点交换机和路由器比较 大家好呀!我是小笙,本章我主要分享计算机网络基础 - 链路…...
ray.rllib 入门实践-5: 训练算法
前面的博客介绍了ray.rllib中算法的配置和构建,也包含了算法训练的代码。 但是rllib中实现算法训练的方式不止一种,本博客对此进行介绍。很多教程使用 PPOTrainer 进行训练,但是 PPOTrainer 在最近的 ray 版本中已经取消了。 环境配置&#x…...
FPGA 使用 CLOCK_LOW_FANOUT 约束
使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置,而且全局时钟缓存扇出必须低于 2000 个负载。 注释: 当与其他时钟约束配合…...
选择的阶段性质疑
条条大路通罗马,每个人选择的道路,方向并不一样,但不妨碍都可以到达终点,而往往大家会更推崇自己走过的路径。 自己靠什么走向成功,自己用了什么方法,奉行什么原则或者理念,也会尽可能传播这种&…...
LZ4并行压缩:线程池设计与性能瓶颈突破的终极指南
LZ4并行压缩:线程池设计与性能瓶颈突破的终极指南 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 LZ4作为一款Extremely Fast Compression algorithm,其并行压缩能力是提升处…...
手把手教你移植μGUI到STM32F103:一个文件搞定单片机图形界面
从零构建STM32图形界面:μGUI移植实战指南 在嵌入式开发中,图形用户界面(GUI)的实现往往令人望而生畏。市面上虽然有诸多成熟的GUI解决方案,但对于资源有限的STM32F103系列单片机来说,轻量级的μGUI无疑是一个理想选择。本文将带…...
OpenClaw开源安全平台:模块化架构、插件化设计与企业级自动化安全运营实践
1. 项目概述:从开源安全工具到企业级安全基线的构建最近在梳理内部安全工具链时,又仔细研究了一下AtlasPA/openclaw-security这个项目。这不仅仅是一个简单的漏洞扫描器或者安全脚本集合,它更像是一个试图将安全左移理念、自动化响应和资产安…...
别再傻傻分不清!RV、RVV、RVVP这些电工字母到底啥意思?一张图帮你搞定家庭布线选线
家庭电工实战指南:RV/RVV/RVVP线材选型与避坑手册 刚打开装修材料清单时,那些密密麻麻的字母组合让人瞬间头大——RV、RVV、RVVP、AVVR...这些看似天书的代号,直接决定了你家插座能否承载大功率电器、智能窗帘会不会信号中断,甚至…...
基于ESP32-S3的免焊接RGB矩阵屏驱动方案:从硬件解析到项目实战
1. 项目概述:从零到一的免焊接RGB矩阵显示方案如果你曾经尝试过驱动一块RGB LED矩阵屏,大概率会经历一段“痛并快乐着”的时光。快乐在于,当代码跑通,绚丽的色彩在眼前流动时,那种成就感无与伦比;痛苦则在于…...
在Visual Studio 2022中搭建LVGL 8.3模拟器:从零开始的嵌入式GUI开发环境配置
1. 环境准备:搭建LVGL模拟器的基石 第一次接触嵌入式GUI开发时,我被各种硬件兼容性问题折磨得够呛。直到发现LVGL模拟器这个神器,才真正体会到"先模拟后部署"的开发乐趣。在Visual Studio 2022中配置LVGL 8.3模拟器,就…...
如何利用Google Cloud服务加速OR-Tools大规模优化求解:完整实践指南
如何利用Google Cloud服务加速OR-Tools大规模优化求解:完整实践指南 【免费下载链接】or-tools Googles Operations Research tools: 项目地址: https://gitcode.com/gh_mirrors/or/or-tools OR-Tools是Google开发的强大运筹学工具库,能够高效解决…...
STM32F103C8T6驱动MAX30102:从I2C配置到心率可视化,一个LED灯带你看懂心跳
STM32F103C8T6驱动MAX30102:从I2C配置到心跳可视化实战指南 当LED灯随着你的心跳闪烁时,冰冷的电子元件仿佛被赋予了生命。本文将带你深入探索如何用STM32F103C8T6驱动MAX30102血氧传感器,将生物信号转化为直观的视觉反馈。不同于简单的数据采…...
Buildah:从Dockerfile到OCI镜像的构建原理与生产实践
1. 项目概述:从 Dockerfile 到 OCI 镜像的“幕后推手”如果你用过 Docker,那你一定对docker build命令和Dockerfile不陌生。输入一行命令,等待片刻,一个包含了应用及其所有依赖的、可移植的容器镜像就生成了。这感觉就像魔法&…...
避开这些坑!RT-Thread+lwip网卡驱动开发中的5个常见误区与实战解法
RT-Thread与lwIP网卡驱动开发中的五大性能陷阱与实战突围 在嵌入式网络开发领域,RT-Thread与lwIP的组合已经成为许多开发者的首选方案。然而,这套看似成熟的网络协议栈背后,却隐藏着诸多性能陷阱。本文将揭示五个最常见的开发误区,…...
