网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
DATANODE:负责文件数据的存储和读写操作,HDFS 将文件数据分割成若干数据块(Block),每个 DataNode存储一部分数据块,这样文件就分布存储在整个 HDFS 服务器集群中。
-
NameNode:负责整个分布式文件系统的元数据(MetaData)管理,也就是文件路径名、数据块的 ID以及存储位置等信息,相当于操作系统中文件分配表(FAT)的角色。
架构 2.0(高可用)
图上表述了一个集群大概的样子,有 3 个 DataNode(标准集群), 有两个 NameNode,一个是Active, 一个是 Standby, 每个 NameNode 节点都有开启 ZKFailoverController(简写ZKFC)守护进程,有3个JournalNode。
它是如何达到高可用呢?
1、首先,它有两个 NameNode,一个是 Active 的,一个是 Standby (备援状态)的,当 Active 宕机后,可以使用Standby的机器。
2、为了保证 Standby 的机器中,namespace和文件块与Active宕机之前一致,DataNode在向Active NameNode发送块的位置信息和“心跳”时,也要把这些信息发送给Standby NameNode,这样才能保证Standby中的文件块信息与Active NameNode中的数据一致。
3、为了保证 Standby NameNode 中的 namespace 与 Active NameNode 一致,Active NameNode 需要把所有对 namespace进 行的操作都要记录到 JournalNode.
4、作为Standby 的NameNode只要监控到JournalNode中namespace有更改日志,就合并到当前namespace,以保证 namespace 与 Active Namenode 一致。
=======================================================================
关键的配置文件
常见指令
命令格式:hdfs dfs [-operation] [option] [path_local] [path_hdfs]
安全模式
NN进程启动,此时NN正在从 fsimage 和 edits 日志文件加载系统信息(准确的说,应该是正在合并 fsimage 和 edits),并等待各 DN 上报各自数据块状态。然后 NN 自动进入安全模式检查数据块完整性。安全模式状态下的HDFS是不能执行写入操作,但可以执行读操作,检查结束并等到hadoop集群完成启动后退出安全模式。
副本率 = 实际副本数 除以 配置副本数,最低副本率可以在配置文件的 “dfs.namenode.safemode.threshold-pct” 配置项配置,表示当实际的副本率小于该值时,NN 就会自动在其他 DN 节点上复制副本。
启动安全模式:
hdfs dfsadmin -safemode enter
查看安全模式
hdfs dfsadmin -safemode get
关闭安全模式
hdfs dfsadmin -safemode leave
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
//bbs.csdn.net/topics/618545628)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!