Hadoop 3.3.5 伪分布式部署实战:Ubuntu 22.04 单机 5 步快速启动 HDFS/YARN Hadoop 3.3.5 伪分布式部署实战Ubuntu 22.04 单机 5 步快速启动 HDFS/YARN在当今数据驱动的时代掌握大数据处理技术已成为开发者和数据分析师的必备技能。Apache Hadoop作为最流行的大数据处理框架之一其伪分布式模式为学习者提供了在单机上体验完整Hadoop功能的绝佳机会。本文将手把手指导您在Ubuntu 22.04系统上快速搭建Hadoop 3.3.5伪分布式环境涵盖从系统准备到服务验证的全流程。1. 环境准备与基础配置在开始Hadoop部署前我们需要确保系统环境满足基本要求。Ubuntu 22.04 LTS作为稳定的Linux发行版是运行Hadoop的理想选择。以下是详细的准备工作系统要求Ubuntu 22.04 LTS64位至少4GB内存推荐8GB50GB可用磁盘空间Java 8或11OpenJDK或Oracle JDK首先更新系统并安装必要工具sudo apt update sudo apt upgrade -y sudo apt install -y ssh pdsh vim net-tools创建专用用户可选但推荐sudo adduser hadoop sudo usermod -aG sudo hadoop su - 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 localhost # 测试免密登录Java环境安装sudo apt install -y openjdk-11-jdk echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 ~/.bashrc source ~/.bashrc验证Java安装java -version # 应输出类似openjdk version 11.0.22 2024-01-162. Hadoop安装与核心配置Hadoop 3.3.5作为当前稳定版本提供了更好的性能和资源管理。我们将从官方镜像下载并配置下载并解压Hadoopwget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz tar -xzvf hadoop-3.3.5.tar.gz -C /opt/ sudo chown -R hadoop:hadoop /opt/hadoop-3.3.5 ln -s /opt/hadoop-3.3.5 /opt/hadoop环境变量配置 将以下内容添加到~/.bashrc文件末尾export HADOOP_HOME/opt/hadoop export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR$HADOOP_HOME/logs使配置生效source ~/.bashrc核心配置文件修改$HADOOP_HOME/etc/hadoop/hadoop-env.shecho export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 $HADOOP_HOME/etc/hadoop/hadoop-env.shcore-site.xml覆盖原有内容configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/opt/hadoop/data/tmp/value /property /configurationhdfs-site.xmlconfiguration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name valuefile:///opt/hadoop/data/namenode/value /property property namedfs.datanode.data.dir/name valuefile:///opt/hadoop/data/datanode/value /property /configurationmapred-site.xmlconfiguration property namemapreduce.framework.name/name valueyarn/value /property /configurationyarn-site.xmlconfiguration 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 /configuration3. HDFS初始化与启动完成配置后我们需要初始化HDFS并启动相关服务格式化NameNode首次安装必须执行hdfs namenode -format成功格式化后您应该能看到Storage directory /opt/hadoop/data/namenode has been successfully formatted的提示。启动HDFS服务start-dfs.sh验证进程是否正常启动jps正常输出应包含NameNode DataNode SecondaryNameNode JpsWeb UI访问NameNode状态http://localhost:9870DataNode状态http://localhost:9864创建HDFS用户目录hdfs dfs -mkdir -p /user/hadoop hdfs dfs -chown hadoop:hadoop /user/hadoop4. YARN资源管理配置与启动YARN作为Hadoop的资源调度系统需要单独配置和启动启动YARN服务start-yarn.sh验证YARN进程jps新增进程应包含ResourceManager NodeManagerWeb UI访问ResourceManagerhttp://localhost:8088配置历史服务器可选 修改mapred-site.xml添加property namemapreduce.jobhistory.address/name valuelocalhost:10020/value /property property namemapreduce.jobhistory.webapp.address/name valuelocalhost:19888/value /property启动历史服务器mapred --daemon start historyserver5. 服务验证与测试完成所有服务启动后我们需要通过实际任务验证集群功能HDFS基础操作测试# 创建测试目录 hdfs dfs -mkdir /test_input # 上传本地文件到HDFS echo Hello Hadoop test.txt hdfs dfs -put test.txt /test_input/ # 查看文件内容 hdfs dfs -cat /test_input/test.txt运行MapReduce示例# 执行WordCount示例 hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar \ wordcount /test_input /test_output # 查看结果 hdfs dfs -cat /test_output/*资源监控通过YARN Web UIhttp://localhost:8088查看任务执行情况使用命令行监控yarn application -list服务停止顺序mapred --daemon stop historyserver stop-yarn.sh stop-dfs.sh常见问题排查指南在部署过程中可能会遇到各种问题以下是典型问题的解决方案1. NameNode无法启动检查/opt/hadoop/logs/hadoop-hadoop-namenode-*.log中的错误信息确保dfs.namenode.name.dir目录有写权限检查端口9000是否被占用netstat -tulnp | grep 90002. DataNode无法连接NameNode确认core-site.xml中的fs.defaultFS配置正确检查防火墙设置sudo ufw status验证主机名解析确保/etc/hosts包含127.0.1.1 localhost3. YARN任务提交失败检查ResourceManager日志tail -f /opt/hadoop/logs/yarn-hadoop-resourcemanager-*.log验证NodeManager状态yarn node -list确保yarn-site.xml中的yarn.nodemanager.aux-services配置正确4. Web UI无法访问检查服务是否正常运行jps验证防火墙设置sudo ufw allow 9870/tcpNameNode端口查看绑定IP地址netstat -tulnp | grep java性能优化建议即使是伪分布式环境适当的优化也能提升使用体验内存配置调整 修改$HADOOP_HOME/etc/hadoop/hadoop-env.shexport HADOOP_HEAPSIZE_MAX1024m # 根据机器内存调整YARN资源分配 修改$HADOOP_HOME/etc/hadoop/yarn-site.xmlproperty nameyarn.nodemanager.resource.memory-mb/name value2048/value # 不超过物理内存的80% /property property nameyarn.scheduler.minimum-allocation-mb/name value512/value /propertyHDFS块大小调整可选 修改hdfs-site.xmlproperty namedfs.blocksize/name value64m/value # 默认128MB测试环境可减小 /property日志管理修改log4j.properties调整日志级别定期清理旧日志find $HADOOP_HOME/logs -type f -mtime 30 -delete自动化部署脚本为简化重复部署过程可以创建以下自动化脚本初始化脚本(init-hadoop.sh)#!/bin/bash # 系统更新与基础安装 sudo apt update sudo apt upgrade -y sudo apt install -y ssh pdsh vim openjdk-11-jdk # 创建Hadoop用户 sudo adduser hadoop sudo usermod -aG sudo hadoop # SSH配置 su - hadoop -c ssh-keygen -t rsa -P -f ~/.ssh/id_rsa su - hadoop -c cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys su - hadoop -c chmod 600 ~/.ssh/authorized_keys # 下载Hadoop wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz -P /tmp sudo tar -xzvf /tmp/hadoop-3.3.5.tar.gz -C /opt/ sudo chown -R hadoop:hadoop /opt/hadoop-3.3.5 sudo ln -s /opt/hadoop-3.3.5 /opt/hadoop # 环境变量配置 echo -e \n# Hadoop Environment /home/hadoop/.bashrc echo export HADOOP_HOME/opt/hadoop /home/hadoop/.bashrc echo export PATH\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin /home/hadoop/.bashrc echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 /home/hadoop/.bashrc echo Hadoop初始化完成请手动配置核心XML文件后执行格式化服务管理脚本(hadoop-ctl.sh)#!/bin/bash case $1 in start) start-dfs.sh start-yarn.sh mapred --daemon start historyserver ;; stop) mapred --daemon stop historyserver stop-yarn.sh stop-dfs.sh ;; restart) $0 stop sleep 3 $0 start ;; status) jps ;; *) echo Usage: $0 {start|stop|restart|status} exit 1 ;; esac进阶配置与扩展掌握基础部署后可以进一步探索以下高级功能1. HDFS快照管理hdfs dfsadmin -allowSnapshot /user # 启用目录快照 hdfs dfs -createSnapshot /user backup_2024 # 创建快照2. YARN调度器配置 修改yarn-site.xml启用公平调度器property nameyarn.resourcemanager.scheduler.class/name valueorg.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler/value /property3. 开启HDFS回收站 修改core-site.xmlproperty namefs.trash.interval/name value1440/value # 保留时间(分钟) /property4. 集成Spark/Flink下载对应版本并设置HADOOP_CONF_DIR环境变量使用YARN作为资源管理器提交任务通过以上步骤您已经在Ubuntu 22.04上成功搭建了Hadoop 3.3.5伪分布式环境。这种配置虽然不能用于生产环境但完全满足学习、开发和测试需求让您能够在不具备多台物理机的情况下体验完整的Hadoop生态系统功能。

相关新闻

最新新闻

Unity游戏逆向利器:IL2CppDumper核心原理与实战应用

Unity游戏逆向利器:IL2CppDumper核心原理与实战应用

1. 项目概述:为什么我们需要IL2CppDumper? 如果你接触过Unity游戏的逆向分析,尤其是那些发布在移动端或PC平台的商业游戏,那么“il2cpp”这个词对你来说一定不陌生。它就像一个黑盒,把开发者用C#写的清晰逻辑&#xff…

2026/7/11 10:26:11
告别网盘限速烦恼:九大平台直链解析工具LinkSwift深度体验

告别网盘限速烦恼:九大平台直链解析工具LinkSwift深度体验

告别网盘限速烦恼:九大平台直链解析工具LinkSwift深度体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / …

2026/7/11 10:26:11
Midjourney批量生成避坑手册(含官方未公开的rate limit动态阈值表及应急降频策略)

Midjourney批量生成避坑手册(含官方未公开的rate limit动态阈值表及应急降频策略)

更多请点击: https://codechina.net 第一章:Midjourney批量生成避坑手册(含官方未公开的rate limit动态阈值表及应急降频策略) Rate Limit 的真实动态阈值 Midjourney 的速率限制并非固定值,而是基于账户活跃度、服…

2026/7/11 10:26:11
抖音评论采集终极指南:3步快速批量导出TikTok评论到Excel

抖音评论采集终极指南:3步快速批量导出TikTok评论到Excel

抖音评论采集终极指南:3步快速批量导出TikTok评论到Excel 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 抖音评论采集工具(TikTokCommentScraper)是一款专为内容创作者、…

2026/7/11 10:26:11
上交所/深交所证券代码规则解析:6位数字编码的3层结构与1000/9000期权合约

上交所/深交所证券代码规则解析:6位数字编码的3层结构与1000/9000期权合约

沪深交易所证券编码体系全解析:从数据结构到程序化处理实践在金融科技和量化交易领域,准确理解证券编码规则是构建高效数据处理系统的基础。沪深两所的证券代码看似简单的数字串,实则蕴含着精心设计的分类逻辑和业务语义。对于开发者而言&…

2026/7/11 10:26:11
【YOLOv3】基于darknet的训练过程(简洁版)

【YOLOv3】基于darknet的训练过程(简洁版)

文章目录准备工作训练自己的数据集开始训练训练日志可视化准备工作 参考链接:https://pjreddie.com/darknet/yolo/ 下载darknet修改Makefile下载yolov3.weights下载darknet53.conv.74(后面训练数据集会用到,先下载好了,留着备用&a…

2026/7/11 10:21:11

月新闻