C/S系统最重要的特征是:它不是一个主从环境,而是一个平等的环境,即C/S系统中各计算机在不同的场合既可能是客户机,也可能是服务器,进入90年代,C/S系统迅速流行,在于它有很多优点:用户使用简单,直观;编程,调试和维护费用低;系统内部负荷可以做到比较均衡,资源利用率较高;允许在一个客户机上运行不同计算机平台上的多中应用;系统易于扩展,可用性较好,对用户需求变的适应性好。
从技术角度看,C/S系统本质上是将70年代就提出的虚拟机器的概念使用于分布式计算机系统,其本质是实现功能的合理分布和处理的“无缝连接”。C/S系统的实用依赖于若干90年代才成熟的技术:首先由于以一系列标准为基础的开放式系统原则被普遍接受,为各种客户机,服务器之间提供中间件(Middleware)成为可能;第二,CASE工具,视窗技术,面向对象技术,分布式数据库技术等的成熟,为C/S系统环境下的编程,调试,运行提供了良好的条件;性能价格比迅速提高的计算机为开销甚大的分布式 *** 作系统提供了可接受的运行条件,使得分布式逻辑处理,分布式服务器等应用模式得以实现。
C/S系统已广泛用于中小型工商企业,机关等部门,由于通讯技术的进展,C/S系统在地域上可有较大的跨度。分布式服务器上下线动态感知(Hadoop HA)
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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)