77范文网 - 专业文章范例文档资料分享平台

利用heartbeat和drbd实现HDFS的双机热备(2)

来源:网络收集 时间:2020-08-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

on-io-error detach; } net {

#见其他——split brain问题处理

after-sb-0pri discard-younger-primary;

after-sb-1pri discard-secondary; after-sb-2pri call-pri-lost-after-sb; rr-conflict disconnect; #incompatible resync decision } syncer { rate 10M; #(设置网络同步速率) al-extents 257; #A higher number of extents gives longer resync times but less updates to the meta-data. The default number of extents is 127. (Minimum: 7, Maximum: 3843)

}

# 每个主机的说明以\开头,后面是主机名.在后面的{}中为这个主机的配置.

on master {

# /dev/drbd1使用的磁盘分区是/dev/hdb1 device /dev/drbd0; disk /dev/sdb5; #/dev/hdb5; # 设置DRBD的监听端口,用于与另一台主机通信 address 192.168.123.42:7788; flexible-meta-disk internal; }

on backup {

device /dev/drbd0; disk /dev/sdb5; #/dev/hda5; address 192.168.123.46:7788; flexible-meta-disk internal; } }

3 将drbd.conf文件复制到备机上

scp /etc/drbd.conf backup:/etc

初始化drbd 1、加载模块

drbd采用的是模块控制的方式,所以先要加载drbd.ko 模块 #insmod drbd.ko或者modprobe drbd 使用lsmod来查看模块是否加载成功。 成功

Module Size Used by

nls_utf8 12493 1 isofs 39549 1 drbd 260222 4

2、主备创建数据块

drbdadm create-md r0

3、主备启动drbd

/etc/init.d/drbd start

bobo@master:~$ cat /proc/drbd version: 8.3.11 (api:88/proto:86-96)

srcversion: DA5A13F16DE6553FC7CE9B2

0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----- ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:2095004

bobo@backup:/etc$ cat /proc/drbd version: 8.3.11 (api:88/proto:86-96)

srcversion: DA5A13F16DE6553FC7CE9B2

0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----- ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:2095004

4、设置主节点

在master上执行以下命令,设置master为主节点: sudo drbdadm -- --overwrite-data-of-peer primary all

5、查看连接

netstat -atn的输出结果,说明两台机器的drbd服务已经连接上了:

tcp 0 0 192.168.1.42:57769 192.168.1.46:7788 ESTABLISHED tcp 0 0 192.168.1.42:7788 192.168.1.46:33762 ESTABLISHED

6、查看同步状态

cat /proc/drbd

主节点上执行这个命令后的结果,显示数据正在同步中: version: 8.3.11 (api:88/proto:86-96)

srcversion: DA5A13F16DE6553FC7CE9B2

0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----

ns:62464 nr:0 dw:0 dr:63264 al:0 bm:3 lo:7 pe:0 ua:8 ap:0 ep:1 wo:f oos:2032540 [>....................] sync'ed: 3.2% (2032540/2095004)K finish: 0:03:14 speed: 10,408 (10,408) K/sec

等待同步完毕

7、创建文件系统

在主节点上的设备/dev/drbd0上创建一个文件系统,可以把DRBD设备挂载到

/mnt/drbd目录上使用。从节点的DRBD设备无法被挂载,因为它是用来接收主机数据的,由DRBD负责操作。因此不需要这个过程。在master上执行:

mkfs.ext3 /dev/drbd0 mkdir /mnt/drbd

mount /dev/drbd0 /mnt/drbd 查看挂载结果: df

/dev/drbd0 30963708 176200 29214644 1% /mnt/drbd

8、设置drbd开机自动启动

chkconfig drbd on

主备机切换

有时,需要将DRBD的主备机互换一下,可以执行下面的操作: 1、在主节点上,先要卸载掉DRBD设备。 sudo umount /mnt/drbd0

2、将主节点master降级为“从节点”: sudo drbdadm secondary r0

3、在从节点backup上,将它升级为“主节点”: sudo drbdadm primary r0

4、在从节点backup上,挂载drbd设备 sudo mount /dev/drbd0 /mnt/drbd

drbd手动切换同步测试

1)在master上 cd /mnt/drbd

dd if=/dev/zero of=/mnt/drbd/testfile bs=104857600 count=2 umount /mnt/drbd drbdadm secondary all

2)在backup上 drbdadm primary all mkdir -p /mnt/drbd

mount /dev/drbd0 /mnt/drbd ls -l /mnt/drbd

可以看到文件testfile在主节点写入,在从节点马上可以看到。

heartbeat部署 安装heartbeat

先在主节点上安装,命令如下: sudo apt-get install heartbeat

配置

/etc/ha.d/ha.cf定义位于不同节点上的heartbeat进程间如何进行通信/etc/ha.d/authkeys 定义Heartbeat包在通信过程中如何进行加密

/etc/ha.d/haresources 定义对某个资源来说哪个服务器是主节点,以及哪个节点应该拥有客户端访问资源时的目标IP地址

配置/etc/ha.d/ha.cf

配置heartbeat守护进程使用交叉网络发送和接收心跳数据包。 1、 解压/usr/share/doc/heartbeat/ha.cf样本配置文件: sudo gunzip ha.cf.gz

2、 使用下面的命令将样本配置文件复制到适当的位置: sudo cp ha.cf /etc/ha.d/ha.cf

3、 编辑/etc/ha.d/ha.cf文件,取消注释符号或增加以下内容: logfile /var/log/ha-log #heartbeat的日志文件 udpport 694

#设置广播通信使用的端口,694为默认使用的端口号 ucast eth1 192.168.123.46

#采用单播ucast方式,使用网卡eth1在主服务器和备用服务器之间发送心跳消息。指定对端ip,即在master上指定192.168.123.46,在backup上指定192.168.123.42

4、 同时,取消keepalive,deadtime和initdead这三行的注释符号: keepalive 2

#心跳消息之间的时间间隔,默认时间单位为秒 deadtime 30

#超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。 warntime 10

#超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。 initdead 120

#在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。

5、添加下面两行: node master node backup

#这里填写主、备用服务器的名字(uname -n命令返回的值)。 6、使用Heartbeat重新启动守护进程

指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。 最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。在/etc/ha.d/ha.cf中使用下面这样一行:

ping 192.168.123.1 #一般ping网关,不能ping集群中的节点 respawn root /usr/lib/heartbeat/ipfail

apiauth ipfail gid=root uid=root #执行ipfail的用户和组ID

7、auto_failback的相关配置

用于决定,当拥有该资源的属主恢复之后,资源是否变迁:是迁移到主上(设置为on),还是在当前节点上继续运行,直到当前节点出现故障(off)。

auto_failback off

8、STONITH配置

stonith_host master null backup stonith_host backup null master

# stonith的主要作用是使出现问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争用一个资源的情形发生。保证共享数据的安全性和完整性。

配置/etc/ha.d/authkeys

authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。 其配置语句格式如下:

auth

[]

1、 将authkeys文件复制到适当的位置: cp /usr/share/doc/heartbeat/authkeys /etc/ha.d

2、 编辑/etc/ha.d/authkeys文件,取消下面两行内容前的注释符号: auth1 1 crc

3、 确保authkeys文件只能由root读取: chmod 600 /etc/ha.d/authkeys

配置/etc/ha.d/haresources

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库利用heartbeat和drbd实现HDFS的双机热备(2)在线全文阅读。

利用heartbeat和drbd实现HDFS的双机热备(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1144787.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: