如何在本地Windows运行hadoop

我们在本地运行hadoop的时候,发现了报错:

两种情况:

1、没有配置winutils

这种情况只能从本地上传文件到hdfs,但是不能从hdfs下载文件到windows本地,也无法在本地运行MapReduce的过程。如果连上传的时候都报这种错误,请检查是否在Linux中运行了hadoop集群。

2、下载了winutils,但没有在Path中配置winutils变量

下载了winutils,也配置了winutils的环境变量,但是没有将环境变量加到Path中,所以报错,没有配置到Path中,就无法在本地运行hadoop的mapreduce等一些逻辑处理的代码

分析报错原因:

没有下载winutils,或者已经下载并且配置了HADOOP_HOME变量,那么就是因为没有在Windows系统变量中的Path里面加上hadoop的环境,如果只是从hdfs上下载文件到本地windows上,就只需要配置HADOOP_HOME这个变量,如果要在本地Windows上运行hadoop,还要将这个变量的bin目录加到Path中。 <注意:配置好环境变量,要重启idea,让其生效>

解决如下:

附:MapReduce实现代码:

一、学会args的用法

编写MapReduce的代码,处理一个hdfs上的一个文本内容,统计hadoop的数量和java的数量

文本内容是:

hadoop,java,hadoop,hadoop

java,java,hadoop

hadoop,hadoop,java

这里只演示在本地windows上运行,因为我们已经配置了winutils的环境,可以运行hadoop,代码中的main方法里有String [ ] args这个数组,可以被用来接收输入输出的路径,但是启动Run,是无法进行一个输入路径的操作,所以我们要找到args输入的入口,好把地址传入进去

1、填写输入和输出的路径

因为本地运行(Run),用args接收变量,是无法直接填写输入/出路径,所以要在运行前,去工作目录填写路径,这样就能指定路径输出了

相关推荐
没有bug.的程序员1 小时前
Gradle 构建优化深度探秘:从 Java 核心到底层 Android 物理性能压榨实战指南
android·java·开发语言·分布式·缓存·gradle
文艺倾年2 小时前
【强化学习&SWE】如何无容器化进行强化学习训练
人工智能·分布式·大模型
Dr.AE2 小时前
AI+教育行业分析报告
大数据·人工智能·教育电商
Evaporator Core3 小时前
通信专业技术资格考试备战系列(一):通信基础知识核心要点解析
大数据·tornado
freepopo3 小时前
比较好的别墅装修策略
大数据
代码的知行者6 小时前
分布式任务调度系列 - PowerJob
分布式
实战产品说8 小时前
2026出海产品的机会与挑战
大数据·人工智能·产品运营·产品经理
无心水8 小时前
【任务调度:数据库锁 + 线程池实战】4、架构实战:用线程池 + SKIP LOCKED 构建高可用分布式调度引擎
人工智能·分布式·后端·spring·架构
2501_926978338 小时前
从Prompt的“结构-参数”到多AI的“协作-分工”--底层逻辑的同构分化
大数据·人工智能·机器学习
教男朋友学大模型8 小时前
平衡AI自动化与人工干预
大数据·人工智能·自动化