Pacemaker部署

 

以下是关于Pacemaker的部署,关于Pacemaker的介绍请参考http://blog.csdn.net/big1980/article/details/9768067

 

 

 

部署环境

虚拟机2台(1G内存,40G硬盘,ubuntu操作系统)

hadoop2-virtual-machine1   10.10.11.252 

hadoop3-virtual-machine5   10.10.11.160

 

部署步骤

 

1. 安装Pacemaker

分别在两台机器上安装Pacemaker,直接apt-get install pacemaker安装。安装Pacemaker的时候,与之相关的软件包也会被安装,如下

 

2. 配置Pacemaker

 

Pacemaker的配置包括两部分,corosync的配置以及Pacemaker自己本身的配置。

 

1) corosync配置

 

a.  配置corosync密钥

在hadoop2-virtual-machine中,切换到root用户下

su root

b.  生成corosync密钥,为集群节点间的通信提供授权服务

corosync-keygen   //默认在/etc/corosync中创建authkey文件

 

修改生成的authkey文件的权限为0400

chmod 0400 /etc/corosync/authkey

 

把authkey文件scp到hadoop3-virtual-machine相应目录中

scp /etc/corosync/authkey hadoop3-virtual-machine:/etc/corosync

 

c.  配置/etc/corosync/corosync.conf文件

拷贝该目录下corosync.conf.example文件的内容到corosync.conf中。

cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf 

 

修改相应配置如下:

# Please read the openais.conf.5 manual page  

compatibility: whitetank  

   

aisexec {  

        # Run as root - this is necessary to be able to manage resources with Pacemaker  

        user: root  

        group: root  

}  

   

service {  

        # Load the Pacemaker Cluster Resource Manager  

        name: pacemaker  

        ver: 0  

        use_mgmtd: yes  

        use_logd: yes  

}  

   

totem {  

        # Version of current configuration.   

        version: 2  

        # Whether enable encryption or not  

        secauth: off   

        # How many threads to use for encryption/decryption  

        threads: 0  

        interface {  

                ringnumber: 0  

                bindnetaddr: 10.10.0.0  #此处为bindnetaddr=iface.addr & iface.netmask。此处10.10.11.252 & 255.255.0.0 =10.10.0.0

                mcastaddr: 226.94.1.1  #组播地址,节点间会通过这个地址对本网段地址进行广播,默认即可

                mcastport: 5405  

        }  

}  

   

logging {  

        fileline: off  

        to_stderr: no  

        to_logfile: yes  

        to_syslog: yes  

        logfile: /var/log/corosync/corosync.log  #此处配置日志文件的路径

        debug: off  

        timestamp: on  

        logger_subsys {  

                subsys: AMF  

                debug: off  

        }  

}  

   

amf {  

        mode: disabled  

 

关于配置项更多说明请参考帮助文档

man 5 corosync.conf

 

拷贝corosync.conf到hadoop3-virtual-machine相应目录下。

scp /etc/corosync/corosync.conf hadoop3-virtual-machine:/etc/corosync

 

d.  在两台机器上分别建立日志目录/var/log/corosync

mkdir /var/log/corosync/

 

e.  在两台机器上启动corosync并设置corosync开机启动

service corosync start  或 /etc/init.d/corosync start

chkconfig  --level 2345 corosync on

 

注:如果启动corosync时无反应也不报错,修改/etc/default/corosync文件,把START=no改为START=yes

 

f.  查看启动状态

 

查看corosync是否正常启动

grep -e "Corosync Cluster Engine" -e "configuration file" /var/log/corosync/corosync.log

 

查看是否初始化节点

grep TOTEM /var/log/corosync/corosync.log 

 

查看Pacemaker启动状态

grep pcmk_startup /var/log/corosync/corosync.log

 

查看错误信息

grep ERROR: /var/log/corosync/corosync.log | grep -v unpack_resources 

 

查看集群状态

crm_mon

 

2) Pacemaker配置

Pacemaker的配置其实就是对集群资源、启动规则及集群参数的配置。应该根据具体应用去配置,这里就不再介绍,请参考hadoop热备实例配置http://blog.csdn.net/rzhzhz/article/details/7162967,以下为简略介绍。

crm configure进入cib配置模式。更多配置命令请参考帮助(如crm -help)或

 http://blog.csdn.net/rzhzhz/article/details/7108405 ,http://www.clusterlabs.org/doc/crm_cli.html

 

集群资源:所谓资源即集群中节点上运行的任何类型的服务,如 数据库,DRBD,VIP等可用脚本运行的服务。

如配置一个VIP资源:

crm(live)configure# primitive VIP ocf:heartbeat:IPaddr2 \  

params ip=10.10.12.188 cidr_netmask=32 \  

op monitor interval=20s timeout=30s

 

启动规则:规则也被Pacemaker称之为约束,它提供了三种类型的约束——rdering, colocation , anti-colocation。

如:

crm(live)configure# order HADOOP-after-VIP inf: VIP HADOOP 

 

集群参数:

如:

crm(live)configure# property no-quorum-polic=ignore


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐