当前位置: 首页 > article >正文

Windows 11 WSL Ubuntu 环境:安装 Hadoop 完整指南

本文详细介绍了在WSL Ubuntu环境下安装Hadoop的完整流程。主要内容包括1) 环境准备安装WSL、Ubuntu及必要工具2) 配置SSH免密登录3) 下载安装Hadoop 3.3.6并配置环境变量4) 详细说明Hadoop核心配置文件的修改方法5) 提供启动/停止脚本及常见问题解决方案。指南采用国内镜像加速下载包含一键安装脚本适合Windows 11用户快速搭建Hadoop开发环境最低要求4GB内存和2GB硬盘空间。Hadoop 在 WSL Ubuntu 上的完整安装指南一、环境准备1.1 安装 WSL 和 Ubuntu以管理员身份打开 PowerShell 或 CMD执行powershell# 安装 WSL wsl --install # 重启电脑后打开 Microsoft Store 安装 Ubuntu 22.04 或 24.041.2 更新系统并安装必要软件打开 WSL 终端Ubuntu执行bash# 更新软件包 sudo apt update sudo apt upgrade -y # 安装必要工具 sudo apt install -y openjdk-11-jdk openssh-server wget curl nano net-tools # 验证 Java 安装 java -version # 应该显示 openjdk version 11.0.xx二、配置 SSH 免密登录bash# 1. 启动 SSH 服务 sudo service ssh start # 2. 生成 SSH 密钥 ssh-keygen -t rsa -P -f ~/.ssh/id_rsa # 3. 配置免密登录 cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh # 4. 添加 localhost 到已知主机 ssh-keyscan localhost ~/.ssh/known_hosts 2/dev/null # 5. 测试免密登录应该不需要密码 ssh localhost exit三、下载并安装 Hadoop3.1 下载 Hadoop使用国内镜像bash# 创建下载目录 cd ~ mkdir -p downloads cd downloads # 使用清华镜像下载 Hadoop 3.3.6 wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz # 验证下载文件大小约 696MB ls -lh hadoop-3.3.6.tar.gz3.2 解压安装bash# 解压到 /usr/local sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/ # 重命名目录 sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop # 修改权限将 mumu 替换为你的用户名 sudo chown -R $(whoami):$(whoami) /usr/local/hadoop四、配置环境变量bash# 编辑 .bashrc nano ~/.bashrc在文件末尾添加bash# Java 环境 export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 # Hadoop 环境 export HADOOP_HOME/usr/local/hadoop export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin保存退出CtrlOEnterCtrlXbash# 使配置生效 source ~/.bashrc # 验证 hadoop version五、配置 Hadoop 核心文件进入配置目录bashcd $HADOOP_HOME/etc/hadoop5.1 配置 hadoop-env.shbash# 添加 JAVA_HOME 配置 echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 hadoop-env.sh5.2 配置 core-site.xmlbashcat core-site.xml EOF ?xml version1.0 encodingUTF-8? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/home/$(whoami)/hadoop_tmp/value /property /configuration EOF5.3 配置 hdfs-site.xmlbashcat hdfs-site.xml EOF ?xml version1.0 encodingUTF-8? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name value/home/$(whoami)/hadoop_tmp/dfs/name/value /property property namedfs.datanode.data.dir/name value/home/$(whoami)/hadoop_tmp/dfs/data/value /property /configuration EOF5.4 配置 yarn-site.xmlbashcat yarn-site.xml EOF ?xml version1.0? 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 /configuration EOF5.5 配置 mapred-site.xmlbashcat mapred-site.xml EOF ?xml version1.0? ?xml-stylesheet typetext/xsl hrefconfiguration.xsl? configuration property namemapreduce.framework.name/name valueyarn/value /property /configuration EOF5.6 配置 yarn-env.shbashecho export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 yarn-env.sh六、创建数据目录并格式化bash# 创建数据目录 mkdir -p ~/hadoop_tmp/dfs/name mkdir -p ~/hadoop_tmp/dfs/data # 格式化 NameNode输入 Y 确认 hdfs namenode -format七、启动 Hadoopbash# 启动所有服务 start-all.sh # 等待 30 秒 sleep 30 # 验证进程应该看到 5 个核心进程 jps预期输出textNameNode DataNode SecondaryNameNode ResourceManager NodeManager Jps八、创建启动/停止脚本可选但推荐8.1 创建启动脚本bashmkdir -p ~/bin cat ~/bin/start-hadoop.sh EOF #!/bin/bash echo echo Starting Hadoop Cluster echo # 启动 SSH 服务 echo 1. Starting SSH service... sudo service ssh start # 启动 Hadoop echo 2. Starting Hadoop... start-all.sh # 等待服务启动 echo 3. Waiting 30 seconds for services... sleep 30 # 显示进程 echo 4. Checking Hadoop processes... jps echo echo echo ✅ Hadoop is ready! echo - HDFS UI: http://localhost:9870 echo - YARN UI: http://localhost:8088 echo EOF8.2 创建停止脚本bashcat ~/bin/stop-hadoop.sh EOF #!/bin/bash echo echo Stopping Hadoop Cluster echo stop-all.sh echo echo ✅ Hadoop stopped EOF8.3 设置权限和 PATHbashchmod x ~/bin/start-hadoop.sh ~/bin/stop-hadoop.sh echo export PATH$HOME/bin:$PATH ~/.bashrc source ~/.bashrc九、验证安装9.1 测试 HDFS 命令bash# 创建目录 hdfs dfs -mkdir -p /user/$(whoami)/test # 上传文件 echo Hello Hadoop test.txt hdfs dfs -put test.txt /user/$(whoami)/test/ # 查看文件 hdfs dfs -ls /user/$(whoami)/test/ hdfs dfs -cat /user/$(whoami)/test/test.txt9.2 访问 Web 界面在 Windows 浏览器中打开HDFS:http://localhost:9870/explorer.htmlYARN:http://localhost:8088十、日常使用启动 Hadoopbash# 方法一使用脚本 start-hadoop.sh # 方法二手动启动 sudo service ssh start start-all.sh停止 Hadoopbashstop-hadoop.sh常用命令速查操作命令查看进程jps列出 HDFS 文件hdfs dfs -ls /创建目录hdfs dfs -mkdir -p /path上传文件hdfs dfs -put local.txt /hdfs/path/下载文件hdfs dfs -get /hdfs/path/file.txt ./查看文件内容hdfs dfs -cat /hdfs/path/file.txt删除文件hdfs dfs -rm /hdfs/path/file.txt十一、常见问题解决问题 1Java 版本错误bash# 检查 Java 版本必须是 11 java -version # 如果不是 11切换版本 sudo update-alternatives --config java # 选择 Java 11问题 2SSH 连接失败bashsudo service ssh start ssh localhost exit问题 3NameNode 无法启动bash# 停止所有服务 stop-all.sh # 删除临时文件 rm -rf ~/hadoop_tmp/dfs/name/* ~/hadoop_tmp/dfs/data/* # 重新格式化 hdfs namenode -format # 重新启动 start-all.sh问题 4端口被占用bash# 检查端口 netstat -tlnp | grep 9870 netstat -tlnp | grep 8088 # 更换端口或关闭占用进程十二、系统要求项目最低要求推荐配置操作系统Windows 11启用 WSL2Windows 11 Pro内存4GB8GB硬盘空间2GBHadoop 1GB数据10GBWSL 版本WSL2WSL2Ubuntu 版本20.0422.04 或 24.04Java 版本Java 11Java 11快速复现命令汇总复制以下代码块在 WSL 终端中一次性执行注意替换用户名bash# 一键安装脚本 # 注意执行前请确保已安装 WSL 和 Ubuntu # 1. 安装基础软件 sudo apt update sudo apt install -y openjdk-11-jdk openssh-server wget curl nano # 2. 配置 SSH sudo service ssh start ssh-keygen -t rsa -P -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # 3. 下载并安装 Hadoop cd ~ wget -P ~/downloads/ https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz sudo tar -xzvf ~/downloads/hadoop-3.3.6.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop sudo chown -R $(whoami):$(whoami) /usr/local/hadoop # 4. 配置环境变量追加到 .bashrc echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 ~/.bashrc echo export HADOOP_HOME/usr/local/hadoop ~/.bashrc echo export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop ~/.bashrc echo export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ~/.bashrc source ~/.bashrc # 5. 配置 Hadoop 文件在配置目录中执行 cd $HADOOP_HOME/etc/hadoop echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 hadoop-env.sh echo export JAVA_HOME/usr/lib/jvm/java-11-openjdk-amd64 yarn-env.sh # 写入配置文件继续在配置目录执行注意替换用户名 cat core-site.xml EOF ?xml version1.0 encodingUTF-8? configuration property namefs.defaultFS/name valuehdfs://localhost:9000/value /property property namehadoop.tmp.dir/name value/home/$(whoami)/hadoop_tmp/value /property /configuration EOF cat hdfs-site.xml EOF ?xml version1.0 encodingUTF-8? configuration property namedfs.replication/name value1/value /property property namedfs.namenode.name.dir/name value/home/$(whoami)/hadoop_tmp/dfs/name/value /property property namedfs.datanode.data.dir/name value/home/$(whoami)/hadoop_tmp/dfs/data/value /property /configuration EOF cat yarn-site.xml EOF ?xml version1.0? 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 /configuration EOF cat mapred-site.xml EOF ?xml version1.0? configuration property namemapreduce.framework.name/name valueyarn/value /property /configuration EOF # 6. 创建数据目录并格式化 mkdir -p ~/hadoop_tmp/dfs/name ~/hadoop_tmp/dfs/data hdfs namenode -format # 7. 启动 Hadoop start-all.sh sleep 30 jps恭喜按照以上步骤你可以在任何 Windows 11 电脑上成功安装 Hadoop

相关文章:

Windows 11 WSL Ubuntu 环境:安装 Hadoop 完整指南

本文详细介绍了在WSL Ubuntu环境下安装Hadoop的完整流程。主要内容包括:1) 环境准备(安装WSL、Ubuntu及必要工具);2) 配置SSH免密登录;3) 下载安装Hadoop 3.3.6并配置环境变量;4) 详细说明Hadoop核心配置文…...

LinuxVLAN接口异常定位实战

LinuxVLAN接口异常定位实战这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在VLAN接口,重点讨论链路隔离、子接口和二层网络划分。在真实生产环境中,VLAN接口相关问题往往不会以单一错误形式出现,而是混杂在日志、权限、资源状…...

LongWriter应用案例大全:从旅游指南到爱情故事的10,000+字生成示例

LongWriter应用案例大全:从旅游指南到爱情故事的10,000字生成示例 【免费下载链接】LongWriter [ICLR 2025] LongWriter: Unleashing 10,000 Word Generation from Long Context LLMs 项目地址: https://gitcode.com/gh_mirrors/lo/LongWriter LongWriter是一…...

LinuxUDP丢包自动化巡检实践

LinuxUDP丢包自动化巡检实践这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在UDP丢包,重点讨论无连接流量、内核缓冲和应用接收能力。在真实生产环境中,UDP丢包相关问题往往不会以单一错误形式出现,而是混杂在日志、权限、资源…...

serverless-http 与主流框架兼容性测试:Express、Koa、Hapi、Fastify 全面对比

serverless-http 与主流框架兼容性测试:Express、Koa、Hapi、Fastify 全面对比 【免费下载链接】serverless-http Use your existing middleware framework (e.g. Express, Koa) in AWS Lambda 🎉 项目地址: https://gitcode.com/gh_mirrors/se/server…...

影像技术实战12:图片清晰度评估不准?Laplacian、Tenengrad、噪声干扰与模糊图片批量筛选方案

影像技术实战12:图片清晰度评估不准?Laplacian、Tenengrad、噪声干扰与模糊图片批量筛选方案 一、问题场景:数据集里混入模糊图,模型效果怎么调都上不去 在图像识别、OCR、人脸识别、商品图审核、视频抽帧数据清洗中,经…...

影像技术实战11:视频封面生成黑屏、模糊、重复?FFmpeg + OpenCV 构建高质量缩略图自动优选方案

影像技术实战11:视频封面生成黑屏、模糊、重复?FFmpeg OpenCV 构建高质量缩略图自动优选方案 一、问题场景:封面不是“随便截一帧” 在视频平台、素材管理系统、内容审核后台、AI 剪辑工具里,视频上传后自动生成封面是一个很常见…...

HT4182:5V 输入 1.6A 同步升压双节锂电充电器,高集成全保护可 P2P 替代

在便携式音箱、POS 机、电子烟、对讲机等采用双节串联锂电池供电的设备中,5V USB 输入升压充电是最主流的方案,市场对充电效率、集成度和可靠性的要求越来越高。HT4182 作为一款专为 5V 输入优化的同步升压型双节锂电池充电器,凭借高转换效率…...

LongWriter实战教程:从零开始构建你的专属写作AI

LongWriter实战教程:从零开始构建你的专属写作AI 【免费下载链接】LongWriter [ICLR 2025] LongWriter: Unleashing 10,000 Word Generation from Long Context LLMs 项目地址: https://gitcode.com/gh_mirrors/lo/LongWriter LongWriter是一款基于长上下文L…...

MacOS MySQL安装

1、安装包下载地址 MySQL Community Server:开源版本,适用于个人和小型企业。MySQL Enterprise Edition:商业版本,提供额外的功能和技术支持。MySQL Cluster:分布式数据库系统,适用于高可用性和高并发场景…...

为什么93%的AI法律助手查不准《数据安全法》实施细则?Perplexity这项冷启动参数设置决定成败

更多请点击: https://codechina.net 第一章:Perplexity法规查询功能的底层架构原理 Perplexity法规查询功能并非基于传统关键词匹配的搜索引擎,而是构建在多层语义理解与结构化知识协同推理的基础之上。其核心由法规知识图谱、实时语义解析引…...

5秒完成B站缓存视频转换:m4s到MP4无损转换完整指南

5秒完成B站缓存视频转换:m4s到MP4无损转换完整指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站缓存视频无法在其他…...

影刀RPA里藏了个Python?手把手教你用它管理第三方包和写数据处理脚本

影刀RPA中的Python开发实战:从包管理到数据处理脚本集成 在自动化流程开发领域,影刀RPA正逐渐成为连接低代码操作与专业编程的桥梁。对于已经掌握Python基础但希望提升自动化效率的开发者而言,影刀RPA提供的Python集成能力堪称效率倍增器。本…...

从YOLOv5到昇腾NPU:一份避坑无数的PyTorch模型迁移实战笔记(含性能调优)

从YOLOv5到昇腾NPU:一份避坑无数的PyTorch模型迁移实战笔记(含性能调优) 去年接手一个工业质检项目时,客户要求在昇腾NPU上部署YOLOv5模型。本以为只是简单的环境适配,没想到从驱动安装到性能调优,整整踩了…...

终极指南:如何用免费C工具快速管理天龙八部单机版游戏数据

终极指南:如何用免费C#工具快速管理天龙八部单机版游戏数据 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 还在为《天龙八部》单机版的数据管理而烦恼吗?TlbbGmTool是一款专为…...

Python随机密码生成器实战

求赞 求关注 当然写的不怎么好,因为我才刚初一,更新速度也慢。 如果想下载这里有链接 https://download.csdn.net/download/mc54321/91240180 正文开始 在编写这个程序我们需要导入random模块。 import random random 模块是 Python 标准库中的一个…...

Perplexity提示工程精要(2024权威认证版):覆盖92%高频场景的12类黄金模板

更多请点击: https://intelliparadigm.com 第一章:Perplexity提示工程的核心原理与认知框架 Perplexity(困惑度)作为衡量语言模型预测能力的关键指标,其本质是模型对真实文本序列分布的负对数似然指数化表达。在提示工…...

YOLOv8铁轨轨道缺陷识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)

摘要 针对铁轨表面缺陷自动化检测需求,本研究构建了基于YOLOv8的实时检测系统,涵盖Spalling(剥落)、Wheel Burn(车轮烧伤)、Squat(轨头压溃)和Corrugation(波浪磨耗&…...

MIPI CSI-2(3) 逃逸/LP模式 传输详解和波形图

专栏目录 MIPI CSI-2(1) D-PHY详细解析 MIPI CSI-2(2) HS模式 传输详解和波形图 MIPI CSI-2(3) 逃逸/LP模式 传输详解和波形图 逃逸模式时序 逃逸模式下lane始终通过LP-TX驱动,不要求有时钟&…...

Perplexity移动端体验崩塌实录:iOS/Android双平台1372条崩溃日志聚类分析,含Google Play App Store差评时间戳热力图

更多请点击: https://codechina.net 第一章:Perplexity用户评论汇总 Perplexity AI 作为一款以“引用驱动”为特色的问答式搜索引擎,自上线以来持续吸引学术研究者、开发者与技术爱好者群体。其用户评论呈现高度两极化特征:一方面…...

如何高效使用Display Driver Uninstaller:显卡驱动清理终极指南

如何高效使用Display Driver Uninstaller:显卡驱动清理终极指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uni…...

如何快速构建跨平台GUI应用:awesome-zig项目中Capy与ZWL框架终极指南

如何快速构建跨平台GUI应用:awesome-zig项目中Capy与ZWL框架终极指南 【免费下载链接】awesome-zig A collaborative list of awesome Zig libraries and resources. 项目地址: https://gitcode.com/gh_mirrors/awe/awesome-zig 想要用Zig语言开发跨平台桌面…...

CANN/asc-devkit流水线屏障同步API

PipeBarrier(ISASI) 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://git…...

DocQuery最佳实践:企业文档自动化处理的10个技巧

DocQuery最佳实践:企业文档自动化处理的10个技巧 【免费下载链接】docquery An easy way to extract information from documents 项目地址: https://gitcode.com/gh_mirrors/do/docquery DocQuery是一款强大的文档信息提取工具,能轻松分析半结构…...

实战应用场景:Codex CLI在开发工作流中的最佳实践

实战应用场景:Codex CLI在开发工作流中的最佳实践 本文详细介绍了Codex CLI在现代化开发工作流中的四个关键应用场景:代码重构与组件现代化迁移、自动化测试生成与执行、安全漏洞扫描与代码审查、以及批量文件操作与Git集成。通过实际案例展示了如何利用…...

tensorrt_demos性能对比分析:FP16 vs INT8 vs DLA核心的优劣对比

tensorrt_demos性能对比分析:FP16 vs INT8 vs DLA核心的优劣对比 【免费下载链接】tensorrt_demos TensorRT MODNet, YOLOv4, YOLOv3, SSD, MTCNN, and GoogLeNet 项目地址: https://gitcode.com/gh_mirrors/te/tensorrt_demos tensorrt_demos是一个支持MODN…...

ARMv8.3指针认证技术原理与安全实践

1. AArch64指针认证技术深度解析指针认证(Pointer Authentication)是ARMv8.3-A引入的关键安全特性,通过在指针的高位比特中嵌入加密签名(Pointer Authentication Code, PAC)来验证指针的完整性。这项技术能有效防御ROP…...

ComfyUI Portrait Master中文版:终极AI肖像提示词生成指南

ComfyUI Portrait Master中文版:终极AI肖像提示词生成指南 【免费下载链接】comfyui-portrait-master-zh-cn 肖像大师 中文版 comfyui-portrait-master 项目地址: https://gitcode.com/gh_mirrors/co/comfyui-portrait-master-zh-cn ComfyUI Portrait Master…...

保姆级教程:用HackRF One复现汽车钥匙重放攻击(附完整命令与避坑点)

从零掌握HackRF One信号重放:433MHz汽车钥匙实战全解析 当你在停车场按下车钥匙按钮时,那串看似神秘的无线电波背后隐藏着怎样的安全漏洞?作为硬件安全领域的入门神器,HackRF One让普通爱好者也能窥探射频世界的奥秘。本文将带你用…...

FreeRTOS移植避坑指南:当你的芯片不在官方支持列表时(以S3C2440为例)

FreeRTOS移植实战:非官方支持芯片的定制化开发方法论 当你的项目需要将FreeRTOS移植到非官方支持芯片时,整个过程就像在未知海域航行——没有现成的海图,但掌握正确的导航方法同样能到达目的地。以经典的ARM9芯片S3C2440为例,这种…...