一旦主nn关闭,自动从java应用程序连接到hdfs辅助nn

c9qzyr3d  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

我有一个简单的java客户机,它将文件保存到hdfs—配置为1个名称节点。为此,我使用hadoop配置,指定默认文件系统,如:

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

但是,在将来,我需要连接到一个配置了1个活动namenode和1个备用namenode的hdfs,如果活动namenode坏了,就自动使用备用namenode。
有人对如何实现这一目标有什么建议吗?任何链接/示例都将不胜感激,因为我对任何与hadoop平台相关的东西都还很陌生。
谢谢

lhcgjxsq

lhcgjxsq1#

这个 Configuration 默认情况下,变量将读取类路径中的hdfs-site.xml文件。
理想情况下,您应该将此文件与java应用程序一起使用,或者定义一个 HADOOP_CONF_DIR 操作系统中的环境变量。这就是 hdfs 例如,cli工具就是一种工作,它只是转发到java类。
然后,如果集群使用的是namenodeha,那么它应该已经知道 fs.defaultFS 设置为,所以您不需要自己设置。
如果您想以编程的方式进行,那么需要为namenodes配置zookeeper,为hdfs配置“nameservice”,这些属性可以在xml文件中找到

相关问题