gpt4 book ai didi

java - 一旦主 NN 出现故障,自动从 Java 应用程序连接到 HDFS 辅助 NN

转载 作者:可可西里 更新时间:2023-11-01 16:37:51 25 4
gpt4 key购买 nike

我有一个简单的 Java 客户端,可以将文件保存到 HDFS - 配置了 1 个名称节点。为此,我使用 hadoop 配置,指定默认文件系统,如:

org.apache.hadoop.conf.Configuration conf = new org.apache.hadoop.conf.Configuration();
conf.set("fs.defaultFS", "hdfs://NNip:port");

但是,将来我需要连接到配置有 1 个 Activity 名称节点和 1 个备用名称节点的 hdfs,以防 Activity 名称节点出现故障,自动使用备用名称节点。

有没有人对如何实现这一目标有任何建议?任何链接/示例将不胜感激,因为我对与 Hadoop 平台相关的任何事物仍然是新手。

谢谢

最佳答案

Configuration 变量默认读取类路径中的 hdfs-site.xml 文件。

理想情况下,您应该将此文件与您的 Java 应用程序一起使用,或者以其他方式在操作系统中定义一个 HADOOP_CONF_DIR 环境变量。这就是 hdfs CLI 工具的工作方式,例如,它只是转发到 Java 类。

然后,如果您的集群正在使用 Namenode HA,它应该已经知道 fs.defaultFS 的值设置为什么,因此您不需要自己设置它。

如果您想以编程方式执行此操作,则需要为名称节点和 "nameservice" for HDFS, which properties can be found in that XML file 配置 Zookeeper。

关于java - 一旦主 NN 出现故障,自动从 Java 应用程序连接到 HDFS 辅助 NN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311984/

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