首页 > 系统相关 >idea windows本地访问远程hadoop服务问题

idea windows本地访问远程hadoop服务问题

时间:2023-05-24 10:33:02浏览次数:59  
标签:xml windows hadoop idea org import Configuration 加载


在上一篇博客hadoop基于zookeper自动高可用搭建 搭建好远程的hadoop集群服务后,需要通过本地java代码访问该集群。

java结构如下图所示

idea windows本地访问远程hadoop服务问题_idea 本地访问hadoop

测试类HdfsTest 代码如下:

package com.wh.hdfs.test;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Before;
import org.junit.Test;

/**
 * Created by wh 2020/11/23.
 */
public class HdfsTest {
    private Configuration conf;
    private FileSystem fileSystem;
    @Before
    public void befor() throws Exception {
        // 一开始首先加载配置文件,包括默认的配置文件
        // 自定义的会覆盖默认的
         conf=new Configuration(true);
        // 获取filesystem对象,操作HDFS
         fileSystem=FileSystem.get(conf);
     }
    public  void  afater() throws Exception {
        // 用完后关闭到HDFS的连接
        fileSystem.close();
    }
  
    @Test
    public void testLs() throws Exception {
        FileStatus [] fs=fileSystem.listStatus(new Path("/"));
        for (FileStatus f : fs) {
            System.out.println(f);
        }
    }


}

测试结果却是如下图所示,表示没有连接到hadoop集群。

idea windows本地访问远程hadoop服务问题_加载_02

打印的是本地windows中hadoop_home所在盘的文件目录。

所以应该是没有加载到我们配置的core-site.xml以及hfds-site.xml文件。而是加载了默认的文件。

通过debug Configuration类,到方法

private Configuration.Resource loadResource(Properties properties, Configuration.Resource wrapper, boolean quiet) 可以看到如下结果

当加载core-default.xml 时 正常加载了windows本地的hadoop_home路径下的 core-default.xml文件

idea windows本地访问远程hadoop服务问题_hadoop_03

加载core-site.xml文件时没有获取到目录,得到的是空,也就是没有加载到本地自定义的core-site.xml文件,没有把默认的文件给覆盖

idea windows本地访问远程hadoop服务问题_java_04

所以可能是资源文件设置有问题,打开idea 的iml文件

idea windows本地访问远程hadoop服务问题_java_05


看到资源文件加载的路径不对,所以重新mark一下资源文件或者直接修改iml文件

idea windows本地访问远程hadoop服务问题_idea 本地访问hadoop_06


然后重新测试,看到正常访问hadoop集群

idea windows本地访问远程hadoop服务问题_idea 本地访问hadoop_07


标签:xml,windows,hadoop,idea,org,import,Configuration,加载
From: https://blog.51cto.com/u_14016692/6337617

相关文章

  • idea中trycatch快捷键是什么
    https://m.baidu.com/sf?pd=topone_trustpaper&resource_id=55858&word=idea%E4%B8%ADtrycatch%E5%BF%AB%E6%8D%B7%E9%94%AE%E6%98%AF%E4%BB%80%E4%B9%88+&ext=%7B%22url%22%3A%22https%3A%5C%2F%5C%2Fwww.jianshu.com%5C%2Fp%5C%2Fb4f35762ae0d%22%2C%22srcid%22......
  • 坚持了十年的德国慕尼黑城市政府将抛弃Linux回归Windows?
    德国慕尼黑城市政府正在考虑回归到微软Windows系统的怀抱。慕尼黑行政管理局和人事委员会建议将Linux系统转换成Win10系统。根据报告显示,之所以做出此决定是因为德国慕尼黑城市政府目前所面临的软件兼容性问题:行政管理局和人事委员会本周对慕尼黑IT设置组织做了长久期盼的建议,......
  • 坚持了十年的德国慕尼黑城市政府将抛弃Linux回归Windows?
    德国慕尼黑城市政府正在考虑回归到微软Windows系统的怀抱。慕尼黑行政管理局和人事委员会建议将Linux系统转换成Win10系统。根据报告显示,之所以做出此决定是因为德国慕尼黑城市政府目前所面临的软件兼容性问题:行政管理局和人事委员会本周对慕尼黑IT设置组织做了长久期盼的建议,......
  • 坚持了十年的德国慕尼黑城市政府将抛弃Linux回归Windows?
    德国慕尼黑城市政府正在考虑回归到微软Windows系统的怀抱。慕尼黑行政管理局和人事委员会建议将Linux系统转换成Win10系统。根据报告显示,之所以做出此决定是因为德国慕尼黑城市政府目前所面临的软件兼容性问题:行政管理局和人事委员会本周对慕尼黑IT设置组织做了长久期盼的建议,......
  • IDEA配置jdk(或者IDEA代码报错The SDK is not specified for module)
    参考:https://blog.csdn.net/mask_boys/article/details/117385087今天敲代码时,出现一个错误,那就是TheSDKisnotspecifiedfor module,意思是没有为模块添加SDK,所以会出现如下错误 如何解决这个问题呢:首先:file-》projectStructure 然后 点击下划选项,然后就可以添加......
  • windows平台的dhcp服务软件、dhcp服务器netbootm工具用法介绍
    使用深度远程启动管理器配置管理口IP方法1、将笔记本IP设置为需要配置的IP同网段的一个IP;2、用网线将笔记本网口与服务器管理口连接;3、打开深度远程启动管理器,点击选项配置按钮,选择DHCP选项卡4、配置下图红框中的选项,启始地址为需要配置的IP的第一个地址,子网掩码以及网关与客户要......
  • UE4学习笔记:Windows系统下如何在C++项目里调用第三方动态库
    本随笔介绍在Windows系统下,由UE4引擎创建的C++项目里如何实现调用第三方动态库的方法。随笔作者还在学习阶段,对UE4引擎的使用和理解还不是非常透彻,难免会在随笔内容里出现技术上或书写上的问题,如果出现了类似的问题欢迎在评论区或者私信讨论。 目录设置第三方库头文件的路......
  • Windows 11 和 Rocky 9 Linux 平台 MySQL 8.0.33 简易安装教程
    目录Windows平台安装MySQLLinux平台Rocky9安装MySQLbinarypackagerpmpackageyum源sourcepackageWindows11和Rocky9Linux初体验MySQL8.0.33简易安装教程。MySQL8.0目前最新稳定版本已经更新到了MySQL8.0.33,估计下一个稳定版本(大约在今年7月份)推出。当然,......
  • 【Idea】控制台输出中文乱码
    控制台中文乱码 方法一:文件-设置-编辑器-文件编码示例:UTF-8 方法二:文件-设置-构建……-构建工具-maven-运行程序添加VM选项:-Dfile.encoding=GB2312  方法三:帮助-编辑自定义VM选项添加编码格式: -Dfile.encoding=utf-8 方法四:运行-编辑配置-运行配置添加VM选......
  • windows通过命令行设置进程优先级
    针对进程的就通过这6个优先级来控制图形界面可以通过任务管理器操作,也可以通过其他软件 cmd命令行示例:wmicprocesswherename="processname"CALLsetpriority"value"wmicprocesswherename="firefox.exe"CALLsetpriority"realtime"wmic......