CentOS7 集群配置

我一直以为的集群是一批服务器组成一个群体-有任务过来时快速分配,快速完成,所以在集群环境搭建好之后,我就傻眼了,为什么服务器A上Nginx启动,服务器B上Nginx就会停掉。
去百度百科查了概念,虽表述的不简洁,但勉强能懂,用我自己的话翻译一下:集群是将一些独立的服务器,通过集群技术组成组,即多合一的模式,对外提供服务。首先保证的是高可用性,其次是可扩展性。
高可用性:一直都能提供服务,如业界常说的5个9。集群实现的就是当服务器A坏了,服务器B能立马接管服务器A的职能,而广大客户是感知不到其中的变化的。
可扩展性:通俗地讲 可横向增加/减少服务器。


  1. 需求
    在硬负载没到位的情况下,使用Nginx提供负载服务。
  2. 可用环境
    同网段的IP地址尾号为20、25服务器,操作系统:CentOS7.1
  3. 检查工作
    因之前有过类似的经验,通过heartbeat启动VIP和Nginx服务,每隔一定时间进行健康检查,检测到主服务器坏时,切换到备服务器上,主服务器复原后,自动切回来。
    提前做如下检查:
    一:需要一个VIP -----可用IP 为26
    二:确定Nginx版本 -------CentOS7.1支持Nginx1.10.1
    三:确定CentOS7.1上是否可用Heartbeat-------Heartbeat已拆分成多个组件,改用pcs,pacemaker,corosync,fence-agents-all来实现。
  4. 部署
  1. 禁用防火墙和selinux
systemctl disable firewalld.service
systemctl stop firewalld.service

修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效

  1. 两节点主机名设置
vi /etc/hosts  #两台服务器一样配置
192.168.220.20 yd20
192.168.220.25 yd25
  1. 两节点ssh无密码密银访问设置
    在之前的文章Hadoop 2.7.1 搭建 有详细写过,这里不重写。
  2. 创建集群用户
    使用pacemaker管理
    每个节点上操作相同
passwd hacluster
#设置密码为hacluster2016
  1. 安装相应软件
yum install -y resource-agents pacemaker pcs corosync fence-agents-all
systemctl enable pcsd.service
systemctl enable corosync.service
systemctl enable pacemaker.service
systemctl start pcsd.service
systemctl start corosync.service
systemctl start pacemaker.service
  1. 集群节点之间认证
pcs cluster auth yd25 yd20
  1. 创建并启动集群
pcs cluster setup --start --name mycluster yd25 yd20
  1. 设置集群自启动
pcs cluster enable --all
  1. 查看集群状态信息
pcs cluster status
  1. 设置fence设备
    corosync默认启用了stonith,而当前集群并没有相应的stonith设备,因此此默认配置目前尚不可用,这可以通过如下命令验证:
[root@yd25 ~]# crm_verify -L -V
   error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined
   error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option
   error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity
[root@yd25 ~]# pcs property set stonith-enabled=false;
#关闭stonith
  1. 设置VIP
pcs resource create VIP ocf:heartbeat:IPaddr2 ip=192.168.220.26 cidr_netmask=24 nic=bond0 op monitor interval=30s

12)设置Nginx

pcs resource create Web nginx configfile=/etc/nginx/nginx.conf status10url="http://localhost/nginx_status" op monitor interval=1min

因参数statusurl改成status10url,在这阶段消耗了些时间。
可用pcs resource describe ocf:heartbeat:nginx 查看支持哪些参数

13)将VIP和Nginx设置同组

 pcs resource group add ydjq VIP
 pcs resource group add ydjq Web

非同组时会出现VIP在20服务器上,而Web是在25服务器上的情况。
14)配置服务启动顺序

pcs constraint order start Web then start VIP

我看到网上大部分人都是先启动VIP,然后再启动web服务的,个人觉得先保证Web正常后,再启动VIP-比较靠谱,因VIP启动后-就对外服务了,而如果此时Web还没有起来,接收到的请求就会报错。
15)指定优先的Location
原因:当服务器硬件配置不一样的,可通过该设置,优先使用硬件配置好的服务器。

pcs constraint localtion Web prefers yd20=50
pcs constraint localtion Web prefers yd25=45

因我两台服务器配置相同,未做此配置。

  1. 资源粘性
    实现:避免资源在节点间迁移-而引起的停止服务。
    控制服务保持在正在运行的节点上。
    Pacemaker为了达到最优分布各个资源的目的,默认设置这个值为0
pcs resource  defaults resource-stickiness=100

至此,集群配置完毕。

  1. 常用
  1. 手动切换
    两台都在online状态时,服务运行在yd20服务器上,想切换到yd25服务器上。
pcs cluster standby yd20

将服务器设置成备用节点时,服务就会切换走。

  1. 命令
查看集群状态:#pcs status
查看集群当前配置:#pcs config
开机后集群自启动:#pcs cluster enable --all
启动集群:#pcs cluster start --all
停止集群:#pcs cluster destroy --all
查看集群资源状态:#pcs resource show
设置节点为备用状态:#pcs cluster standby node1
取消节点备用状态:#pcs cluster unstandby node1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,924评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,902评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,716评论 0 239
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,783评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,166评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,510评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,784评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,476评论 0 196
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,196评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,459评论 2 243
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,978评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,321评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,964评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,046评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,803评论 0 193
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,530评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,420评论 2 265

推荐阅读更多精彩内容

  • 由于网络架构的原因,在一般虚拟机或物理环境中常见的用 VIP 来实现双机高可用方案,无法照搬到 Azure 平台。...
    ITknight阅读 655评论 0 0
  • 由于网络架构的原因,在一般虚拟机或物理环境中常见的用 VIP 来实现双机高可用方案,无法照搬到 Azure 平台。...
    ITknight阅读 400评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,097评论 18 139
  • 经历了这些天 与自己的心理对抗后 渐渐发现 折磨自己的 是自己的心 治愈好自己的 是自己的心 所以 你原本是谁 你...
    许叮叮阅读 163评论 0 1
  • 人生路上,走过的昨天,脚下的今天,面前的明天,都只有相对的意义。 所有的昨天都取得了成功,不等于今天也会收获成功。...
    溟夜星辰阅读 243评论 0 2