Hadoop中其他知识(24)

            Thrift:

                        因为Hadoop文件系统的接口是通过JAVAApi提供的,所以其他非Java应用程序访问Hadoop文件系统会比较麻烦。

                        Thriftfs定制功能模块中ThriftApi通过把hadoop文件系统包装成一个ApacheThrift服务来弥补这个不足,从而使任何具有Thrift绑定的语言都能轻松地与Hadoop文件系统进行交互。

            C语言:

                        Hadoop提供了一个名为LibHDFS的C语言库,该语言库是JavaFileSystem接口类的一个镜像(它被编写成访问HDFS的C语言库,但它其实可以访问Hadoop文件系统)。它可以使用Java原生接口(JavaNativeInterface,JNI)调用Java文件系统客户端。

                        C语言API与Java的API非常相似,但它的开发一般滞后于JavaApi,因此目前一些新的特性可能还不支持。

                        注:Hadoop中的RPC接口是基于Hadoop的Writable接口开发的,并以Java为中心开发语言。今后,Hadoop

                               还将采用跨语言的AvroRPC框架,该框架允许使用除了Java以外的其他语言编写的HDFS客户端。

            FUSE:

                        用户控制文件系统(FileSysteminUserspace,FUSE)允许把按照用户空间实现的文件系统整合成一个Unix文                            件系统。通过使用Hadoop的Fuse-DFS功能模块,任意一个Hadoop文件系统(一般为HDFS)均可以作为

                        一个标准文件系统进行挂载。随后便可以使用Unix工具(如ls和cat)与该文件系统交互,还可以通过任意一种

                        编程语言调用POSIX库来访问文件系统。

                        Fuse-DFS是用C语言实现的,调用libhdfs并作为访问HDFS的接口,关于如何编译和运行Fuse-DFS的文档,

                        可以在Hadoop发行版本的src/contrib/fuse-dfs目录中找到。

            WebDAV:

                            WebDAV扩展了HTTP,并支持文件编辑和文件更新。在大部分操作系统中,WebDAV共享均可以作为

                            文件系统进行挂载,由此通过WebDAV来向外提供HDFS(或其他Hadoop文件系统的访问接口,并将                                    HDFS作为一个标准文件系统进行访问)。

            其他HDFS接口:

                                    HDFS有2种特定的接口:

                                                                        HTTP:

                                                                                    HDFS定义了一个以HTTP方式检索目录列表和数据的只读接口。

                                                                                     嵌入在namenode中的Web服务器(运行在50070端口上)以XML

                                                                                     格式提供目录列表服务,而嵌入在datanode的Web服务器(运行

                                                                                      在50075端口)提供文件数据传输服务。该协议并不绑定于某个

                                                                                      特定的HDFS版本,由此用户可以利用HTTP协议编写从运行不同

                                                                                      版本的HadoopHDFS集群中读取数据的客户端。HftFileSystem就

                                                                                      是其中一种:一个通过HTTP协议与HDFS交互的Hadoop文件系统

                                                                                      接口(HsftpFileSystem是HTTPS的变种).

                                                                        FTP:

                                                                                    HDFS还有一个FTP接口,该接口运行使用FTP协议与HDFS进行交                                                                                        互,该接口很方便,它使用现有FTP客户端与HDFS进行数据传输。

                                                                                    请不要把HDFS的FTP接口与FTPFileSystem混为一谈,因为该接口

                                                                                    可以将任意FTP服务器展示为Hadoop文件系统。


                                                                                                                        Name:Xr

                                                                                                                        Date:2014-03-13 23:29

                                                                                   

你可能感兴趣的:(Hadoop中其他知识(24))