Java API访问HDFS集群(HA)
生活随笔
收集整理的這篇文章主要介紹了
Java API访问HDFS集群(HA)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
title: Java API訪問HDFS集群(HA)
date: 2021-06-23 17:06:11
tags:
- HDFS
hadoopV2版本及以后都是HA架構(gòu),active namenode和standby namenode, 當前active namenode 出現(xiàn)問題之后,zkfc會切換standby namenode 為active 狀態(tài)保證hadoop集群正常運行,所以java api需要通過配置HA的方式來訪問hdfs集群
對于namenode是HA高可用集群時,客戶端遠程訪問hdfs有兩種實現(xiàn)方法:
(1)將所有namenode ha相關(guān)的參數(shù)寫入Configuration對象中.
(2)將配置文件core-site.xml和hdfs-site.xml文件復(fù)制到項目的目錄下.
使用方式一:
import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path;public class HADemo {public static void main(String[] args) {// TODO Auto-generated method stubConfiguration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://HACluster");conf.set("dfs.nameservices", "HACluster");conf.set("dfs.ha.namenodes.HACluster", "nn1,nn2");conf.set("dfs.namenode.rpc-address.HACluster.nn1", "namenode1_ip:8020");conf.set("dfs.namenode.rpc-address.HACluster.nn2", "namenode2_ip:8020");conf.set("dfs.client.failover.proxy.provider.HACluster","org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider");try {FileSystem fs = FileSystem.get(new URI("hdfs://HACluster"), conf,"root");boolean b=fs.mkdirs(new Path("/tmp/a"));fs.copyFromLocalFile(new Path("D:\\test\\a.txt"), new Path("/tmp/a/a.txt"));fs.close();} catch (Exception e) {System.out.println(e);}} }總結(jié)
以上是生活随笔為你收集整理的Java API访问HDFS集群(HA)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot 2.3.x 分层
- 下一篇: 【收藏】解决mac问题:打不开,因为它来