实用指南:WSL2搭建Hadoop伪分布式环境

news/2025/10/2 9:04:58/文章来源:https://www.cnblogs.com/lxjshuju/p/19123194

目录

在 WSL2 Ubuntu 安装必备环境

下载并配置 Hadoop

启动 / 停止 Hadoop

Spring Boot 空项目

一键脚本(WSL)


本文目标:在 WSL2 的 Ubuntu 里跑起单机版 Hadoop(伪分布式),并建好 Spring Boot 空工程

在 WSL2 Ubuntu 安装必备环境

安装 JDK 17

sudo apt install openjdk-17-jdk -y

验证:

java -version

安装 Maven 和 Git

sudo apt install maven git -y

验证:

mvn -v
git --version

安装 SSH

Hadoop 的伪分布式需要本机 SSH:

sudo apt install openssh-server -y

生成免密钥:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

测试:

ssh localhost

应该能直接登录,不再要密码。

下载并配置 Hadoop

创建用户并加权限

# 创建 hadoop 用户
sudo adduser hadoop
# 给 hadoop 用户 sudo 权限
sudo usermod -aG sudo hadoop

切换用户

su - hadoop

进入工作目录

mkdir -p ~/bigdata-labs && cd ~/bigdata-labs

下载 Hadoop(3.3.x 为稳定版)

在浏览器打开https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

下载好后放到 /home/hadoop/bigdata-labs 

解压并更名

tar -xvzf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 hadoop

配置环境变量(hadoop 用户)

编辑:

nano ~/.bashrc

加入:

export HADOOP_HOME=/home/hadoop/bigdata-labs/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

添加之后按ctrl + o 保存,然后按enter确认修改,最后按ctrl + x 退出

刷新:

source ~/.bashrc

继续配置环境变量:

echo 'export HADOOP_HOME=~/bigdata-labs/hadoop' >> ~/.bashrc
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrc
source ~/.bashrc

修改 hadoop-env.sh,指向 JDK17:

nano ~/bigdata-labs/hadoop/etc/hadoop/hadoop-env.sh

在最末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

配置 NameNode 地址

在文件夹中找这个路径,\home\hadoop\bigdata-labs\hadoop\etc\hadoop

找到之后有一个 core-site.xml 文件,加入:

fs.defaultFShdfs://localhost:9000

这里的 localhost:9000 就是 NameNode 的 RPC 服务地址

然后找 hdfs-site.xml 文件

加入:

dfs.replication1dfs.namenode.name.dirfile:/home/hadoop/bigdata-labs/hadoop/dfs/namedfs.datanode.data.dirfile:/home/hadoop/bigdata-labs/hadoop/dfs/data

dfs.namenode.name.dir  存储 NameNode 的元数据(namespace、FSImage、EditLog 等)
dfs.datanode.data.dir  存储 DataNode 的实际数据块

继续找 yarn-site.xml 文件

加入:

yarn.resourcemanager.hostnamelocalhostyarn.nodemanager.aux-servicesmapreduce_shuffle

找到 mapred-site.xml 文件

加入:

mapreduce.framework.nameyarn

然后由于JDK 17 的模块限制在卡 Guice/cglib(YARN 的 Web/注入框架),默认不允许用反射访问 java.lang 里的受限方法。所以需要给 YARN(以及 Hadoop/MapReduce 守护进程)加上 --add-opens 启动参数

yarn-env.sh

nano $HADOOP_HOME/etc/hadoop/yarn-env.sh

在文件末尾追加一行

export YARN_OPTS="$YARN_OPTS \--add-opens=java.base/java.lang=ALL-UNNAMED \--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \--add-opens=java.base/java.io=ALL-UNNAMED"

hadoop-env.sh

nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

在文件末尾追加一行

export HADOOP_OPTS="$HADOOP_OPTS \--add-opens=java.base/java.lang=ALL-UNNAMED \--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \--add-opens=java.base/java.io=ALL-UNNAMED"

mapred-env.sh

nano $HADOOP_HOME/etc/hadoop/mapred-env.sh

在文件末尾追加一行

export MAPRED_OPTS="$MAPRED_OPTS \--add-opens=java.base/java.lang=ALL-UNNAMED \--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \--add-opens=java.base/java.io=ALL-UNNAMED"

启动 / 停止 Hadoop

格式化 HDFS(首次需要)

hdfs namenode -format

启动

start-dfs.sh
start-yarn.sh

验证

# 看进程
jps

可以看到以下五个内容

检查 Web UI
NameNode: http://localhost:9870
ResourceManager: http://localhost:8088 (应能看到 1 个活跃的 Node)

停止

stop-yarn.sh
stop-dfs.sh

Spring Boot 空项目

在 IDEA 里新建 Maven 项目 spring-hadoop-playground,依赖:

org.apache.hadoophadoop-client3.3.6

测试启动类:

@SpringBootApplication
public class HadoopPlaygroundApp {public static void main(String[] args) {SpringApplication.run(HadoopPlaygroundApp.class, args);}
}

运行后控制台输出 Started HadoopPlaygroundApp 即成功

一键脚本(WSL)

平常如果不写脚本,需要手动敲两条命令:
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
这样才能同时启动 HDFS(NameNode、DataNode、SecondaryNameNode) 和 YARN(ResourceManager、NodeManager)

脚本的作用:自动化
把这两条命令放进一个 start-hadoop.sh 脚本文件里,下次只要敲:

./start-hadoop.sh

就能一键启动全部服务。

具体操作:

新建 start-hadoop.sh

nano start-hadoop.sh

加入:

#!/bin/bash
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh

然后保存退出


赋权

chmod +x start-hadoop.sh

给脚本执行权限


运行

./start-hadoop.sh

一键执行,省得每次都手动输入两条命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3整数规划-分支定界法

分支定界法(Branch and Bound Method 一、分支定界法概述 1. 定义与定位 分支定界法是求解 整数规划问题(纯整数、混合整数、0-1规划)的 核心全局优化算法,由 Land 和 Doig 于1960年提出。 其核心思想是通过“分支…

西安网站建设服务网站备案个人使用

Android Deobfuscation11/11/2019本文内容ProGuard、DexGuard 和 R8 是用于对 Android 应用程序的代码进行优化和模糊处理的工具。 它会删除未使用的代码、重命名具有语义模糊名称的类、字段和方法,使基本代码更小,更难反向工程。 若要在 Android 应用中…

完整教程:Ubuntu 系统安装 Prometheus+Grafana(附shell脚本一键部署↓)

完整教程:Ubuntu 系统安装 Prometheus+Grafana(附shell脚本一键部署↓)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family…

网站的设计与制作论文题目成都高端网站建设哪家好

这世界上有后悔药– www.houhuiyao.cc 后悔药数据恢复 站长语前面的内容也提到过update或delete误更新删除了数据后如何恢复。实际生产环境中常常因各种不同场景导致一些办法有效一些办法无效,当然,最有效的办法依然是备份!虽然啰嗦&#xff…

重庆市住房和城乡建设部网站自己怎么开发app软件

文章目录 性能比较区别使用方式和行为 性能比较 最终总结:如果数据在1万以内的话,for循环效率高于foreach和stream;如果数据量在10万的时候,stream效率最高,其次是foreach,最后是for。另外需要注意的是如果数据达到10…

详细介绍:【计算机视觉】形态学的去噪

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

阿里巴巴做网站的电话号码wordpress社

JavaScript返回上一页代码区别: window.history.go(-1); //返回上一页window.history.back(); //返回上一页//如果要强行刷新的话就是:window.history.back();location.reload();window.location.go(-1); //刷新上一页

开封旅游网站建设网页推广莱西市城乡建设局网站

最近,Oracle采用了一种新策略,即每六个月发布一次新的语言版本。 该策略假定只有每个第3版都将提供长期支持或LTS。 快速说明: 具有LTS的当前版本是Java 8; Java 9仅应在2018年3月之前获得支持,因此已经结束。 Java…

[apple pencil二代充不上电]

不废话: 先不急着联系苹果官方ipad 插上电 2.apple pencil 2 吸附在旁边 3.等一夜 4.早上起来反复开关ipad蓝牙, 5.连上了

分布式光纤声波振动与AI的深度融合:开启智慧感知新时代 - 指南

分布式光纤声波振动与AI的深度融合:开启智慧感知新时代 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

2025液压扳手实力厂家推荐榜:精准扭矩与耐用品质专业之选

2025液压扳手实力厂家推荐榜:精准扭矩与耐用品质专业之选在工业装备领域,液压扳手作为关键扭矩工具,其性能直接影响设备安装质量与运维安全。随着2025年工业技术标准的提升,市场对液压扳手的精度、耐用性及适配性提…

网站建设如何选择良好的服务器长沙网页制作网站

如何开展软件架构之概念架构 到目前为止,我们已经完成了需求的分析过程,总结来说,主要的步聚是 一)需求结构化, 二)分析约束影响 三)重点关注质量需求。 那么接下来的阶段则是系统的概念架构了&…

做网站选云服务器内核大连建设网站制作

1、权限组件rbac 1、什么是权限 1 项目与应用 2 什么是权限? 一个包含正则表达式url就是一个权限 who what how ---------->True or Flase 2、版本1:用户表与权限url表 对应关系 # 版本1UserInforname pwdpermissionmodels.manytomany(Permissi…

工会网站建设请示可以做锚文本链接的网站

E201_06_02_正弦函数题目要求:按照三角函数泰勒级数展开式计算正弦函数值:,直到最后一项的绝对值小于106解题思路:1. 输入弧度2. 确定初始化值3. 求阶梯函数代码:public class E201_06_02_正弦函数 {public static void main(Stri…

Flutter完整开发指南 | FlutterDart – The Complete Guide - 教程

Flutter完整开发指南 | Flutter&Dart – The Complete Guide - 教程2025-10-02 08:40 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: au…

Flutter实现闲鱼底部导航栏中间突出效果

Flutter实现闲鱼底部导航栏中间突出效果Posted on 2025-10-02 08:41 lifeisastory 阅读(0) 评论(0) 收藏 举报实现思路 在 Scaffold 组件中使用 bottomNavigationBar 和 floatingActionButton 属性建立底部导航栏…

2025试验机实力厂家品牌公司最新权威推荐榜:精准测试与技术创新标杆之选

在制造业转型升级与质量强国战略深入推进的背景下,试验机作为质量检测与材料研发的核心装备,正迎来前所未有的发展机遇。根据行业数据显示,2024年我国试验机市场规模已突破百亿元,年均复合增长率保持在12%以上,其…

AI元人文:价值共生体系统——构建人机文明的演进基石——DeeoSeek融合

AI元人文:价值共生体系统——构建人机文明的演进基石 摘要 本文针对传统AI"价值对齐"范式的局限性,提出"价值共生体系统"作为下一代智能系统的核心架构。该系统通过价值语义网络、共识决策引擎和…

详细介绍:大模型架构之GPT、LLaMA与PaLM模型

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025喷涂厂家TOP企业品牌推荐排行榜,喷涂、喷涂设备、 喷涂生产线、喷涂流水线推荐这十家公司!

在涂装行业快速发展的当下,企业对喷涂设备的需求日益提升,但诸多痛点却制约着行业升级。粉末回收效率低导致的原料浪费、换色耗时久引发的生产停滞、温度控制不准造成的涂层质量不稳定等问题,让不少企业陷入成本高企…