1、介绍
对于namenode是HA高可用集群时,客户端远程访问hdfs有两种实现方法:
(1)将所有关于namenode的参数写入Configuration对象中
(2)将配置文件core-site.xml和hdfs-site.xml文件复制到项目的src目录下
2、方式一
(1)样例代码
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 stub Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://my"); conf.set("dfs.nameservices", "my"); conf.set("dfs.ha.namenodes.my", "nn1,nn2"); conf.set("dfs.namenode.rpc-address.my.nn1", "192.168.12.156:8020"); conf.set("dfs.namenode.rpc-address.my.nn2", "192.168.157:8020"); conf.set("dfs.client.failover.proxy.provider.my", "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"); try { FileSystem fs = FileSystem.get(new URI("hdfs://my"), conf,"root"); boolean b=fs.mkdirs(new Path("/a")); System.out.println(b); fs.copyFromLocalFile(new Path("D:\\a.txt"), new Path("/a/a.txt")); fs.close(); } catch (Exception e) { System.out.println(e); } } }
(2)运行结果
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
true
(3)HDFS命令验证
[root@node1 ~]# hdfs dfs -ls /a
Found 2 items
-rw-r--r-- 3 root supergroup 13 2018-08-08 09:11 /a/a.txt
[root@node1 ~]# hdfs dfs -cat /a/a.txt
Hello,Hadoop!
[root@node1 ~]#
相关推荐
首先,我们来看如何使用Java API连接到HDFS HA集群。高可用性(High Availability, HA)是Hadoop分布式文件系统(HDFS)为了确保服务不间断而设计的一种特性,它通过维护多个NameNode节点来实现。在上述示例中,可以看到...
在Eclipse中远程连接到Hadoop集群,并通过HDFS的Java API操作文件是一套涉及多个步骤的技术流程,这套流程主要涉及到分布式计算和文件系统操作的知识。首先,我们来梳理一下整个过程中的关键知识点。 第一步:启动...
HDFS Java API的使用简化了对HDFS的操作,使得开发者能够在应用程序中轻松地读取、写入和管理HDFS上的大数据。然而,为了保证高可用性和数据安全性,还需要考虑如HA(High Availability)配置,以防止NameNode单点...
HDFSUtil类是Java中用于与HDFS进行交互的工具类,它封装了HDFS API的基本操作。这些操作包括但不限于: - 构造`Configuration`对象:这是HDFS客户端与HDFS集群通信的关键,用于存储HDFS的相关配置信息。 - 设置...
课程回顾、基础课程价值信息、入门课程、分布式计算条件、HDFS深入、Hadoop HA架构、Zookeeper功能及应用场景、Hadoop HDFS功能及应用场景、分布式编程模型与YARN、以及HDFS Java API的应用场景。接下来将详细解释...
1. 文件操作:使用Hadoop命令行工具或编程接口(如Java API)进行文件的创建、读取、修改和删除。 2. MapReduce配合:HDFS与MapReduce结合,实现大规模数据的分布式计算。 3. 配置优化:根据实际需求调整HDFS参数,...
除了命令行工具,还可以通过Hadoop的Java API在程序中操作HDFS。例如,`FileSystem`类提供了与HDFS交互的方法,如打开文件、写入数据、读取文件等。以下是一个简单的示例: ```java import org.apache.hadoop.conf....
6. **Java API操作HDFS**:使用Java代码通过FileSysterm接口与HDFS交互,包括创建、读取、删除文件和目录。例如,使用`create`写文件,`open`读文件,`delete`删除文件,`mkdirs`创建目录,`listStatus`列出目录内容...
命令行接口与API:**用户可以通过hdfs dfs命令行工具或Java API与HDFS交互,进行文件的创建、删除、移动和读写等操作。 **5. 扩展性:**HDFS设计时考虑了可扩展性,可以轻松添加更多节点以扩大存储容量和处理能力...
“备用只读 HDFS NameNode,没有 RPC 服务器,通过 REST API 为客户端提供服务,利用 Java 8 Stream API,所有这些都是为了为最终用户对整个文件系统元数据执行大型复杂的扫描。” 立即在本地运行演示! 只需在工作...
开发者可以利用Java的集合框架、多线程等特性,配合Hadoop的API,高效地处理PB级别的数据。 **教学应用场景** 这个压缩包的目的是为了教学,意味着它将提供一个学习环境,让学生能够快速搭建Hadoop开发环境,并通过...
【标题】"HA高可用hadoop,zookeeper,jdk.rar" 涉及的主要知识点是分布式计算环境中的高可用性(High Availability, HA)技术,其中涵盖了Hadoop、Zookeeper和Java Development Kit(JDK)这三个核心组件。...
08-HA的java api访问要点.avi 09-hive入门.avi 第六天 hbase hive 01-复习ha相关.avi 02-hive的元数据库mysql方式安装配置.avi 03-hive的使用.avi 04-hive的常用语法.avi 05-hql语法及自定义函数.avi 06-...
- **HDFS-开发API讲解**:HDFS提供的API介绍。 #### FastDFS - **FastDFS介绍和架构讲解**:FastDFS是一款轻量级的文件存储系统。 - **FastDFS环境搭建与使用**:搭建FastDFS环境并使用。 - **FastDFS集群环境搭建...
在Hadoop 2.5.1中,HDFS支持多NameNode,通过HA(High Availability)确保服务的连续性。此外,它还引入了延迟写入和快速删除功能,以优化存储性能。 2. **YARN(Yet Another Resource Negotiator)**:YARN是Hadoop...
6. **flink-streaming-java_2.11.jar** 和 **flink-streaming-scala_2.11.jar**:提供了Java和Scala的流处理API。 7. **flink-connector-jdbc_2.11.jar** 和 其他相关的连接器:用于与其他数据源(如数据库)的交互...
使用Java API对HDFS进行操作时,需确保工程中包含了`core-site.xml` 和 `hdfs-site.xml` 文件,以便正确解析HDFS Federation的配置。例如,在工程中创建一个`src/main/resources`目录,并将这两个配置文件复制进去。...
虽然Hadoop主要使用Java开发,但提供了HDFS的C/C++ API,允许非Java应用直接访问HDFS。这些接口使得开发者能够利用C/C++的强大性能和灵活性来处理HDFS上的大数据。 7. **HDFS的优化策略**: 为了优化HDFS性能,...