windows端hadoop项目编写java程序操纵远程hadoop集群报错(集合,分几个阶段才解决的)

//20210326
写在前面:今天学习hadoop“使用java调用api操作hadoop集群”阶段,在linux上运行代码很顺畅,maven和jar包一加,就运行成功了,但是迁移到windows上面就一堆问题(因为生产环境服务器肯定没有可视化界面,都是要本地jar包上传的),经过查阅资料,多次尝试,终于解决,在此记录一下

HADOOP_HOME未设置

  • 问题简述:就是说windows上面调用hadoop api,需要在windows上面有hadoop环境(并不是安装),只需要将官网对应版本的包在本地某处解压即可

  • 解压完成之后并不能如预期顺利运行,原因是官方的包里缺少执行文键和dll文件,需要如下两个文件(github上搜winutils第一条点进去就有各个版本的)

  • 下载完成之后放在hadoop解压的bin目录下即可

  • 接下来是配置环境变量,配置环境变量我是跟着知乎一个博主做的,这边儿直接贴链接

原文链接

  • 配置好环境变量之后,运行报错是permission deny那就直接跳第三个板块,否则第二个板块

报错提示未实现hfs架构

  • 首先检查服务器上hadoop是否开启
  • 确认开启之后,就是jar包冲突的原因了(具体我是小白也看不懂QAQ,下面直接贴链接),把pom文件里的hadoop-core依赖删掉就行(也可以直接在build path中把对应jar包删掉,不过我idea暂时没找到在哪里删,直接把依赖去掉,然后刷新即可)

原文链接

提示Permission deny

  • 报错显示权限不够,这是因为本地不设置用户名直接登陆hadoop是以Administrator登录的,但是远程主机上并没有这个用户,所以需要在本地设置登录用户名

  • 此处只展示idea解决方法,eclipse没用过,网上应该有教程

  • 在idea的顶部导航栏点开红框中的edit configuration

  • 然后在VM option栏里加上如下配置(等于号后面跟你远程主机的登录名)

  • 最后应用,重新跑程序,发现运行成功~


原文链接

以上
希望对大家有所帮助

原文地址:https://www.cnblogs.com/lavender-pansy/p/14584438.html