服务器宕机是每个服务商都会遇到的问题,一般有以下几种原因:
1.服务器性能
服务器的性能问题有很多,但最多见的应该就是SQL,但我们也不能一概而论,还有别的可能性,例如有些问题就是服务器Bug或错误行为导致的。另外,较差的Schema和索引设计也是较多的出错原因之一。
2.运行环境
如果是这个问题,那么最常见的就是磁盘空间消耗完了。
3.数据丢了或损坏
数据丢失也有很多原因,可能不是用户错误操作,也可能是人为攻击造成的,但一般来说是由drop table错误操作导致,通常出现这个问题都会伴随着缺少可用备份的问题。
4.复制
复制问题一般是由主备数据不一致导致的。
我们了解了这几项宕机原因,那么如何判断或查看服务器宕机原因呢?
(1)查看是否是误操作导致的
(2)查看是否是应用程序导致的
(3)查看是否是应用程序导致内存溢出或者泄露,out of memory导致
(4)查看是否是流量负载过大导致的
(5)查看是否是遭受黑客入侵攻击导致的
那我们查明是如原因后,我们又该如何去解决问题呢?
1.发现服务器宕机后,及时联系服务商解决相关问题,就算短暂的宕机也可能会造成较大的损失,请大家及时联系自己的服务商。
2.做好提前防范的准备。可以同时运行两个网站空间,备份内容,当一个出现问题,立刻启动另一个。
3.使用一款功能好的宕机监控第一时间智能处理,故障发生时可设置自动切换至备用IP,恢复后将切换回原IP,能够有效提高网站可用性和页面性能。有效规避风险降低成本。
不要用NetKeeper就可以啊!晕…真笨!用其他拨号连接软件,因为NetKeeper比较多的人用,在IP紧张的时候经常会出现IP与系统其他正在运行的IP起冲突,导致IP错误被强制下线……把IP设为自动获取,用其他软件拨号就可以了``分布式服务器上下线动态感知(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条)