HA(High Availability高可用性)

简介

HA(High Availability高可用性)这里指的是hadoop的高可用机制,设计之初就是为了解决单节点故障问题。
HDFS(Hadoop分布式文件系统)中NameNode只有一个,当这个NameNode挂了,整个集群就不能对外服务,需要花很长时间才能修复正常,才能继续工作,生产中是不允许这种事情发生的。

它将最初的NN(主节点)的log日志进行了分布式存储,使文件存储更加安全;

并且对NN进行了监控,一旦NN出现故障就会立刻更换新的NN,对原有的NN进行替换,防止单节点故障的发生;

它装了两个NN,并且两个NN之间有隔离机制 (不能同时运行两台NN机器),若同时出现两台NN运行的情况,它会强制将先运行的那一台进行kill -9 。

运行原理

参考文章:HA 高可用集群概述及其原理解析

详细配置

参考文章:高可用集群(HA)配置

ha.cf

ha.cf

debugfile /var/log/ha-debug.log
logfile /var/log/ha.log
#bcast eth1   #心跳使用以太网广播方式,eth1为广播地址
# Bcast、ucast和mcast分别代表广播、单播 和多播,是组织心跳的三种方式,任选其一即可
ucast eth1 192.168.200.129  #单播形式与对方机器通信,与上者二选一
keepalive 2   #每2秒发一次广播
warntime 10   # 这个时间为警告时间,10s钟内没有收到对方节点的信号,则会发警告信息记录到日志里
deadtime 30   #30s内没有收到对方节点的信号则认为对方节点宕机,然后立即接管对方节点的服务
initdead 120  #这个时间是给重启系统留出来的等待时间,如果系统重启了那么网络服务不会立即正常使用
udpport 694   # 广播通信使用的端口
auto_failback on   # 如果是on, 则当主节点故障恢复后,服务还会切换回来
#虽然我们口头上约定好了node1  node2,但是若是主机名和这个不一致,会导致heartbeat启动不了。所以还得在每台机器上配置hostname
#查看本机hostname:uname -n
#	node	nodename ...	-- must match uname -n
node node1   #主节点主机名
node node2   #从节点主机名
ping 192.168.0.1    #仲裁节点,最好是一个比较强健的设备,比如说交换机
respawn hacluster /usr/lib/heartbeat/ipfail  
   #当heartbeat启动时也会随着一起启动的进程放到这里,ipfail是用来检测网络连通性的工具,hacluster为启动该程序的用户

hosts

hosts文件是一个没有扩展名的系统文件,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

一般情况下hosts文件的每行尾一个主机,每行由2~3部分组成,每个部分由空格隔开。

网络IP地址 主机名或域名 [主机名别名]
第一部分:网络IP地址;
第二部分:主机名或域名;
第三部分:主机名别名;

  1. 主备机要从hosts里选;
  2. 当前机器(uname -n)需要作为主机或备机;
  3. 另一台机器的ip需要在hosts已配置;

查看服务状态

前提 /etc/init.d/heartbeat 脚本需存在

[root@NetSeal2 ~]# /etc/init.d/heartbeat status
heartbeat OK
#heartbeat is stopped.

启停

[root@NetSeal2 ~]# /etc/init.d/heartbeat start
...
[root@NetSeal2 ~]# /etc/init.d/heartbeat stop
...

注意事项

  1. hosts文件配置映射ip和域名,域名必须是主备计算机名吗?
  2. HA通信,通过配置的node nodeName去hosts找IP,再通信吗?
  3. 虚IP为没有被占用的地址,设置完成后需与主机和备机都互通。尽量与主机或备机处于同一网段,至少保证与一台机器互通,便于调试。

设置主备后,对外可访问的IP为虚IP、主机IP、备机IP。通过访问虚IP,实现用户无感知主备切换服务。

机器1机器2
hosts文件
主节点配置
备节点配置
虚IP地址配置虚IP与机器1互通
机器1与机器2互通
虚IP与机器2互通
机器1与机器2互通
绑定网口能上网的任一网口能上网的任一网口
网口健康检查能上网的任一网口能上网的任一网口
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值