版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HDFS API 及工具xianmOpenPasValue2014/3/22HDFS API FileSystem类提供基本的文件处理功能 适配器模式,根据配置文件中(hadoop2.x之后是fs.defaultFS)的值,实例化成不同的对象。本地文件系统:file:/HDFS: hdfs:/node.fqdn:8020/等等 Hadoop中的资源描述方法符合URL规范(RFC1738), 的值是默认的协议+server部分import.apache.hadoop.fs.FileSystem Configuration c
2、onf = new Configuration(); FileSystem fs = FileSystem.get(conf);HDFS API 文件操作读文件 fs.open(Path);新建文件fs.create(Path);对文件追加fs.append(Path);关闭文件句柄fs.close(Path);对于hdfs文件,如果不close的话会导致短期内不能继续写入文件。建目录fs.mkdirs(Path); 列目录 fs.listSus(Path); 通配符处理 fs.globSus(Path)处理a/b*.lzo形式的输入路径删除文件或目录 fs.delete(Path,判断是否为
3、文件fs.isFile(Path) 设置文件属性fs.setPermis(.)HDFS API 写文件Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);Path file = neth(demo.txt);FSDataOutputStream outStream = fs.create(file);outStream.writeUTF( outStream.close(); 读文件e to HDFS Java API!);FSDataInputStream inStream = fs.op
4、en(file);String data = inStream.readUTF();System.out.prln(data);inStream.close();HDFS API 加载的配置文件 比如:重新设定连接的namenodeHDFS API 从本地上传文件fs. copyFromLocalFile(Path,Path) 从hdfs文件fs.copyToLocalFile(Path,Path) 获取文件块的位置fs. getFilockLocations() 设定备份数fs.setReplication(Path, short)HDFS c语言 API(libhdfs)#include
5、hdfs.hmain(argc, char *argv) hdfsFS fs =hdfsConnect( NAMENODE_HOSTNAME,PORT);char* fileName = demo_c.txt;char* message = size = strlen(message);e to HDFS C API!;exists = hdfsExists(fs, fileName);if (exists -1) fprf(stdout, File %s exists!n, fileName); else / Create and open file for writinghdfsFile
6、outFile = hdfsOpenFile(fs, fileName, O_WRONLY|O_CREAT,0,0,0) if (!outFile) exit(-2);/ write to filehdfsWrite(fs, outFile, (void*)message, size); hdfsCloseFile(fs, outFile);HDFS c语言 API(libhdfs) 两个关键文件hdfs.c/hdfs.h 基本原理Jni 执行方式LD_LIBRARY_PATH=$HADOOP_HOME/c+/ARCH/lib:$JAVA_HOME/jre/l ib/ARCH/server .
7、/hdfs_cpp_demo 回顾这些关键点的调用hdfsFS fs =hdfsConnect(NAMENODE_HOSTNAME,PORT);hdfsFile outFile = hdfsOpenFile(fs, fileName,flags, 0, 0, 0);hdfsWrite(fs, outFile, (void*)message, size);char* data = malloc(sizeof(char) * size);tSize readSize = hdfsRead(fs, inFile, (void*)data, size);HDFS挂载(fuse) 以fuse方式将hdf
8、s挂载到本地文件系统(cdh)hadoop-fuse-dfs dfs:/:8020/ Debug模式hadoop-fuse-dfs dfs:/:8020/ -d 开源版本fuse_dfs_wrapper.sh rw -oserver=localhost -oport= /u/hdfs/ 编译 1.xln -s $HADOOP_HOME/c+/Linux-amd64-64/lib/ build/libhdfs cp -R c+/ build/ant compile -Dlibhdfs=1 -Dfusedfs=1 2.2.0mvn compile -Pnative压缩HDFS的压缩是对应用可见的
9、Package.appress下 LzopCode, LzoCoddec, GzipCodec, BZip2Codec如何查看压缩文件内容 命令行# hadoo fs -text.lzo core-site.xml 中必须包含:pres.codecs,值为用逗号分隔的所有可能的Codec类,如:.appress.GzipCodec,.appress.DefaultCodecpres.codecs.appress.GzipCodec,pressiopres.lzo.LzopCodec,.ap presappyCodecLzopCodec c = new LzopCodec(); / 常犯的错误是
10、误用LzoCodec。c.setConf(conf); / 这一步是必须得OutputStream os = c.createOutputStream(fs.create(neth(“file.txt”);或InputStream is = c.createInputStream(fs.open(neth(“in.lzo”);HDFS benark 写文件(10个文件,每个20MB)hadoop jar $HADOOP_HOME/hadoop-test-*.jar TestDFSIO -write-nrFiles 10 -fileSize 20 读文件hadoop jar $HADOOP_HO
11、ME/hadoop-test-*.jar TestDFSIO -read-nrFiles 10 -fileSize 20HDFS Balance bin/start-balancer.sh -threshold 15 bin/stalancer.sh 各DataNode不均衡时使用不同机器之间同机器不同磁盘之间无法通过这种方法balance dfs.balance.bandwidthPerSecDataNode下线 hadoop dfsadmin -report获取集群hdfs状况 hadoop dfsadmin -refreshNodes删除节点时使用dfs.hosts.excludeexclude_fileExclude_file中加入要去除的节点执行refreshNodes使用多盘、控制HDFS磁盘使用 hdfs-site.xml 控制hdfs使用HDFS block 设置block过小:文件块总数过大,namenode中加载的fsimage占据大量内存过大:文件分布性存在问题,不利于并行命令行方式设定bin/hadoop fs -Ddfs.block.size=134217728 -put data.in /user/foo 坏块检查bin/hadoop fsck file -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年霜降草木干燥防火警示课件
- 2026 年军训高温补水科学饮水健康科普课件
- 2026及未来5年中国冰箱保温材料数据监测研究报告
- 2026事业单位工勤技能-广东-广东计算机信息处理员三级高级历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-山西-山西食品检验工二级(技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-山西-山西护理员五级(初级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-天津-天津造林管护工三级(高级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-四川-四川计算机操作员五级(初级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-上海-上海行政岗位工五级(初级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-上海-上海仓库管理员三级(高级工)历年参考题库含答案详解3套试卷
- 光伏发电工程施工应急预案
- 控制工程-课件
- 主播艺人入职面试信息登记表
- 《荣枯鉴》完整原文及译文
- GB/T 1458-2023纤维缠绕增强复合材料环形试样力学性能试验方法
- 03S702钢筋混凝土化粪池图集
- 葛的栽培技术课件
- 2023学年完整公开课版Module5Unit1Don'tcrossthatrope
- 员工入职通知单
- (2.4)-手足口病概述及发病机制
- GB/T 7966-2022声学超声功率测量辐射力天平法及其要求
评论
0/150
提交评论