国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
hadoop分析之四:關(guān)于hadoop namenode的雙機熱備份方案
參考Hadoop_HDFS系統(tǒng)雙機熱備方案.pdf,試驗后有所增減
關(guān)于hadoopnamenode的雙機熱備份方案
1、        前言
目前hadoop-0.20.2沒有提供name node的備份,只是提供了一個secondary node,盡管它在一定程度上能夠保證對name node的備份,但當name node所在的機器出現(xiàn)故障時,secondary node不能提供實時的進行切換,并且可能出現(xiàn)數(shù)據(jù)丟失的可能性。
我們采用drbd +  heartbeat方案實現(xiàn)name node的HA。
采用drbd實現(xiàn)共享存儲,采用heartbeat實現(xiàn)心跳監(jiān)控,所有服務器都配有雙網(wǎng)卡,其中一個網(wǎng)卡專門用于建立心跳網(wǎng)絡(luò)連接。
2、        基本配置
2.1、硬件環(huán)境
采用VMWare的虛擬機作為測試機,一共三臺,其中兩臺分別提供2個網(wǎng)卡(其中一個用作網(wǎng)絡(luò)通訊,一個為heartbeat的心跳),和一個空白的大小相同的分區(qū)(供drbd使用)。軟件環(huán)境:RedHat Linux AS 5,hadoop-0.20.2, 大體情況如下圖:
主機
IP地址
分區(qū)
server1(name node)
eth0:10.10.140.140
eth1:10.0.0.201(heartbeat心跳使用此ip)
eth0:0:10.10.140.200(虛擬IP)
/dev/drbd0  Mounted on                /home/share
server2(data node)
eth0:10.10.140.117
server3(備份 name node)
eth0:10.10.140.84
eth1:10.0.0.203(heartbeat心跳使用此ip)
eth0:0:10.10.140.200(虛擬IP)
dev/drbd0  Mounted on                /home/share
2.1、網(wǎng)絡(luò)配置
2.2.1、修改server1和server3的hosts(相同)文件
vi /etc/hosts
10.10.140.140  server1
10.10.140.117  server2
10.10.140.84   server3
10.10.140.200  servervip
10.0.0.201     server1
10.0.0.203      server3
2.2.2、server1和server3的網(wǎng)絡(luò)配置如下:
server1的網(wǎng)絡(luò)配置:
[root@server1 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced MicroDevices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:18:65:F5
ONBOOT=yes
IPADDR=10.10.140.140
NETMASK=255.255.254.0
GATEWAY=10.10.140.1
TYPE=Ethernet
[root@server1 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Please read/usr/share/doc/initscripts-*/sysconfig.txt
# for thedocumentation of these parameters.
GATEWAY=10.0.0.1
TYPE=Ethernet
DEVICE=eth1
HWADDR=00:0c:29:18:65:ff
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=10.0.0.201
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Server3的網(wǎng)絡(luò)配置:
[root@server3 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced MicroDevices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:D9:6A:53
ONBOOT=yes
IPADDR=10.10.140.84
NETMASK=255.255.254.0
GATEWAY=10.10.140.1
TYPE=Ethernet
[root@server3 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Please read/usr/share/doc/initscripts-*/sysconfig.txt
# for thedocumentation of these parameters.
GATEWAY=10.0.0.1
TYPE=Ethernet
DEVICE=eth1
HWADDR=00:0c:29:d9:6a:5d
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=10.0.0.203
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
2.2.3、修改主機名
[root@server1 ~]#cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=server1
[root@server3 ~]#cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=server3
2.2.4、 關(guān)閉防火墻
[root@server1 ~]#chkconfig iptables off
[root@server3 ~]# chkconfig iptables off
3、        DRBD安裝與配置
3.1、DRBD的原理
DRBD(DistributedReplicated Block Device)是基于Linux系統(tǒng)下的塊復制分發(fā)設(shè)備。它可以實時的同步遠端主機和本地主機之間的數(shù)據(jù),類似與Raid1的功能,我們可以將它看作為網(wǎng)絡(luò) Raid1。在服務器上部署使用DRBD,可以用它代替共享磁盤陣列的功能,因為數(shù)據(jù)同時存在于本地和遠端的服務器上,當本地服務器出現(xiàn)故障時,可以使用遠端服務器上的數(shù)據(jù)繼續(xù)工作,如果要實現(xiàn)無間斷的服務,可以通過drbd結(jié)合另一個開源工具heartbeat,實現(xiàn)服務的無縫接管。DRBD的工作原理如下圖:
3.2、安裝
下載安裝包:wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz,執(zhí)行以下命令:
tar xvzf drbd-8.3.0.tar.gz
cd drbd-8.3.0
cd drbd
make clean all
cd ..
make tools
make install
make install-tools
驗證安裝是否正確:
# insmod drbd/drbd.ko 或者 # modprobe drbd
# lsmod | grep drbd
drbd                 220056  2
顯示則安裝正確。主要在server1上和和server3上都要安裝
3.3、配置
3.3.1、DRBD使用的硬盤分區(qū)
server1和server3分區(qū)的大小,格式必須相同。并且必須都為空白分區(qū),可以在裝系統(tǒng)前預留分區(qū),如果已經(jīng)安裝好的系統(tǒng),建議使用gparted工具進行分區(qū)。
使用方法可以參考:http://hi.baidu.com/migicq/blog/item/5e13f1c5c675ccb68226ac38.html
server1:ip地址為10.10.140.140,drbd的分區(qū)為:/dev/sda4
server3:ip地址為10.10.140.84,drbd的分區(qū)為:/dev/sda4
3.3.2、主要的配置文件
DRBD運行時,會讀取一個配置文件/etc/drbd.conf。這個文件里描述了DRBD設(shè)備與硬盤分區(qū)的映射關(guān)系,和DRBD的一些配置參數(shù)。
[root@server1 ~]#vi /etc/drbd.conf
#是否參加DRBD使用者統(tǒng)計.默認是yes
global {
usage-count yes;
}
# 設(shè)置主備節(jié)點同步時的網(wǎng)絡(luò)速率最大值,單位是字節(jié)
common {
syncer { rate 10M; }
# 一個DRBD設(shè)備(即:/dev/drbdX),叫做一個"資源".里面包含一個DRBD設(shè)備的主備#節(jié)點的相關(guān)信息。
resource r0 {
# 使用協(xié)議C.表示收到遠程主機的寫入確認后,則認為寫入完成.
protocol C;
net {
# 設(shè)置主備機之間通信使用的信息算法.
cram-hmac-alg sha1;
shared-secret"FooFunFactory";
allow-two-primaries;
}
syncer {
rate 10M;
}
# 每個主機的說明以"on"開頭,后面是主機名.在后面的{}中為這個主機的配置  on server1 {
device    /dev/drbd0;
#使用的磁盤分區(qū)是/dev/sda4
disk     /dev/sda4;
# 設(shè)置DRBD的監(jiān)聽端口,用于與另一臺主機通信
address   10.10.140.140:7788;
flexible-meta-disk  internal;
}
on server3 {
device   /dev/drbd0;
disk    /dev/sda4;
address  10.10.140.84:7788;
meta-disk internal;
}
}
3.3.3、將drbd.conf文件復制到備機上/etc目錄下
[root@server1 ~]#scp /etc/drbd.conf root@server3:/etc/
3.4、DRBD啟動
準備啟動之前,需要分別在2個主機上的空白分區(qū)上創(chuàng)建相應的元數(shù)據(jù)保存的數(shù)據(jù)塊:
常見之前現(xiàn)將兩塊空白分區(qū)徹底清除數(shù)據(jù)
分別在兩個主機上執(zhí)行
#dd if=/dev/zero  of=/dev/sdbX  bs=1M  count=128
否則下一步會出現(xiàn)
.........
Device size would be truncated,which
would corrupt data and result in
'access beyond end of device' errors.
You need to either
* use external meta data (recommended)
* shrink that filesystem first
* zero out the device (destroy thefilesystem)
Operation refused.
..........
分別在server1和server3上面執(zhí)行
3.4.1、#drbdadmcreate-md r0 創(chuàng)建元數(shù)據(jù)
確保成功后,接下來就可以啟動drbd進程了(在server01和server02同時啟用):
3.4.2 在server1和server3上分別執(zhí)行
[root@server01~]# /etc/init.d/drbd start 或servicedrbd start
StartingDRBD resources:    [ d(r0) s(r0) n(r0) ].
3.4.3 設(shè)置主節(jié)點
在server1執(zhí)行以下命令(第一次),設(shè)置server1為主節(jié)點,以后可以用 drbdadmprimary db
#drbdsetup /dev/drbd0 primary –o
3.4.4 查看連接
在第一次啟動會同步磁盤的數(shù)據(jù)。
3.4.5 對空白磁盤進行格式化并mount到文件系統(tǒng)中
此操作只在primary節(jié)點上執(zhí)行。
[root@server1 ~]# mkfs.ext2/dev/drbd0
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
655360inodes, 1309232 blocks
65461 blocks (5.00%) reserved forthe super user
First data block=0
Maximum filesystemblocks=1342177280
40 block groups
32768 blocks per group, 32768fragments per group
16384 inodes per group
Superblock backups stored onblocks:
32768, 98304, 163840, 229376, 294912,819200, 884736
Writing inode tables: done
Creating journal (32768 blocks):done
Writing superblocks and filesystemaccounting information: done
This filesystem will beautomatically checked every 35 mounts or
180 days, whichever comesfirst.  Use tune2fs -c or -i to override.
[root@server1 ~]# mount /dev/drbd0 /home/share
3.4.6 設(shè)置drbd開機時自動啟動
chkconfig--level 35 drbd on
3.5、DRBD測試
3.5.1 主備機手動切換
先卸載主機上drbd設(shè)備
[root@server1 ~]# umount /dev/drbd0
將server1降為從節(jié)點
[root@server1 ~]# drbdadm secondary r0
查詢server1的狀態(tài)
把server3升級為主節(jié)點
[root@server3 ~]# drbdadm primary r0
在server3上掛在到drbd設(shè)備上
[root@server3 ~]# mount /dev/drbd0 /home/share
查看server3的狀態(tài)
4、        Heartbeat的安裝與配置
4.1 Heartbeat的安裝
在server1和server3利用yum安裝heartbeat
[root@server1~]# yum install heartbeat
4.2             Heartbeat的配置
配置/etc/ha.d/ha.cf
1、使用下面的命令查找Heartbeat RPM包安裝后釋放的ha.cf樣本配置文件:
rpm -qd heartbeat | grepha.cf
2、使用下面的命令將樣本配置文件復制到適當?shù)奈恢茫?div style="height:15px;">
cp/usr/share/doc/packages/heartbeat/ha.cf /etc/ha.d/
3、編輯/etc/ha.d/ha.cf文件,取消注釋符號或增加以下內(nèi)容:
udpport 694
#采用ucast方式,使用網(wǎng)卡eth1在主服務器和備用服務器之間發(fā)送心跳消息。指定對端ip,即在server1上指定10.0.0.203,在server3上指定10.0.0.201
ucast eth1 10.0.0.203
4、同時,取消keepalive,deadtime和initdead這三行的注釋符號:
keepalive 2
deadtime 30
initdead 120
initdead行指出heartbeat守護進程首次啟動后應該等待120秒后再啟動主服務器上的資源,keepalive行指出心跳消息之間應該間隔多少秒,deadtime行指出備用服務器在由于主服務器出故障而沒有收到心跳消息時,應該等待多長時間,Heartbeat可能會發(fā)送警告消息指出你設(shè)置了不正確的值(例如:你可能設(shè)置deadtime的值非常接近keepalive的值以確保一個安全配置)。
5、將下面兩行添加到/etc/ha.d/ha.cf文件的末尾:
node server1
node server3
這里填寫主、備用服務器的名字(uname -n命令返回的值)
5、去掉以下注釋可以查看heartbeat的運行日志,對錯誤分析有很大幫助
debugfile /var/log/ha-debug
logfile /var/log/ha-log
配置 /etc/ha.d/authkeys
1、使用下面的命令定位樣本authkeys文件,并將其復制到適當?shù)奈恢茫?rpm -qd heartbeat | grep authkeys
cp/usr/share/doc/packages/heartbeat/authkeys /etc/ha.d
2、編輯/etc/ha.d/authkeys文件,取消下面兩行內(nèi)容前的注釋符號:
auth1
1 crc
3、確保authkeys文件只能由root讀?。?div style="height:15px;">
chmod 600/etc/ha.d/authkeys
4.3    在備用服務器上安裝Heartbeat
把配置文件拷貝到備用服務器上
[root@server1 ~]# scp -r/etc/ha.droot@server3:/etc/ha.d
4.4    啟動Heartbeat
1 在主服務器和備用服務器上把heartbeat配置為開機自動啟動
chkconfig --level 35 heartbeat on
2 手工啟停方法
/etc/init.d/heartbeat start
或者
service heartbeat start
/etc/init.d/heartbeat stop
或者
service heartbeat stop
5、        Hadoop主要配置文件的配置
提示:在啟動heartbeat前,應該先formatnamenode在drbd分區(qū)中產(chǎn)生元數(shù)據(jù)。
masters
servervip
slaves
server2
core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/home/share/hadoopdata/</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://servervip:9000</value>
<description>The name of the default file system.  A URI whose
schemeand authority determine the FileSystem implementation.  The
uri'sscheme determines the config property (fs.SCHEME.impl) naming
theFileSystem implementation class.  Theuri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property
<property>
<name>fs.checkpoint.dir</name>
<value>${hadoop.tmp.dir}/dfs/namesecondary</value>
<description>Determines where on the local filesystem the DFSsecondary
namenode should store the temporary images to merge.
Ifthis is a comma-delimited list of directories then the image is
replicated in all of the directories for redundancy.
</description>
</property
<property>
<name>fs.checkpoint.edits.dir</name>
<value>${fs.checkpoint.dir}</value>
<description>Determines where on the local filesystem the DFSsecondary
namenode should store the temporary edits to merge.
Ifthis is a comma-delimited list of directoires then teh edits is
replicated in all of the directoires for redundancy.
Default value is same as fs.checkpoint.dir
</description>
</property>
hdfs-site.xml
<property>
<name>dfs.name.dir</name>
<value>${hadoop.tmp.dir}/dfs/name</value>
<description>Determines where on the local filesystem the DFS
namenode should store the name table(fsimage). If this is a
comma-delimitedlist of directories then the name table is
replicated in all of the directories, for
redundancy.</description>
</property>
<property>
<name>dfs.name.edits.dir</name>
<value>${dfs.name.dir}</value>
<description>Determines where on the local filesystem the DFS
namenode should store the transaction (edits) file. If this is
acomma-delimited list of directories then the transaction file
isreplicated in all of the directories, for redundancy.
Default value is same as dfs.name.dir</description>
</property>
mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>servervip:9001</value>
<description>The host and port that the MapReduce job tracker runs
at.  If "local", then jobs are run in-processas a single map
andreduce task.
</description>
</property>
6、        通過haresource配置自動切換
如果不使用heartbeat的情況下,DRBD只能手工切換主從關(guān)系,現(xiàn)在修改heartbeat的配置文件,使DRBD可以通過heartbeat自動切換。
6.1 創(chuàng)建資源腳本
1、新建腳本hadoop-hdfs,用于啟停hdfs文件系統(tǒng),同理也可以建腳本hadoop-all,hadoop-jobtracker等資源文件,以hdfs為例內(nèi)容如下:
[root@server1 conf]# cat/etc/ha.d/resource.d/hadoop-hdfs
cd /etc/ha.d/resource.d
vi hadoop-hdfs
#!/bin/sh
case "$1" in
start)
# Start commands go here
cd /home/hadoop-0.20.2/bin
msg=`su - root -c "sh/home/hadoop-0.20.2/bin/start-dfs.sh"`
logger $msg
;;
stop)
# Stop commands go here
cd /home/hadoop-0.20.2/bin
msg=`su - root -c "sh/home/hadoop-0.20.2/bin/stop-dfs.sh"`
logger $msg
;;
status)
# Status commands go here
;;
2、修改權(quán)限
[root@server1 conf]# chmod755 /etc/ha.d/resource.d/hadoop-hdfs
3、 把腳本拷貝到備份機并同樣修改權(quán)限
[root@server1 conf]# scp/etc/ha.d/resource.d/hadoop-hdfs server3:                                                                                    /etc/ha.d/resource.d/
6.2 配置haresources
[root@server1 conf]# cat /etc/ha.d/haresources
server1 IPaddr::10.10.140.200 drbddisk::r0 Filesystem::/dev/drbd0::/home/share::ext2hadoop-hdfs
注釋:
Server1 主服務器名
10.10.140.200 對外服務IP別名
drbddisk::r0 資源drbddisk,參數(shù)為r0
Filesystem::/dev/drbd0::/home/share::ext2資源Filesystem,mount設(shè)備/dev/drbd0到/home/share目錄,類型為ext2
Hadoop-hdfs文件系統(tǒng)資源
7、         DRBD、heartbeat、hadoop聯(lián)調(diào)
7.1創(chuàng)建文件和目錄
1、在server1(主節(jié)點)上drbd和heartbeat運行著。由于heartbeat啟動后,虛擬地址10.10.140.200被分配到主節(jié)點上。用命令查看:
用命令cat /proc/drbd查看server1和server3是否通信正常,可以看到server1和server3分別為主從節(jié)點。
查看drbd分區(qū)是否掛載
2、查看hadoop dfs是否啟動,打開:http://10.10.140.200:50070/dfshealth.jsp
3、向hadoop上傳文件
創(chuàng)建一個目錄并上傳一個測試文件,
[root@server1hadoop-0.20.2]# bin/hadoop dfs -mkdir testdir
[root@server1 hadoop-0.20.2]# bin/hadoop dfs-copyFromLocal /home/share/temp2 testdir
查看文件:
7.2 主備機切換
1、在server1上停止heartbeat
[root@server1 /]# service heartbeat stop
Stopping High-Availabilityservices:
[  OK  ]
2、可以查看虛擬IP已經(jīng)切換到server3上了
3、驗證server3上查看hadoop文件系統(tǒng)
7.3 主備機再次切換
1、在server1上啟動heartbeat
[root@server1 /]# service heartbeatstart
Starting High-Availability services:
2012/07/25_15:03:31 INFO:  Resource is stopped
[  OK  ]
2、查看虛擬IP已經(jīng)切換到server1上。
3、驗證server1上查看hadoop文件系統(tǒng)
8、         其他問題
8.1 split brain問題處理
split brain實際上是指在某種情況下,造成drbd的兩個節(jié)點斷開了連接,都以primary的身份來運行。當drbd某primary節(jié)點連接對方節(jié)點準備發(fā)送信息的時候如果發(fā)現(xiàn)對方也是primary狀態(tài),那么會會立刻自行斷開連接,并認定當前已經(jīng)發(fā)生split brain了,這時候他會在系統(tǒng)日志中記錄以下信息:“Split-Brain detected,droppingconnection!”當發(fā)生split brain之后,如果查看連接狀態(tài),其中至少會有一個是StandAlone狀態(tài),另外一個可能也是StandAlone(如果是同時發(fā)現(xiàn)split brain狀態(tài)),也有可能是WFConnection的狀態(tài)。
1 節(jié)點重新啟動時,在dmesg中出現(xiàn)錯誤提示:
drbd0: Split-Brain detected, dropping connection!
drbd0: self055F46EA3829909E:899EC0EBD8690AFD:FEA4014923297FC8:3435CD2BACCECFCB
drbd0: peer 7E18F3FEEA113778:899EC0EBD8690AFC:FEA4014923297FC8:3435CD2BACCECFCB
drbd0: helper command: /sbin/drbdadm split-brain minor-0
drbd0: meta connection shut down by peer.
2在203查看cat/proc/drbd,203運行為StandAlone狀態(tài)
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829build by root@ost3, 2008-12-30 17:16:32
0: cs:StandAlone ro:Secondary/Unknownds:UpToDate/DUnknown r---
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0ua:0 ap:0 ep:1 wo:b oos:664
3在202查看cat /proc/drbd,202運行為StandAlone狀態(tài)
version: 8.3.0 (api:88/proto:86-89)
GIT-hash:9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@ost2, 2008-12-3017:23:44
0: cs:StandAlone ro:Primary/Unknownds:UpToDate/DUnknown r---
ns:0 nr:0 dw:4 dr:21 al:1 bm:0 lo:0pe:0 ua:0 ap:0 ep:1 wo:b oos:68
4 原因分析
由于節(jié)點重啟導致數(shù)據(jù)不一致,而配置文件中沒有配置自動修復錯誤的內(nèi)容,因而導致握手失敗,數(shù)據(jù)無法同步。
split brain有兩種解決辦法:手動處理和自動處理。
手動處理
1 在203上停止heartbeat
Heartbeat會鎖定資源,只有停止后才能釋放
/etc/init.d/heartbeat stop
2 在作為secondary的節(jié)點上放棄該資源的數(shù)據(jù)
在ost3上
/sbin/drbdadm -- --discard-my-dataconnect r0
3在作為primary的節(jié)點重新連接secondary
在ost2上
/sbin/drbdadm disconnect r0
/sbin/drbdadm connect r0
把ost2設(shè)置為主節(jié)點
/sbin/drbdadm primary r0
4在203上重新啟動heartbeat
/etc/init.d/heartbeat start
5 查看202狀態(tài) cat /proc/drbd,顯示為Connected,已經(jīng)恢復了正常。
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build byroot@ost2, 2008-12-30 17:23:44
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---
ns:768 nr:0 dw:800 dr:905 al:11 bm:10 lo:0 pe:0 ua:0 ap:0 ep:1wo:b oos:0
6查看203狀態(tài) cat/proc/drbd,顯示為Connected,已經(jīng)恢復了正常。
version: 8.3.0 (api:88/proto:86-89)
GIT-hash:9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@ost3, 2008-12-3017:16:32
0: cs:Connected ro:Secondary/Primaryds:UpToDate/UpToDate C r---
ns:0 nr:768 dw:768 dr:0 al:0 bm:10 lo:0pe:0 ua:0 ap:0 ep:1 wo:b oos:0
自動處理
通過/etc/drbd.conf配置中設(shè)置自動處理策略,在發(fā)生數(shù)據(jù)不一致時自動處理。自動處理策略定義如下:
1 after-sb-0pri.
當兩個節(jié)點的狀態(tài)都是secondary時,可以通過after-sb-0pri策略自動恢復。
1)disconnect
默認策略,沒有自動恢復,簡單的斷開連接。
2)discard-younger-primary
在split brain發(fā)生前從主節(jié)點自動同步。
3)discard-older-primary
在split brain發(fā)生時從變成primary的節(jié)點同步數(shù)據(jù)。
4)discard-least-changes
在split brain發(fā)生時從塊最多的節(jié)點同步數(shù)據(jù)。
5)discard-node-NODENAME
自動同步到名字節(jié)點
2 after-sb-1pri
當兩個節(jié)點的狀態(tài)只有一個是primary時,可以通過after-sb-1pri策略自動恢復。
1)disconnect
默認策略,沒有自動恢復,簡單的斷開連接。
2)consensus
丟棄secondary或者簡單的斷開連接。
3)discard-secondary
丟棄secondary數(shù)據(jù)。
4)call-pri-lost-after-sb
按照after-sb-0pri的策略執(zhí)行。
3 after-sb-2pri
當兩個節(jié)點的狀態(tài)都是primary時,可以通過after-sb-2pri策略自動恢復。
1)disconnect
默認策略,沒有自動恢復,簡單的斷開連接。
2)violently-as0p
按照after-sb-0pri的策略執(zhí)行。
3)call-pri-lost-after-sb
按照after-sb-0pri的策略執(zhí)行,并丟棄其他節(jié)點。
4 配置自動恢復
編輯/etc/drbd.conf,找到resource r0部分,配置策略如下,所有節(jié)點完全一致。
#after-sb-0pri disconnect;
after-sb-0pri discard-younger-primary;
#after-sb-1pri disconnect;
after-sb-1pri discard-secondary;
#after-sb-2pri disconnect;
after-sb-2pri call-pri-lost-after-sb;
參考資料:Hadoop_HDFS系統(tǒng)雙機熱備方案.pdf
DRBD安裝配置(主從模式)--詳細步驟圖文并茂.doc
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
drbd heartbeat(v1) mysql搭建高可用數(shù)據(jù)庫并保留原有硬盤數(shù)據(jù)(第2版...
Heartbeat+DRBD+MySQL高可用方案
生產(chǎn)環(huán)境下的高可用NFS文件服務器
Heartbeat+DRBD+NFS+Keepalived+Lnmp雙機熱備+負載均衡-線上方案
CentOS5系統(tǒng)安裝和配置HA+DRBD+MySQL筆記
CentOS6.5下DRBD+HeartBeat+NFS配置(一)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服