赞
踩
HDFS是一个分布式文件系统,用来实现大数据存储。是主从架构的,主节点为namenode,从节点为datanode。HDFS本质是将多台机器的文件系统进行逻辑上的合并。最终数据会写入每台机器的某一个目录中。在写的时候HDFS通过分块机制来实现分布式存储,默认按照128M来进行分块,并且每一个块文件在存储的时候会复制多份,默认保存3份。第一份写入任意一台机器,第二份写入与第一份同一个机架的机器,第三份写入另外一个机架的机器。HDFS适合的应用场景为一次写入,多次读取。文件会落地于磁盘,性能相对不高。
用于第一次启动HDFS之前进行格式化生成fsimage文件并初始化集群id信息。
汇报,可以打印集群当前的状态信息
安全模式状态操作,当HDFS启动时,会自动进入安全模式,等待所有的datanode进行汇报,与元数据进行比较,来保证数据是否丢失恢复。当发现数据丢失,当前所有存在的块/元数据中记录的块<=99.9%,会停留在安全模式,实现数据恢复,直到大于99.9%,会自动退出。
# 把某个namenode节点转换为Active状态,--forceactive:强制转换。 hdfs haadmin -transitionToActive --[forceactive] <serviceId> # 如果配置了自动切换的属性,不允许使用手动切换的命令。 # 把namenodev1节点转换为Active状态。 hdfs haadmin -transitionToActive --forceactive namenodev1 # 把Active的namenode状态转变为StandBy状态。 hdfs haadmin -transitionToStandby --[forceactive] <serviceId> # 如果配置了自动切换的属性,不允许使用手动切换的命令 # 把namenodev2节点转换为StandBy状态。 hdfs haadmin -transitionToStandby namenodev2 # 自动模式下切换状态 hdfs haadmin --failover --[forcefence] --[forceactive] #nn2:当前是active #nn1:要将nn1转成active hdfs haadmin -failover namenodev2 namenodev1 # 查看namenode的状态 hdfs haadmin -getServiceState <serviceId> hdfs haadmin -getServiceState namenodev1
检查文件系统中是否由数据丢失或者损坏,可以进行修复。
hdfs fsck /
hadoop2.2+ :支持HA,但只支持两个。
hadoop3.x:支持多个。
HA架构中datanode会给两个namenode都注册。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。