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

如何在本地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接收变量,是无法直接填写输入/出路径,所以要在运行前,去工作目录填写路径,这样就能指定路径输出了

 


http://www.kler.cn/news/303651.html

相关文章:

  • conda 安装tensorflow一些命令
  • 人工智能在鼻咽癌诊断和治疗中的应用进展、当前挑战和未来前景|文献精析·24-09-13
  • 苹果CMS海洋CMS那个更容易被百度收录?苹果CMS站群
  • 输电线路在线监测摄像头:规格(一)
  • 【已解决】请教 “Sa-Token 集成 xxl-job,报错:非 web 上下文无法获取 HttpServletRequest” 如何解决
  • oracle select字段有子查询会每次执行子查询吗
  • 波克城市 x NebulaGraph|高效数据血缘系统在游戏领域的构建实战
  • Java中各种数据结构如何使用stream流
  • Xcode报错:Return from initializer without initializing all stored properties
  • Java-乐观锁和悲观锁的理解及实现方式
  • Android 亮度范围定制
  • uniapp tabBar不显示
  • 利用python处理线性规划问题
  • 宠物毛发对人体有什么危害?宠物空气净化器小米、希喂、352对比实测
  • 电信网络携手大模型:AI赋能网络运维的新范式
  • 合宙Air201资产定位模组LuatOS:开机容易关机难?PWRKEY控制来帮忙
  • 【STM8】STM8固件库的坑(GPIO_ReadInputDataBit)
  • 如何编译OpenHarmony SDK API
  • ‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
  • 体育场座位【python实现】
  • 谷歌-BERT-“bert-base-chinese ”
  • 网络运维故障处理
  • Java | Leetcode Java题解之第396题旋转函数
  • 开源项目低代码表单FormCreate中通过接口加载远程数据选项
  • MySQL:undo log
  • 吴恩达大神神作经典珍藏版:《LLM大模型通关手册》面面俱到太全了!
  • Ubuntu 下载软件包时,提示 但是它将不会被安装E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
  • 【网络安全 | 甲方建设】SaaS平台、Jira工具及Jenkins服务器
  • LeetCode之字典树
  • SpringBoot3与SpringBoot2的区别