java读取hdfs数据

本文详细介绍了如何在Java程序中访问HDFS数据的过程。重点在于配置步骤,包括加载core-site.xml和hdfs-site.xml文件,并自行创建userDefine-site.xml文件以提供认证信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想在一台搞了小半天,终于调通了,感觉有些地方和网上说的不太一样,mark一下。

目的:在java程序中访问hdfs数据,用作后续处理。

主要在配置,要加载hadoop下面的core-site.xml和hdfs-site.xml这两个文件,还要自己手动添加一个配置文件(因为在客户端访问需要秘钥)。

贴一下比较重要的部分的代码:

configuration.addResource(new FileInputStream("你自己的目录/core-site.xml"));
configuration.addResource(new FileInputStream("/你自己的目录/hdfs-site.xml"));
configuration.addResource(new FileInputStream("userDefine-site.xml"));
if (configuration.get("hadoop.security.authorization").equals("true")) {
    System.out.println("aaaa");
    UserGroupInformation.setConfiguration(configuration);
    UserGroupInformation.loginUserFromKeytab(configuration.get("login.kerberos.principal"), configuration.get("login.keytab.file"));
}

这个userDefine-site.xml是自己写的,里面主要提供了login.kerberos.principal和login.keytab.file 

根据自己的情况定。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值