[Hadoop基础]-- web hdfs端口50075和httpfs端口14000的使用

参考文档
CDH介绍hadoop组件的端口: https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_ports_cdh5.html
Hadoop官方介绍web hdfs: http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/WebHDFS.html
Hadoop官方介绍httpfs : http://hadoop.apache.org/docs/r2.6.5/hadoop-hdfs-httpfs/index.html
web hdfs和httpfs的对比: http://blog.csdn.net/u012948976/article/details/51591089

一、web hdfs


1、介绍
Web HDFS是HortonWorks开发的,然后捐给了Apache,是HDFS的REST API。WebHDFS是一个内置HDFS的REST API。 它不需要任何进一步的安装,但提供的文件访问支持较简单,如果集群未做HA,那么是优先选择,其中默认50070是http服务的端口。

2、端口
默认配置: dfs.datanode.http.address 50070
安全配置: dfs.datanode.http.address 1006

3、示例
(1)无安全认证(http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Open_and_Read_a_File)
curl -i -L "http://:50075/webhdfs/v1/?op=OPEN
[&offset=][&length=][&buffersize=]"

(2)kerberos安全认证
(http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#HDFS_Configuration_Options)

curl -i --negotiate -u : "http://:1006/webhdfs/v1/?op=..."

二、HttpFS


1、介绍
HttpFS是Cloudera开发的,也捐给了Apache。HttpFS是HDFS一个独立的服务,若使用需要手动安装(CDH中安装HDFS时将HttpFS勾选上即可)。提供的文件访问支持较好,如果集群做了HA,那么HttpFS Server将不是它的瓶颈,性能更好!是http服务的优先选择。默认提供服务的端口是14000.

2、端口
默认配置: hdfs.httpfs.http.port 14000
由于它不是hdfs内置的组件,所以不管是否添加安全认证,只要我们不更改默认端口,那么端口都不会发生变化!

3、示例
(1)无安全认证(http://hadoop.apache.org/docs/r2.6.5/hadoop-hdfs-httpfs/index.html)
curl http://httpfs-host:14000/webhdfs/v1/user/foo/README.txt
curl http://httpfs-host:14000/webhdfs/v1/user/foo?op=list
curl -X POST http://httpfs-host:14000/webhdfs/v1/user/foo/bar?op=mkdirs

(2)有安全认证(http://hadoop.apache.org/docs/r2.6.5/hadoop-hdfs-httpfs/UsingHttpTools.html)
$ kinit
Please enter the password for tucu@LOCALHOST:
$ curl --negotiate -u foo "http://:14000/webhdfs/v1?op=homedir"
Enter host password for user 'foo':

三、选择

一般来说两个都可以使用,而且差别不大。但若集群配置了HA,那就最好使用HttpFS了,因为namenode的地址一直在变化,我们是不可能也随时修改脚本里的请求地址的,故在这种情况下直接写HttpFS Server的地址好了。

 

你可能感兴趣的:(Hadoop)