gpt4 book ai didi

java - Hadoop客户端不断从本地文件系统读取

转载 作者:行者123 更新时间:2023-12-02 20:29:45 25 4
gpt4 key购买 nike

我正在尝试通过Hadoop客户端从Windows上的Java程序读取文件。我有一个有效的kerberos keytab,但似乎无法从HDFS中读取。

我使用的是this页面中的示例,hadoop客户端不断从本地文件系统读取数据。我三重检查了我使用的URL及其正确的URL,我缺少了什么?

Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://test.hdp:8020");
conf.set("hadoop.security.authentication", "kerberos");

UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab("hdfs-user@MYCORP.NET",
"c:/temp/hdfs-user.keytab");

FileSystem fs = FileSystem.get(conf);
FileStatus[] fsStatus = fs.listStatus(new Path("/"));
for(int i = 0; i < fsStatus.length; i++){
System.out.println(fsStatus[i].getPath().toString());
}

最佳答案

我发现了问题。 Hadoop客户端从本地FS读取的项目也试图将Hadoop与Apache&Active MQ集成。我使用的activemq-camel版本带来了一个导致问题的较旧Hadoop库。我更新到了最新版本的Camel和Active MQ,问题就消失了。我验证了较新的版本不会带来任何hadoop缺陷。

activemq-camel 5.6 Dependencies ( partial list)
[INFO] \- org.apache.activemq:activemq-camel:jar:5.6.0:compile
[INFO] +- org.apache.camel:camel-jms:jar:2.9.2:compile
[INFO] \- org.apache.activemq:activemq-core:jar:5.6.0:compile
[INFO] +- org.fusesource.fuse-extra:fusemq-leveldb:jar:1.1:compile
[INFO] | +- org.apache.hadoop:hadoop-core:jar:1.0.0:compile

关于java - Hadoop客户端不断从本地文件系统读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53871942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com