HDFS实战 北京信息职业技术学院 | 朱立.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
面向侧面的程序设计 方林博士 本文下载地址:
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
檔案處理.
第十五章 网络编程.
Oracle数据库 Oracle 子程序.
第二章 JAVA语言基础.
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
在PHP和MYSQL中实现完美的中文显示
J2EE与中间件技术 ——Lab.
第3章 分布式文件系统HDFS (PPT版本号:2017年2月版本)
Linux 切换、 创建和删除目录 系统管理 宁波市高校慕课联盟课程
Signutil.
Hadoop I/O By ShiChaojie.
Hadoop I/O By ShiChaojie.
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
Multithread 多執行緒 I/O Lecturer:楊昌樺.
第二讲 搭建Java Web开发环境 主讲人:孙娜
厦门大学数据库实验室 MapReduce 连接
程式設計實作.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.
2018/12/3 面向对象与多线程综合实验-网络编程 教师:段鹏飞.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
Hadoop.
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
实验四 Linux文件目录 一、实验目的 1、了解Linux文件系统与目录操作; 2、了解Linux文件系统目录结构;
VSS使用简介 王树升
DevDays ’99 The aim of this mission is knowledge..
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
任务1-3 使用Dreamweaver创建ASP网页
Java语言程序设计 清华大学出版社 第8章 输入输出流(1).
Gzip编译及调试 曹益华
SOA – Experiment 2: Query Classification Web Service
檔案上傳
WWW服务 WWW服务概述 IIS6.0的 WWW 服务 IIS6.0下安装PHP
$9 泛型基础.
Java變數 2014/6/24.
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
DQMClientDim.cxx及双光子练习
第十二章 学习使用Ant Apache Ant是一个基于Java的构建工具,它可以 会构建多种项目,但是目前主要被用于Java项目 的构建, Ant是用Java语言编写,可以在多个操 作系统中运行,目前在绝大部分的Java开源项目 中,都选择使用Ant作为构建项目的工具,Ant已 经成为Java开源项目构建的事实标准,而且越来.
陳維魁 博士 儒林圖書公司 第三章 變數與繫結 陳維魁 博士 儒林圖書公司.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
Lab17 程序设计B班
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
第二章 Java语法基础.
GDP设计协同 项目创建者操作手册 GDP项目组 2019/01/30.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Review 1~3.
Visual Basic程序设计 第13章 访问数据库
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
Google的云计算 分布式锁服务Chubby.
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
變數、資料型態、運算子.
第2章 Java语言基础.
第四章 UNIX文件系统.
判斷(選擇性敘述) if if else else if 條件運算子.
JUDDI安装手册.
Presentation transcript:

HDFS实战 北京信息职业技术学院 | 朱立

目录 Hadoop 运行模式 HDFS命令行工具 HDFS安全模式 启动、停止HDFS服务 如何查看HDFS日志 如何查看HDFS Web控制台 HDFS参数配置

Hadoop运行模式 单机 伪分布式 集群环境 在一个Java进程内模拟Hadoop的各个角色

HDFS 开发基本步骤 实例化Configuration 实例化FileSystem 文件或目录操作 根据配置文件选择使用本地或分布式文件系统 文件或目录操作 Stream

打开文件 FSDataInputStream open(Path f) FSDataInputStream open(Path f, int bufferSize) 返回输入流 如果文件不存在会抛出异常 不指定bufferSize时,会从Configuration中读取io.file.buffer.size,默认为4096字节

文件追加 FSDataOutputStream append(Path f) FSDataOutputStream append(Path f, int bufferSize) 块不足64M时,会补足到64M 块达到64M之前,该块不可见,ls看不到该块新增的大小,也无法读取 不能同时多个writer追加同一个文件

从本地拷贝文件到HDFS void copyFromLocalFile (Path src, Path dst) 目标文件存在,直接覆盖 void copyFromLocalFile (boolean delsrc, Path src, Path dst) 根据参数delsrc,如果是true,拷贝完成之后直接删除源文件 void copyFromLocalFile (boolean delsrc, boolean overwrite, Path src, Path dst) Path[] srcs, Path dst) 参数srcs指定多个本地文件或文件夹 参数dst指定HDFS文件夹 void moveFromLocalFile (Path src, Path dst) void moveFromLocalFile (Path[] srcs, Path dst)

从HDFS拷贝文件到本地 void copyToLocalFile (Path src, Path dst) void copyToLocalFile (boolean delsrc, Path src, Path dst) void moveToLocalFile (Path src, Path dst) 没有多文件拷贝函数 会覆盖已存在的本地文件dst

创建目录 目录权限的含义 boolean mkdirs (Path f) boolean mkdirs (Path f, FsPermission permission) static boolean mkdirs (FileSystem fs, Path dir, FsPermission permission) 支持多级目录同时创建 (类似mkdir -p) 默认权限是755 成功返回true 目录权限的含义 r + x : 获取文件列表 w : 创建(删除)文件/子目录

删除及重命名 boolean delete (Path f, boolean recursive) 删除文件或目录 如果f是目录,则参数recursive指定是否要递归删除 recursive是false, 并且f不为空,会抛出异常 删除成功返回true f不存在时,会返回false boolean deleteOnExit (f) 当关闭FileSystem时,才会删除 如f是目录,则递归删除子目录和文件

获取文件或目录信息 FileStatus[ ] listStatus (Path f) FileStatus[ ] listStatus (Path[ ] dirs) FileStatus[ ] listStatus (Path f, PathFilter filter) FileStatus[ ] listStatus (Path[ ] dir, PathFilter filter) 列出文件或目录的信息 参数dir指定要查询的多个目录 参数filter指定需要过滤规则 PathFilter是一个接口,需要实现boolean accept(Path path)方法,返回false,在返回结果中会过滤掉 只返回列出指定目录下的文件或目录信息

获取文件或目录信息 FileStatus信息包括: 绝对路径 文件大小(单位:字节) 文件访问时间 块大小、复制份数 文件所属用户、组、访问权限

设置文件或目录属性 void setOwner (Path p, String username, String groupname) 设置文件或目录所属用户及组 参数p指定文件或目录 参数username,设置此文件或目录的所属用户 只返回列出指定目录下的文件或目录信息 void setPermission (Path p, FsPermission permission) 设置文件或目录权限 参数permission,指定权限,权限同linux权限雷同

设置文件或目录属性 void setReplication (Path f, short replication) 设置文件复制份数 参数f指定文件 参数replication指定复制份数 void setTimes (Path f, long mtime, long atime) 设置文件的修改及访问时间 参数mtime,修改时间 参数atime,访问时间

HDFS输入流 包 继承 java.io.DataInputStream 构造方法 org.apache.hadoop.fs public FSDataInputStream(InputStream in) 输入流对象实例化 in参数,输入流的来源 一般输入流对象,通过FileSystem.open方法获得

HDFS输出流 java.io.DataOutputStream 包 继承 构造方法 org.apache.hadoop.fs public FSDataOutputStream(OutputStream out,FileSystem.Statistics stats) public FSDataOutputStream(OutputStream out,FileSystem.Statistics stats, long startPosition) 输出流对象实例化 out参数,输出流 stats参数是对输出流的相关的计数,如bytes read, bytes written stats是FileSystem.Statistics对象

IOUtils 构造方法 包 构造方法 I/O帮助类,提供的都是静态方法,不需要实例化 org.apache.hadoop.fs public IOUtils() I/O帮助类,提供的都是静态方法,不需要实例化

IOUtils 拷贝流方法 public static void copyBytes (InputStream in , outputStream out, Configuration conf) public static void copyBytes (InputStream in , outputStream out, Configuration conf, boolean close) 从输入流拷贝到输出流 参数in输入流实例 参数out输出流实例 参数conf,通过io.file.buffer.size获取缓存大小 没有设置io.file.buffer.size,缓存默认为4096bytes 参数close指定是否需要拷贝完成后,由此方法关闭输入输出流

IOUtils 拷贝流方法 public static void copyBytes (InputStream in , outputStream out, int buffSize) public static void copyBytes (InputStream in , outputStream out, int buffSize, boolean close) public static void copyBytes (InputStream in , outputStream out, int length, int buffSize, boolean close) 从输入流拷贝制定字节大小到输出流 参数in输入流实例 参数out输出流实例 参数length指定要拷贝的字节大小 参数buffSize指定输入输出缓冲 参数close指定是否需要拷贝完成后,由此方法关闭输入输出流

WebHDFS RESTful API 简介 使用标准的HTTP协议来完成逻辑操作 无状态,即在服务器端不保留任何操作和事务的状态 客户端与服务器端的数据交换,一般采用JSON, XML HDFS的RESTful API支持完整的文件系统接口 配置RESTful 在hdfs-site.xml中置dfs.webhdfs.enabled为true

WebHDFS RESTful API 示例 $ curl -i "http://localhost:50070/webhdfs/v1/user/hadoop/conf?op=LISTSTATUS" HTTP/1.1 200 OK Content-Type: application/json Content-Length: 3538 Server: Jetty(6.1.26) { "FileStatuses":{ "FileStatus":[ {"accessTime":1338272558964, "blockSize":67108864, "group":"supergroup", "length":7457, "modificationTime":1338272558964, "owner":"training", "pathSuffix":"capacity-scheduler.xml", "permission":"644", "replication":3, "type":"FILE”}] } 例:查看目录下的文件

致谢 东方瑞通(北京)咨询服务有限公司 http://www.easthome.com