HDFS集群中NameNode 存在单点故障问题,对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动。
影响HDFS集群不可用主要包括以下两种情况:
NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用。
计划需要对NameNode节点软件或硬件升级,导致集群在短时间内不可用。
为了解决上述问题,Hadoop给出了HDFS的 高可用 HA方案:HDFS的HA通常由两个NameNode组成,一个处于 active 状态,另一个处于 standby 状态。Active NameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。而这里的快速切换是如何实现的呢?是通过zookeeper的 动态上线感知 来实现的。
简单介绍下zookeeper是什么?
ZooKeeper 顾名思义 动物园管理员 ,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper是以Fast Paxos算法为基础,实现同步服务,配置维护和命名服务等分布式应用。这是zookeeper的官方介绍,对于程序原来说zookeeper在hadoop中的应用可以理解为是hadoop的整体监控系统,如果namenode宕机后,这时候Zookeeper 的重新选出leader。这是它最大的作用所在。
接下来看看zookeeper的 动态上线感知 图:
1、首先在hadoop中配置自动故障转移机制。
2、在配置HA的时候首先配置zookeeper集群,然后启动zookeeper集群。
3、在第一次启动hadoop的HA之前先初始化HA在zookeeper中的状态然后启动HA,在启动过程中会在各个NameNode节点上启动DFSZK Failover Controller,作用就是向zookeeper中注册服务器的信息,然后hadoop通过进程监控在zookeeper中的节点状态。
4、在zookeeper中注册的节点是临时节点,当服务器宕机下线的时候,zookeeper会把这个节点删除掉,这样才会产生事件,客户端(hadoop)才能监听到,然后hadoop将Standby NameNode转换为Active NameNode。
不同类型的服务器价格不同。 以ECS计算类型c5为例:2核4G-1年¥51840,4核8G-1年¥94800。
阿里云ECS云服务器租赁价格由三部分组成:
也就是说,云服务器配置成本+磁盘价格+网络宽带价格。 需要说明的是,不同地区的宽带价格也不同,因此不同地区的路由器的云服务器价格也不同。
阿里云服务器配置分为入门级配置和企业级配置。 云服务器的配置更换方法可以按容量(小时)计费,可以按月计费,也可以按年计费。
阿里云服务器各项配置的推荐:
进阶类型:2核4GB 1M 40G系统磁盘825元/年1,260元2年1,650元3年
适用于流量适中的网站应用程序,或简单的开发环境,代码存储库等。
企业专有类型:2核4GB 1M 100G系统磁盘(SSD磁盘)968元/年1599元2年1980年3年
计算能力可满足90%的云计算用户的需求,并且适用于业务运营,并行计算应用程序和常规数据处理服务。
理想类型:4核8GB 1M以上的高性能企业级云服务器
它适用于需要高计算性能的应用程序场景,例如企业运营活动,批处理,分布式分析,游戏应用程序等。
阿里云-云服务器ECS
单服务器容器规模指的是在一台服务器上运行多个容器实例的数量。这个数量通常受到服务器硬件资源的限制,如CPU、内存、磁盘空间等。对于一台具有良好硬件配置的服务器来说,可以运行数十甚至上百个容器实例。但是,容器的规模并不仅仅与硬件资源有关,还与应用程序的特性有关。例如,一个I/O密集型的应用程序会大量使用磁盘I/O,可能会使磁盘资源成为瓶颈,从而影响容器的规模。另一个例子是内存密集型应用程序,可能会需要大量的内存才能支持运行,从而限制容器的数量。
因此,在确定单服务器容器规模时,需要考虑应用程序的特性和硬件资源的限制,并进行实际测试和评估,以确定最适合的容器数量。同时,还需要考虑容器之间的互相影响,以避免容器间的资源竞争和瓶颈问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)