wordpress 仿站命令,php网站开发环境,wordpress中文模板下载,餐厅网页设计素材在Hadoop2.0.0之前#xff0c;NameNode(NN)在HDFS集群中存在单点故障#xff08;single point of failure#xff09;#xff0c;每一个集群中存在一个NameNode#xff0c;如果NN所在的机器出现了故障#xff0c;那么将导致整个集群无法利用#xff0c;直到NN重启或者在… 在Hadoop2.0.0之前NameNode(NN)在HDFS集群中存在单点故障single point of failure每一个集群中存在一个NameNode如果NN所在的机器出现了故障那么将导致整个集群无法利用直到NN重启或者在另一台主机上启动NN守护线程。 主要在两方面影响了HDFS的可用性 1、在不可预测的情况下如果NN所在的机器崩溃了整个集群将无法利用直到NN被重新启动 2、在可预知的情况下比如NN所在的机器硬件或者软件需要升级将导致集群宕机。 HDFS的高可用性将通过在同一个集群中运行两个NNactive NN standby NN来解决上面两个问题这种方案允许在机器破溃或者机器维护快速地启用一个新的NN来恢复故障。 在典型的HA集群中通常有两台不同的机器充当NN。在任何时间只有一台机器处于Active状态另一台机器是处于Standby状态。Active NN负责集群中所有客户端的操作而Standby NN主要用于备用它主要维持足够的状态如果必要可以提供快速的故障恢复。 为了让Standby NN的状态和Active NN保持同步即元数据保持一致它们都将会和JournalNodes守护进程通信。当Active NN执行任何有关命名空间的修改它需要持久化到一半以上的JournalNodes上(通过edits log持久化存储)而Standby NN负责观察edits log的变化它能够读取从JNs中读取edits信息并更新其内部的命名空间。一旦Active NN出现故障Standby NN将会保证从JNs中读出了全部的Edits然后切换成Active状态。Standby NN读取全部的edits可确保发生故障转移之前是和Active NN拥有完全同步的命名空间状态。 为了提供快速的故障恢复Standby NN也需要保存集群中各个文件块的存储位置。为了实现这个集群中所有的Database将配置好Active NN和Standby NN的位置并向它们发送块文件所在的位置及心跳如下图所示 在任何时候集群中只有一个NN处于Active 状态是极其重要的。否则在两个Active NN的状态下NameSpace状态将会出现分歧这将会导致数据的丢失及其它不正确的结果。为了保证这种情况不会发生在任何时间JNs只允许一个NN充当writer。在故障恢复期间将要变成Active 状态的NN将取得writer的角色并阻止另外一个NN继续处于Active状态。 为了部署HA集群你需要准备以下事项 1、NameNode machines运行Active NN和Standby NN的机器需要相同的硬件配置 2、JournalNode machines也就是运行JN的机器。JN守护进程相对来说比较轻量所以这些守护进程可以可其他守护线程比如NNYARN ResourceManager运行在同一台机器上。在一个集群中最少要运行3个JN守护进程这将使得系统有一定的容错能力。当然你也可以运行3个以上的JN但是为了增加系统的容错能力你应该运行奇数个JN3、5、7等当运行N个JN系统将最多容忍(N-1)/2个JN崩溃。 在HA集群中Standby NN也执行namespace状态的checkpoints所以不必要运行Secondary NN、CheckpointNode和BackupNode事实上运行这些守护进程是错误的。 source : https://www.iteblog.com/archives/833.html#comments转载于:https://www.cnblogs.com/andy6/p/7487208.html