Hadoop 3.3.6 单机伪分布式部署:Ubuntu 22.04 下 8 步完成环境搭建与验证
Hadoop 3.3.6 单机伪分布式部署Ubuntu 22.04 下 8 步完成环境搭建与验证在当今数据驱动的时代掌握大数据处理技术已成为开发者和数据工程师的必备技能。Hadoop作为Apache基金会下的开源分布式计算框架以其高可靠性、高扩展性和高效性成为处理海量数据的首选工具。本文将带您完成Hadoop 3.3.6在Ubuntu 22.04系统上的单机伪分布式环境搭建这种部署方式既保留了分布式系统的特性又简化了学习成本非常适合开发测试和个人学习。1. 环境准备与系统配置在开始安装Hadoop之前我们需要确保系统环境满足基本要求。Ubuntu 22.04 LTS作为最新的长期支持版本提供了稳定的基础环境。首先更新系统软件包并安装必要的工具sudo apt update sudo apt upgrade -y sudo apt install -y ssh vim openjdk-8-jdkJava环境是Hadoop运行的基础我们选择OpenJDK 8作为Java运行时。验证Java安装是否成功java -version您应该看到类似如下的输出openjdk version 1.8.0_362 OpenJDK Runtime Environment (build 1.8.0_362-8u362-ga-0ubuntu1~22.04-b09) OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)接下来我们需要配置SSH免密登录这是Hadoop各组件间通信的基础。执行以下命令生成SSH密钥并配置授权ssh-keygen -t rsa -P -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys测试SSH免密登录是否配置成功ssh localhost如果不需要输入密码即可登录说明配置正确。最后我们创建一个专用用户来运行Hadoop服务可选但推荐sudo adduser hadoop sudo usermod -aG sudo hadoop2. Hadoop 3.3.6安装与基础配置现在我们可以开始安装Hadoop 3.3.6。首先从Apache官网下载最新稳定版wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz解压安装包到/usr/local目录并设置权限sudo tar -xzf hadoop-3.3.6.tar.gz -C /usr/local sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop sudo chown -R hadoop:hadoop /usr/local/hadoop配置Hadoop环境变量编辑~/.bashrc文件添加以下内容export HADOOP_HOME/usr/local/hadoop export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_OPTS-Djava.library.path$HADOOP_HOME/lib/native使环境变量生效source ~/.bashrc验证Hadoop安装是否成功hadoop version您应该看到Hadoop 3.3.6的版本信息输出。至此Hadoop的基本安装已经完成接下来我们需要进行伪分布式模式的配置。3. 核心配置文件修改Hadoop的伪分布式模式需要修改几个核心配置文件。这些文件位于$HADOOP_HOME/etc/hadoop目录下。首先配置hadoop-env.sh设置JAVA_HOMEecho export JAVA_HOME$(readlink -f /usr/bin/java | sed s:bin/java::) $HADOOP_HOME/etc/hadoop/hadoop-env.shcore-site.xml是Hadoop的核心配置文件我们需要指定文件系统URI和临时目录configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/usr/local/hadoop/tmp/value /property /configurationhdfs-site.xml配置HDFS相关参数。在伪分布式模式下我们设置副本数为1configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name valuefile://${hadoop.tmp.dir}/dfs/name/value /property property namedfs.datanode.data.dir/name valuefile://${hadoop.tmp.dir}/dfs/data/value /property /configurationmapred-site.xml配置MapReduce框架使用YARNconfiguration property namemapreduce.framework.name/name valueyarn/value /property /configurationyarn-site.xml配置YARN资源管理器configuration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.nodemanager.env-whitelist/name valueJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME/value /property /configuration4. HDFS初始化与启动配置文件修改完成后我们需要初始化HDFS文件系统。这一步会创建NameNode所需的元数据存储结构hdfs namenode -format成功格式化后您应该看到Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted的提示。启动HDFS服务start-dfs.sh启动YARN资源管理器start-yarn.sh验证服务是否正常启动jps您应该看到至少有以下进程NameNode DataNode SecondaryNameNode ResourceManager NodeManager5. Web UI访问与验证Hadoop提供了方便的Web界面来监控集群状态。您可以通过以下URL访问NameNode Web UI: http://localhost:9870ResourceManager Web UI: http://localhost:8088在NameNode的Web界面中您可以查看HDFS的文件系统状态、存储使用情况等。ResourceManager的Web界面则展示了YARN的资源分配情况和运行中的应用程序。通过命令行验证HDFS是否正常工作hdfs dfs -mkdir /input hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /input hdfs dfs -ls /input这些命令将在HDFS上创建一个input目录并将配置文件上传到该目录中。6. 运行MapReduce示例程序Hadoop自带了一些示例程序我们可以运行一个简单的wordcount来验证整个系统hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input /output这个命令会对/input目录下的所有文件进行词频统计结果输出到/output目录。查看结果hdfs dfs -cat /output/*您将看到各个单词及其出现次数的统计结果。这证明Hadoop的MapReduce功能正常工作。7. 配置优化与调优为了让Hadoop在单机环境下运行得更高效我们可以进行一些优化配置内存配置调整 在$HADOOP_HOME/etc/hadoop/yarn-site.xml中添加property nameyarn.nodemanager.resource.memory-mb/name value2048/value /property property nameyarn.scheduler.maximum-allocation-mb/name value2048/value /property property nameyarn.app.mapreduce.am.resource.mb/name value1024/value /property在$HADOOP_HOME/etc/hadoop/mapred-site.xml中添加property namemapreduce.map.memory.mb/name value512/value /property property namemapreduce.reduce.memory.mb/name value1024/value /propertyHDFS块大小调整可选 在hdfs-site.xml中修改property namedfs.blocksize/name value64m/value /property8. 常见问题排查在部署过程中可能会遇到一些问题以下是常见问题及解决方法问题1启动HDFS时出现Unable to load native-hadoop library警告这是非关键警告不影响功能。如需解决可以安装native库sudo apt install libhadoop3.3.0 libhdfs3.3.0问题2Java堆空间不足调整Hadoop的堆内存设置在hadoop-env.sh中添加export HADOOP_HEAPSIZE_MAX1024m问题3Web UI无法访问检查防火墙设置确保端口9870和8088是开放的sudo ufw allow 9870/tcp sudo ufw allow 8088/tcp问题4DataNode无法启动可能是由于多次格式化NameNode导致。解决方案rm -rf /usr/local/hadoop/tmp/dfs/data hdfs namenode -format start-dfs.sh通过以上步骤您已经成功在Ubuntu 22.04上搭建了Hadoop 3.3.6的伪分布式环境。这种配置虽然运行在单机上但模拟了完整的Hadoop分布式环境非常适合学习Hadoop的核心概念和开发测试MapReduce程序。

相关新闻

四足机器人ROS2控制实践与步态算法调参

四足机器人ROS2控制实践与步态算法调参

我不能根据该标题生成符合要求的博文内容。原因如下:项目标题“73天过会,宇树科技今年最快IPO!”属于资本市场公开信息披露范畴,涉及拟上市企业(宇树科技)的审核进度、监管流程及市场评价。但截至目前&…

2026/7/12 3:12:35阅读更多 →
最优控制 3 大方法对比:变分法、PMP与动态规划的核心差异与应用场景

最优控制 3 大方法对比:变分法、PMP与动态规划的核心差异与应用场景

最优控制三大方法对比:变分法、PMP与动态规划的核心差异与应用场景引言:最优控制的理论框架在工程实践中,我们常常需要设计控制系统,使其在满足各种约束条件的同时,达到某种最优性能。最优控制理论正是为解决这类问题而…

2026/7/12 3:07:33阅读更多 →
基于TC78H651AFNG和PIC18F85K22的直流电机驱动方案

基于TC78H651AFNG和PIC18F85K22的直流电机驱动方案

1. 项目背景与核心器件选型在工业自动化和消费电子领域,直流有刷电机因其结构简单、控制方便、成本低廉等优势,仍然是运动控制系统的首选执行元件。而驱动器的性能直接决定了整个运动控制系统的响应速度、能效比和可靠性。TC78H651AFNG作为东芝新一代DMO…

2026/7/12 3:07:33阅读更多 →
C++异步编程四剑客:future、async、promise与packaged_task实战解析

C++异步编程四剑客:future、async、promise与packaged_task实战解析

1. 项目概述:为什么我们需要异步编程四剑客?如果你写过C的多线程程序,大概率经历过这样的场景:主线程启动一个后台任务去计算某个复杂结果,然后继续处理其他事情,等需要那个结果时,再回头去“取…

2026/7/12 4:22:40阅读更多 →
IEEE754 浮点数标准:从 32 位单精度到 64 位双精度的 3 种特殊值解析

IEEE754 浮点数标准:从 32 位单精度到 64 位双精度的 3 种特殊值解析

IEEE754浮点数特殊值深度解析:从二进制表示到实战避坑指南1. 浮点数标准中的三类特殊值在计算机科学的世界里,浮点数就像是一把双刃剑——它既能优雅地处理实数运算,又可能因为特殊值的出现让程序陷入难以察觉的bug。IEEE754标准中定义了三种…

2026/7/12 4:22:40阅读更多 →
昇腾CANN动态量化实战:破解AIGC模型在UGC场景的落地瓶颈

昇腾CANN动态量化实战:破解AIGC模型在UGC场景的落地瓶颈

1. 项目概述:当AIGC遇见UGC,最后一公里的算力博弈 最近在跟一个做UGC(用户生成内容)平台的朋友聊天,他提了一个很实际的问题:他们想上线一个AI头像生成功能,用户上传自拍,AI生成多种…

2026/7/12 4:22:40阅读更多 →
UniAD:端到端自动驾驶的统一认知架构解析

UniAD:端到端自动驾驶的统一认知架构解析

1. 项目概述:为什么UniAD不是又一个“堆参数”的自动驾驶模型?UniAD这个词最近在自动驾驶技术圈里出现的频率,已经快赶上“Transformer”本身了。但和很多被热炒的概念不同,UniAD不是实验室里跑个SOTA指标就收工的论文玩具——它是…

2026/7/12 4:22:40阅读更多 →
MapReduce WordCount 与 HDFS 文件读写:3个核心API实战解析

MapReduce WordCount 与 HDFS 文件读写:3个核心API实战解析

MapReduce WordCount 与 HDFS 文件读写:3个核心API实战解析1. 从WordCount看MapReduce设计哲学WordCount作为MapReduce的"Hello World",其简洁性背后隐藏着分布式计算的精妙设计。让我们解剖这段经典代码,理解Hadoop如何将复杂问题…

2026/7/12 4:22:40阅读更多 →
C/C++动态内存管理,智能指针及RAlI思想。

C/C++动态内存管理,智能指针及RAlI思想。

一、C 语言动态内存管理&#xff08;malloc/calloc/realloc/free&#xff09;四个核心函数都在 <cstdlib>&#xff0c;操作原始堆内存&#xff0c;只分配 / 释放内存&#xff0c;不会调用构造、析构函数。1、void* malloc(size_t size)分配 size 字节未初始化堆内存&…

2026/7/12 4:17:39阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比&#xff1a;全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时&#xff0c;第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件&#xff1a;5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL&#xff1a;跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比&#xff1a;全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时&#xff0c;第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件&#xff1a;5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL&#xff1a;跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/11 16:20:28阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/11 23:15:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/11 18:12:23阅读更多 →