1. 程式人生 > >HaProxy+keepalived+mycat分散式高可用架構

HaProxy+keepalived+mycat分散式高可用架構

wKioL1gXW7-ih8EUAAEeIjG9-ME298.png-wh_50 

叢集部署圖的理解:

1、keepalive和haproxy必須裝在同一臺機器上,keepalived負責為該伺服器搶佔VIP。

2、192.168.1.107上的keepalived會搶佔VIP,搶佔VIP有優先順序,配置keepalived.conf中引數priority值越大優先越高,在同等情況下,keepalived伺服器啟動先得會先搶到VIP。

3、Harpoxy負責將對VIP的請求分發到mycat上,起到負載均衡的作用,同時haproxy也能檢測到mycat是否存活,haproxy只會將請求轉發到存活的mycat上。

4、如果一臺伺服器(keepalive+mycat)宕機,另外一臺上的keepalived會立刻搶佔vip並接管服務,如果一臺mycat伺服器宕機,haproxy轉發時候不會轉發到宕機的mycat上.

  • keepalived的安裝配置:

兩臺機器進行keepalived安裝,個別引數區別其他一致。

1、安裝:

#tar -zxvf  keepalived-1.2.19.tar.gz

# cd keepalived-1.2.19 &&./configure --prefix=/usr/local/keepalived &&make&& make install

不報錯,表示ok,有些系統可能需要安裝gcc這個依賴包

Yum –y install gcc

2、配置

cp/usr/local/keepalived/sbin/keepalived 

/usr/sbin/

cp/usr/local/keepalived/etc/sysconfig/keepalived/etc/sysconfig/

cp/usr/local/keepalived/etc/rc.d/init.d/keepalived/etc/init.d/

mkdir/etc/keepalived&& cd/etc/keepalived/

cp/usr/local/keepalived/etc/keepalived/keepalived.conf/etc/keepalived

mkdir-p /usr/local/keepalived/var/log

vi/etc/keepalived/keepalived.conf ####Master

! Configuration File for keepalived

global_defs {

  notification_email {

    [email protected]

    [email protected]

    [email protected]

   }

  notification_email_from [email protected]

   smtp_server192.168.200.1

  smtp_connect_timeout 30

   router_idLVS_DEVEL

}

vrrp_instance VI_1 {

    state MASTER  ##MASTER改成BACKUP

interface eth1   #和本機網絡卡介面名一致

   virtual_router_id 51

 priority 100    ###權重 ,SLAVE點改小於100就好

    advert_int 1

    authentication{

        auth_typePASS

        auth_pass1111

    }

   virtual_ipaddress {

192.168.1.219 dev eth1 scope global

    }

notify_master /etc/keepalived/scripts/haproxy_master.sh

notify_backup /etc/keepalived/scripts/haproxy_backup.sh

notify_fault /etc/keepalived/scripts/haproxy_fault.sh

notify_stop /etc/keepalived/scripts/haproxy_stop.sh

}

###到這裡可以測試下VIP的漂移功能。

二、安裝HAPROXY

1、安裝HAPROXY

#useradd  haproxy

tar -zxvfhaproxy-1.4.20.tar.gz

cdhaproxy-1.4.20 && make TARGET=linux26 PREFIX=/usr/local/haproxyARCH=X86_64 && make install PREFIX=/usr/local/haproxy

chown –R  haproxy.haproxy /usr/local/haprox

cd /usr/local/haproxy

編輯配置檔案haproxy.cfg,以提供,修改內容即可

2、haproxy記錄日誌,預設haproxy是不記錄日誌的,為了記錄日誌還需要配置syslog模組,在linux下是rsyslogd服務,

#yum –y installrsyslog先安裝rsyslog

yum安裝rsyslog 有這樣問題:

wKioL1gXXAPi9kPFAABxhJs4tOA997.png-wh_50

一般安裝好rsyslog會自動生成rsyslog.d這個目錄,若無自己建立

 #cd /etc/rsyslog.d/ && touch haproxy.conf

#vim /etc/rsyslog.d/haproxy.conf

$ModLoad imudp

$UDPServerRun 514

local0.* /var/log/haproxy.log ###這個必須和haproxy.cfg的配置檔案一致。

#vim /etc/rsyslog.cnf

wKiom1gXXCSxPZC9AAB7MGU5SJk178.png-wh_50

3、重啟服務

#service rsyslogrestart

現在你就可以看到日誌(/var/log/haproxy.log)了

到此haproxy+keepalived 的結合完畢,只需要在haproxy.cfg新增服務即可。

  • 配置監聽 mycat是否存活

192.168.1.112 192.168.1.113 上新增檢測埠48700,為此需要用到xinetd,xinetdLINUX系統基礎服務

1、若無xinetd服務,則安裝

#yum –y installxinetd

2、檢查/etc/xined.conf是否有:

wKioL1gXXEejs8mlAAAgos1XvQg213.png-wh_50若無,則新增。

3、新增/etc/xinetd.d/mycat_status,此目錄安裝後預設存在。

#vimmycat_status

service mycat_status

{

        flags          = REUSE

        socket_type    = stream

        port           = 48700

        wait           = no

        user           = root

        server         =/usr/local/bin/mycat_status

        log_on_failure += USERID

        disable        = no

}

4、把mycat_status新增到/etc/services服務中去

wKiom1gXXHPyhkgYAAA9nJACaRg738.png-wh_50

5、/usr/local/bin/mycat_status的指令碼,並設定許可權777

6、重啟服務、驗證mycat_status服務是否啟動成功

#service xinetd restart

#netstat –antup |grep 48700

wKiom1gXXKPRycFuAAAX4GEe1M4675.png-wh_50

  • 配置haproxy的指令碼指令碼,在/etc/keepalived目錄新增目錄sripts,存放haproxy的指令碼指令碼。

1、check_haproxy.sh

vi/etc/keepalived/scripts/check_haproxy.sh

##指令碼含義:如果沒有haproxy程序存在,就啟動haproxy,停止keepalived

#!/bin/bash

STARTHAPROXY="/usr/local/haproxy/sbin/haproxy -f/usr/local/haproxy/haproxy.cfg"

STOPKEEPALIVED="/etc/init.d/keepalived stop"

LOGFILE="/usr/local/keepalived/var/log/keepalived-haproxy-state.log"

echo"[check_haproxystatus]">>$LOGFILE

A=`ps-C haproxy --no-header |wc-l`

echo"[check_haproxystatus]">>$LOGFILE

date>>$LOGFILE

if[ $A-eq0 ];then

echo$STARTHAPROXY>> $LOGFILE

$STARTHAPROXY >> $LOGFILE  2>&1

sleep5

fi

if[`ps-C haproxy --no-header |wc-l` -eq0 ];then

exit0

else

exit1

fi

2haproxy_master.sh(masterslave一樣)

3haproxy_backup.sh(masterslave一樣)

4haproxy_fault.sh(masterslave一樣)

5haproxy_stop.sh

/etc/keepalived.conf配置檔案去掉#好,啟動這些指令碼

要給指令碼的許可權:777

wKioL1gXXOiRZa0BAAAerExqxPw625.png-wh_50

wKioL1gXXOmAhr3iAAA8yOS9ke8298.png-wh_50

5、重啟keepalived 服務

#Service keepalived restart

測試~~~Ing~~~~

相關推薦

HaProxy+keepalived+mycat分散式可用架構

  叢集部署圖的理解: 1、keepalive和haproxy必須裝在同一臺機器上,keepalived負責為該伺服器搶佔VIP。 2、192.168.1.107上的keepalived會搶佔

實現基於Haproxy+Keepalived負載均衡可用架構

keepalived+haproxy一:環境準備centos系統服務器4臺,兩臺用於做haproxy主從架構,兩臺作為後端server,服務器配置好yum源,防火墻關閉,關閉selinux,各節點時鐘服務同步,各節點之間可以通過主機名互相通信。二:安裝步驟1.iptables –F &&set

HaProxy+keepalived+mycat叢集可用配置

部署圖 叢集部署圖的理解: 1、keepalived和haproxy必須裝在同一臺機器上(如172.17.210.210.83機器上,keepalived和haproxy都要安裝),keepalived負責為該伺服器搶佔vip(虛擬ip),搶佔到vip後,對該主機的訪問

實現基於Haproxy_NAT+Keepalived負載均衡可用架構

haproxy實驗思路:1.做這個實驗首先可以想象一個場景,用戶訪問webserver的時候首先會經過調度器,首先需要明白的一點就是一般公司一般是在內網,客戶端是通過外網訪問webserver的。2.haproxy是一個負載均衡器,Keepalived通過VRRP功能能再結合LVS負載均衡軟件即可部署一個高性

基於DR模式的keepalived主從模式可用架構搭建

linuxkeepalived高可用一:架構圖示2.keepalived是什麽?Keepalived的作用是檢測服務器的狀態,如果有一臺web服務器宕機 ,或工作出現故障,Keepalived將檢測到,通過VRRP協議,將有故障的服務器從系統中剔除,同時使用其他服務器代替該服務器的工作,當服務器工作正常後 K

Memcached 主主復制+ Keepalived 實現 Memcached 可用架構集群

作用 代理 應用 進行 rep 高可用性 val gen backup Memcached +keepalived 高可用集群 Memcached 主主復制這種架構,在程序連接時不知道應該連接哪個主服務器,所以需要在前端增加 VIP 地址,實現高可用架構。這裏用 Keep

整個MHA+keepalived+lvs+mysql可用架構配置說明

dex diff vim could not 分區創建 pos ann 試驗 pts 整個MHA+keepalived+lvs+mysql高可用架構配置說明1.1. 環境簡介1.1.1、vmvare虛擬機,系統版本CentOS7.5 x86_64位最小化安裝,mysql的版

分散式可用架構學習筆記

      大型網站系統的系統架構需要考慮網站的業務架構和肺功能性架構,非功能性需要包括效能、可用性和可伸縮性。效能通過快取、負載叢集、非同步和後端代理實現。可用性需要考慮冗餘備份和故障恢復時間兩個方面

使用Haproxy,Keepalived,Tproxy實現可用透明反向代理

宣告 本文為Gleasy原創文章,轉載請指明引自Gleasy團隊部落格 一。需求場景 具體需求如下: 4臺Server,2臺為Proxy Server,2臺為Web Server,均為雙網絡卡; 1個公網IP(183.129.228.91); 要求如下: 1. 2臺Proxy Server反向代理2臺W

Nginx+Tomcat+lvs+Keepalived搭建的可用架構

上圖所示是用Nginx做前端伺服器,Tomcat做後端伺服器搭建的高可用架構,其中Memcache用來快取session,後端伺服器都從memcache中獲取session,避免了session不一致的問題。但是這個架構存在明顯的兩個問題: 一、如果前端的

Ubuntu編譯安裝HAprox+Keepalived+MySQL負載可用架構(結合Docker容器配置)

系統環境:Ubuntu16.04(Docker容器) 架構環境: Keepalived/HAproxy MASTER: 172.17.0.4 Keepalived/HAproxy BACKUP: 172.17.0.6 MySQL MASTER: 172.17.0.2 MySQL SLAVE: 172.17.0

HaProxy+Keepalived+Mycat可用群集配置

HaProxy+Keepalived+M概述 本章節主要介紹配置HaProxy+Keepalived高可用群集,Mycat的配置就不在這裏做介紹,可以參考我前面寫的幾篇關於Mycat的文章。 部署圖: 配置 HaProxy安裝181和179兩臺服務器安裝haproxy的步驟一致--創建haproxy用戶

分散式架構學習之:Keepalived+Nginx實現可用Web負載均衡

一、場景需求 二、Keepalived 簡要介紹 Keepalived 是一種高效能的伺服器高可用或熱備解決方案,Keepalived 可以用來防止伺服器單點故障的發生,通過配合 Nginx 可以實現 web 前端服務的高可用。 Keepalived 以 VRRP

[轉] HaproxyKeepalived雙主可用負載均衡

配置過程 virtual dev gnu 文本 tpch margin amp queue http://blog.chinaunix.net/uid-25266990-id-3989321.html 在測試了Nginx+Keepalived的負載均衡後,也對Haprox

Keepalived + Haproxy實現負載均衡可用

liunx haproxy 高可用基於LVS實現Keepalived的高可用見:http://amelie.blog.51cto.com/12850951/1979636負載均衡為將用戶並發請求轉發到後臺若幹服務器,以分流方式均衡負載。均衡負載借用的軟件,我們這裏是Haproxy。而負責轉發的服務器,我們稱之

Memcached主主復制+Keepalived可用架構

Memcached+Keepalived 實驗報告 第一、實驗環境: 第二、實驗步驟:配置memcached主緩存節點和從緩存節點-----兩臺配置相同解包:tar xf

Memcached主從復制+keepalived可用架構

wall grep -v start water ln -s cto 火墻 pow vip 實現主從復制和高可用的方式 Memcached主從復制是指在主Mencached服務器上修改數據都會被同步到其他服務器上,MemcachedAPI客戶端是無法判斷連接到那一臺Memc

CentOS 7 上部署Memcached 主主復制 + keepalived 可用架構

優先 instance fir ble src sha 編譯環境 改網卡名 max 實驗環境 Memcached主主復制是指在任意一臺Memcached服務器修改數據都會被同步到另外一臺,但是Memcached API客戶端是無法判斷連接到哪一臺Memcached服務器的,

在CentOS7上部署Memcached主主復制+Keepalived可用架構

track bin dba 1.8 修改 oot 腳本 ever defs 原理: Memcached主主復制是指在任意一臺Memcached服務器修改數據都會被同步到另外一臺,但是Memcached API客戶端是無法判斷連接到哪一臺Memcached服務器的,所以需要設

超詳細搭建Memcached主主復制+Keepalived可用架構

否則 keepaliv out virtual auth 報錯 blog 備機 stop 簡介 Memcached本身是基於內存的緩存,它的設計本身沒有冗余機制。如果一個Memcached節點失去了所有的數據,應用程序可以從數據源中再次獲取到數據,可以使用開源軟件Magen