学习笔记(Hadoop分布式文件系统)

  1. Hadoop是以流式数据访问模式存储超大文件。一次写入,多次读取。

  2. 每个文件,目录,数据块的存储信息需要存放在内存中,大小根据经验约为150字节。所以对于硬件内存还是有极限的。

  3. HDFS中的块跟磁盘块概念相似,但是HDFS的块大小默认64MB,为什么如此之大,为了最小化寻址开销。

  4. HDFS集群有两类节点,并以管理者-工作者模式运行,一个是namenode(管理者),和多个datanode(工作者)

  5. namenode是非常重要的角色,如果namenode的服务的机器毁坏文件系统文件将丢失,所以对namenode的容错很重要。所以hadoop提供了两种容错解决方案,一个是备份那些组成文件系统元数据持久状态的文件。一般做法是持久状态写入磁盘的同时写入一个远程的网络文件系统。另一个解决方案备份一个namenode,因为是保存的是主节点的后状态所以肯定可能造成数据部分丢失。

  6. 课外知识,(Thrift)一个软件框架,用来进行可扩展且跨语言的服务的开发。提供各个语言间的进程间调用。是一种服务,提供各种语言的远程过程调用接口。

  7. 常用类:FileSystem,FSDataInputStream,FSDataOutputStream,FileStatus等类。

  8. HDFS提供一个方法来强制所有的缓存与数据节点同步,即对FSDataOutputStream调用sync()方法。

  9. 通过distcp并行复制,distcp的典型应用是在两个HDFS集群之间传输数据。