[BigData]关于Hadoop学习笔记第二天(PPT总结)(一)
Plan:
分布式文件系统与HDFS
HDFS体系结构与基本概念
HDFS的shell操作
java接口及常用api
HADOOP的RPC机制
HDFS源码分析
远程debug
自己设计一分布式文件系统?

Distributed File System
URI格式是scheme://authority/path。HDFS的scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。
例如:/parent/child可以表示成hdfs://namenode:namenodePort/parent/child,或者更简单的/parent/child(假设配置文件是namenode:namenodePort)
#hadoop fs -mkdir /test1 在根目录创建一个目录test1
#hadoop fs -get /test/test.txt .
或#hadoop fs -getToLocal /test/test.txt .


dfs.block.size
hdfs-site.xml的dfs.replication属性

HDFS的java访问接口——FileSystem
HDFS的FileSystem读取文件
private static FileSystem getFileSystem() throws URISyntaxException,
IOException {
Configuration conf = new Configuration();
URI uri = new URI("hdfs://hadoop240:9000");
final FileSystem fileSystem = FileSystem.get(uri , conf);
return fileSystem;
}
/**
* 读取文件,调用fileSystem的open(path)
* @throws Exception
*/
private static void readFile() throws Exception {
FileSystem fileSystem = getFileSystem();
FSDataInputStream openStream = fileSystem.open(new Path("hdfs://itcast0106:9000/aaa"));
IOUtils.copyBytes(openStream, System.out, 1024, false);
IOUtils.closeStream(openStream);
}
HDFS的FileSystem目录
/**
* 创建目录,调用fileSystem的mkdirs(path)
* @throws Exception
*/
private static void mkdir() throws Exception {
FileSystem fileSystem = getFileSystem();
fileSystem.mkdirs(new Path("hdfs://itcast0106:9000/bbb"));
}
/**
* 删除目录,调用fileSystem的deleteOnExit(path)
* @throws Exception
*/
private static void rmdir() throws Exception {
FileSystem fileSystem = getFileSystem();
fileSystem.delete(new Path("hdfs://itcast0106:9000/bbb"));
}
HDFS的FileSystem遍历目录
/**
* 遍历目录,使用FileSystem的listStatus(path)
* 如果要查看file状态,使用FileStatus对象
* @throws Exception
*/
private static void list() throws Exception{
FileSystem fileSystem = getFileSystem();
FileStatus[] listStatus = fileSystem.listStatus(new Path("hdfs://itcast0106:9000/"));
for (FileStatus fileStatus : listStatus) {
String isDir = fileStatus.isDir()?"目录":"文件";
String name = fileStatus.getPath().toString();
System.out.println(isDir+" "+name);
}
}
FileSystem
Remote Procedure Call
public interface Bizable extends VersionedProtocol{
public abstract String hello(String name);
}
class Biz implements Bizable{
@Override
public String hello(String name){
System.out.println("被调用了");
return "hello "+name;
}
@Override
public long getProtocolVersion(String protocol, long clientVersion)
throws IOException {
System.out.println("Biz.getProtocalVersion()="+MyServer.VERSION);
return MyServer.VERSION;
}
}
public class MyServer {
public static int PORT = 3242;
public static long VERSION = 23234l;
public static void main(String[] args) throws IOException {
final Server server = RPC.getServer(new Biz(), "127.0.0.1", PORT, new Configuration());
server.start();
}
}
public class MyClient {
public static void main(String[] args) throws IOException {
final InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", MyServer.PORT);
final Bizable proxy = (Bizable) RPC.getProxy(Bizable.class, MyServer.VERSION, inetSocketAddress, new Configuration());
final String ret = proxy.hello("吴超");
System.out.println(ret);
RPC.stopProxy(proxy);
}
}



[BigData]关于Hadoop学习笔记第二天(PPT总结)(一)的更多相关文章
- [BigData]关于Hadoop学习笔记第一天(PPT总结)(一)
适合大数据的分布式存储与计算平台 l作者:Doug Cutting l受Google三篇论文的启发 lApache 官方版本(1.0.4) lCloudera 使用下载最多的版本,稳定,有商业支持 ...
- [BigData]关于Hadoop学习笔记第四天(PPT总结)(一)
课程安排 Partitioner编程** 自定义排序编程** Combiner编程** 常见的MapReduce算法** ---------------------------加深拓展-------- ...
- [BigData]关于Hadoop学习笔记第三天(PPT总结)(一)
课程安排 MapReduce原理*** MapReduce执行过程** 数据类型与格式*** Writable接口与序列化机制*** ---------------------------加深拓展- ...
- Hadoop学习笔记(10) ——搭建源码学习环境
Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步 ...
- Hadoop学习笔记(9) ——源码初窥
Hadoop学习笔记(9) ——源码初窥 之前我们把Hadoop算是入了门,下载的源码,写了HelloWorld,简要分析了其编程要点,然后也编了个较复杂的示例.接下来其实就有两条路可走了,一条是继续 ...
- Hadoop学习笔记(4) ——搭建开发环境及编写Hello World
Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...
- hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结
本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
随机推荐
- document.documentElement.clientHeight||document.documentElement.scrollHeight
在我看<JavaScript高级程序设计>(第三版)的时候,在clientHeight和scrollHeight那部分把我弄糊涂了. 原书是这样写的:( //宽度同理,就不仔细描述了.) ...
- Cognos 增加全局类
Cognos使用版本10.1.1 由于我服务器装的是linux系统下的,所以window系统下的方法,提一下,但是没有实现过. 1.Linux系统下增加全局类 ●修改GlobalReportStyle ...
- ZOJ 3903 Ant(数学,推公示+乘法逆元)
Ant Time Limit: 1 Second Memory Limit: 32768 KB There is an ant named Alice. Alice likes going ...
- codeforces300A Array
A. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- Nginx应用案例分享:压力测试
在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的 ...
- 关于session更新的问题
最近在学习用ssh框架做一个实习生招聘系统,已经做了大半.今天突然想到一个问题,在登录的时候我把用户的所有信息放到session中去,那么我不同用户同时登录的时候session中的信息是否会被覆盖掉( ...
- Windows xp下IDT Hook和GDT的学习
一.前言 对于IDT第一次的认知是int 2e ,在系统调用的时候原来R3进入R0的方式就是通过int 2e自陷进入内核,然后进入KiSystemService函数,在根据系统服务调用号调用系统服 ...
- C#学习笔记(十五):预处理指令
C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令. #region 代码折叠功能,配合#endregion使用,如下: 点击后如下: 条件预处理 条件预处理可以根据给出的条件决 ...
- Hyper-V网络配置
Hyper-V虚拟交换机类型应用: 外部虚拟网络: 可以实现虚拟机之间.虚拟机和物理机.虚拟机和外部网络的通信. 生产环境不勾选“允许管理操作系统共享此网络适配器”,勾选之后会为主机创建虚拟网卡,会实 ...
- Don't Repeat Yourself (不要重复你自己)
DRY是指Don't Repeat Yourself特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性.简洁性,并且可能导致代码之间的矛盾.<The Pragmatic Programm ...