- web接口
- http://namenode-name:50070/列出了集群中的datanode和基础的统计数据。
- shell commands
- bin/hdfs dfs
- bin/hdfs dfsadmin
- secondary namenode–时刻准备着
- namenode把文件系统的修改信息作为日志追加存储到文件系统的edits文件。当namenode启动后,namenode从image,fsimage文件中读取hdfs状态,从edits日志文件中使用edits。然后把新的hdfs状态写到fsimage中,并用一个空的edits文件开始正常的操作。由于namenode只在启动期间整合fsimage和edits文件,随着时间累积在一个繁忙的集群中edits日志文件会变得非常庞大。一个庞大的edits文件的另一个副作用是会造成namenode下次启动时话费很长时间。
- secondary namenode定期整合fsimage和edits日志文件,使edits文件保持在一个范围内。由于secondary namenode和primary namenode有相同的内存需求顺序,secondary namenode一般和primary namenode运行在不同的机器上。
- secondary namenode的checkpoint流程开始由两个配置参数控制
- dfs.namenode.checkpoint.period,默认设置为1小时,定义了两次checkpoint的最大延迟。
- dfs.namenode.checkpoint.txns,默认设置为1million,定义了namenode的uncheckpoint业务的次数,即即使checkpoint period不到期,namenode也会强制进行紧急的checkpoint。
- checkpoint node—可读取
- namenode坚持namespace(命名空间)使用两个文件:fsimage(namespace的最近checkpoint)和edits(checkpoint后namespace的更改日志)。当namenode启动时,她整合fsimage和edits日志来提供文件系统元数据的最新视图。然后namenode用新的hdfs状态覆盖fsimage,并开始一个新的的edits日志。
- checkpoint node定期建立namespace的checkpoints。她从活动NameNode上下载fsimage和edits,在本地整合它们,并回传新的image到活动namenode。由于checkpoint node通常和NameNode运行在不同的机器上。checkpoint node通过在配置文件上指定的node上执行bin/hdfs namnode -checkpoint来启动。
- checkpoint(或者叫backup)node的位置和与之相应的web接口通过dfs.namenode.backup.address和dfs.namenode.backup.http-address配置变量来配置。
- checkpoint node把最新的checkpoint存储在一个文件夹中,这个文件夹有着和NameNode相同的目录结构。这使得checkpointed image在需要的情况下总是可以被NameNode读取。参见import checkpoint。
- 可以在集群配置文件中制定多个checkpoint node。
- backup node
- backup node提供和checkpoint node相同的checkpoint功能,也维护一个内存中的最新的文件系统命名空间副本,来同步活动NameNode状态。接受来自NameNode的文件系统edits的日志流并持久化到硬盘,backup node也把这些edits应用到它自己内存中的命名空间的副本,这样建立一个命名空间的备份。
- backup node不需要从活动NameNode上下载fsimage和edits来建立一个checkpoint,那是checkpoint node和secondary node需要做的事情,因为它已经有一个内存中最新的表空间状态。backup node的checkpoint流程更加有效,因为它只需要把表空间保存到当地fsimage文件并重置edits。
- 因为backup node维护一个内存中的表空间副本,它的RAM需求和那么node是一样的。
- namenode支持一次一个backupnode。如果一个backup node在使用中,则checkpoint node不能被注册。将来会支持同时使用多个backup node。
- backup node和checkpoint node有着同样的配置方式。通过bin/hdfs namenode -backup启动。
- backup 或者checkpoint node 的位置和对应的web接口通过dfs.namenode.backup.address和dfs.namenode.backup.http-address配置变量来配置。
- backup node的使用提供了运行namenode无持久存储的选项,承担了持久化表空间状态到backup node的责任。为了这样做,使用-importCheckpoint选项启动namenode的同时,需要在namnode配置中指定无edits类型的持久化存储目录dfs.namenode.edits.dir。
- 为了全面讨论建立backup和checkpoint node的背后动机,参见HADOOP-4539。
import checkpoint
- 如果其他所有的image和edits副本都丢失了,namenode可以引入最新的checkpoint。为了这样做需要:
- 建立一个在dfs.namenode.name.dir配置变量中指定的空目录
- 在dfs.namenode.checkpoint.dir配置变量中指定checkpoint的目录位置
- 使用-importCheckpoint选项启动namenode
- namenode会从dfs.namenode.checkpoint.dir目录中上传checkpoint,然后保存到namenode目录(dfs.namenode.name.dir设定)。如果一个合法的image在dfs.namenode.name.dir中存在,则namenode会启动失败。namenode验证在dfs.namenode.name.dir中的image是否一致连续,但是绝不更改它。
- 如果其他所有的image和edits副本都丢失了,namenode可以引入最新的checkpoint。为了这样做需要:
balancer
- rack awareness
- safemode
- fsck
- fetchdt
- recovery mode
- upgrade and rollback
- DataNode hot swap dirve
- file permissions and security
- scalability
- related Documentation
hadoop学习记录—2.7.4documentation—hdfs
最新推荐文章于 2022-04-21 12:14:42 发布