在emr中使用httpfs组件

栏目: 服务器 · 发布时间: 6年前

内容简介:httpfs是hadoop中HDFS over HTTP的实现,为HDFS的读写操作提供了统一的REST HTTP接口。在一些特定场景下非常有用,例如不同hadoop版本集群间数据拷贝, 使用httpfs作为对外提供数据访问的网关等。httpfs组件与namenode内置的http接口都能提供webhdfs http接口,但二者不同的是httpfs可以作为独立服务部署到其他节点上,从而与namenode互相独立。在emr V2版本中已经默认在master节点上启动了httpfs组件,无需单独部署和启动,e

httpfs是hadoop中HDFS over HTTP的实现,为HDFS的读写操作提供了统一的REST HTTP接口。在一些特定场景下非常有用,例如不同hadoop版本集群间数据拷贝, 使用httpfs作为对外提供数据访问的网关等。

httpfs组件与namenode内置的http接口都能提供webhdfs http接口,但二者不同的是httpfs可以作为独立服务部署到其他节点上,从而与namenode互相独立。

在emr V2版本中已经默认在master节点上启动了httpfs组件,无需单独部署和启动,emr V1版本或者在非emr节点的客户机中启动方式如下:

su - hadoop
/usr/local/service/hadoop/sbin/httpfs.sh start

emr中默认配置的httpfs端口为4032,启动之后即可通过下面方式进行测试:

$ curl "localhost:4032/webhdfs/v1?user.name=hadoop&op=gethomedirectory"   
{"Path":"\/user\/hadoop"}

通过hdfs客户端进行测试:

$ hdfs dfs -ls webhdfs://localhost:4032/
Found 7 items
drwxr-xr-x   - hadoop supergroup          0 2018-05-25 15:28 webhdfs://localhost:4032/apps
drwxrwx---   - hadoop supergroup          0 2018-05-31 19:06 webhdfs://localhost:4032/emr
drwxr-xr-x   - hadoop supergroup          0 2018-05-29 15:36 webhdfs://localhost:4032/hbase
drwxr-xr-x   - hadoop supergroup          0 2018-06-06 16:49 webhdfs://localhost:4032/spark-history
drwx-wx-wx   - hadoop supergroup          0 2018-05-28 15:09 webhdfs://localhost:4032/tmp
drwxr-xr-x   - hadoop supergroup          0 2018-05-28 15:06 webhdfs://localhost:4032/user
drwxr-xr-x   - hadoop supergroup          0 2018-05-31 19:04 webhdfs://localhost:4032/usr

通过python hdfs模块访问测试:

将测试代码保存至hdfs_t.py, 测试代码如下:

#!/usr/bin/env python

from hdfs import InsecureClient
client = InsecureClient('http://localhost:4032', user='hadoop')

# Read a file
with client.read('/tmp/1.txt') as reader:
    txt = reader.read()
    print txt
# Write a file
data_str =  "test hdfs write"
client.write('/tmp/2.txt', data=data_str, encoding='utf-8')

# Upload a file
client.upload('/tmp/', './testhttpfs', n_threads=5)

执行以下命令安装模块并执行测试脚本:

# 安装模块
yum -y install python-pip
pip install hdfs
# 准备测试文件
date >1.txt
hdfs dfs -put 1.txt /tmp/
# 执行测试脚本
python hdfs_t.py

webhdfs api文档参考链接:

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/WebHDFS.html


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据时代小数据分析

大数据时代小数据分析

屈泽中 / 电子工业出版社 / 2015-7-1 / 69.00元

《大数据时代小数据分析》是一本大数据时代下进行小数据分析的入门级教材,通过数据分析的知识点,将各类分析工具进行串联和对比,例如:在进行线性规划的时候可以选择使用Excel或LINGO或Crystal Ball。工具的应用难易结合,让读者循序渐进地学习相关工具。JMP和Mintab用来分析数据,分析的结果使用Excel、LINGO、Crystal Ball来建立数据模型,最后使用Xcelsius来动......一起来看看 《大数据时代小数据分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具