HDFS应用-后端存储cephfs-java-API
HDFS(Hadoop Distribute FileSystem)是一个适合运行在通用硬件之上,具备高度容错特性,支持高吞吐量数据访问的分布式文件系统,非常适合大规模数据集应用。
HDFS适用于如下场景:
• 处理海量数据(TB或PB级别以上)
• 需要很高的吞吐量
• 需要高可靠性
• 需要很好的可扩展能力
- HDFS开发接口简介
HDFS常用概念
• Client
HDFS Client主要包括五种方式:JAVA API、C API、Shell、HTTP REST API、WEB UI五种方式,可参考常用API介绍、HDFS Shell命令介绍。
o JAVA API
提供HDFS文件系统的应用接口,本开发指南主要介绍如何使用Java API进行HDFS文件系统的应用开发。
o C API
提供HDFS文件系统的应用接口,使用C语言开发的用户可参考C接口的描述进行应用开发。
o Shell
提供shell命令完成HDFS文件系统的基本操作。
o HTTP REST API
提供除Shell、Java API和C API以外的其他接口,可通过此接口监控HDFS状态等信息。
o WEB UI
提供Web可视化组件管理界面。
JAVA API
HDFS支持使用Java语言进行程序开发,具体的API接口内容请参考HDFS Java API接口介绍。
1.安装ceph依赖
yum install ceph-common
yum install librgw-devel librados-devel libradosstripe-devel
yum install cephfs-java libcephfs-devel python-cephfs libcephfs_jni-devel
新建文件夹/usr/lib/jni/
mkdir /usr/lib/jni/
将/usr/lib64/关于ceph的文件和 libcephfs_jni对象共享文件拷贝到/usr/lib/jni/
cd /usr/lib64/
cp -rf ceph libcephfs_jni.so libcephfs_jni.so.1 libcephfs_jni.so.1.0.0 libcephfs.so libcephfs.so.2 libcephfs.so.2.0.0 /usr/lib/jni/
2.java基础环境
- java环境配置
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
java -version
3.应用开发
maven依赖
<!-- hadoop start -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.3.4</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>3.3.4</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>