04_MyCat 集群部署( HAProxy + MyCat)

二、 軟件版本

操作系統(tǒng): CentOS-6.6-x86_64
JDK 版本: jdk1.7.0_72
HAProxy 版本: haproxy-1.5.16.tar.gz
MyCat 版本: Mycat-server-1.4-release-20151019230038-linux.tar.gz
MySQL 版本: mysql-5.6.26.tar.gz

三、 部署環(huán)境規(guī)劃

名稱 IP 主機(jī)名 配置
HAProxy 主機(jī) 1 192.168.175.202 mini2 -
MyCat 主機(jī) 1 192.168.175.200 huachao -
MyCat 主機(jī) 2 192.168.175.201 mini1 -
MySQL 主節(jié)點(diǎn) 192.168.175.200 huachao -
MySQL 從節(jié)點(diǎn) 192.168.175.201 mini1 -

四、MyCat 集群部署架構(gòu)圖如下:


圖解說(shuō)明:
??HAProxy 負(fù)責(zé)將請(qǐng)求分發(fā)到 MyCat 上, 起到負(fù)載均衡的作用,同時(shí) HAProxy 也能檢測(cè)到 MyCat 是否存
活, HAProxy 只會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到存活的 MyCat 上。如果一臺(tái) MyCat 服務(wù)器宕機(jī), HAPorxy 轉(zhuǎn)發(fā)請(qǐng)求時(shí)不會(huì)轉(zhuǎn)
發(fā)到宕機(jī)的 MyCat 上,所以 MyCat 依然可用。

五、 MyCat 節(jié)點(diǎn) 2 的部署

MyCat 主機(jī) 2( mini1, 192.168.175.201) 請(qǐng)參考02_MySQL主從復(fù)制 進(jìn)行對(duì)等部署和做相應(yīng)配置。
注意: huachao( 192.168.175.200) 和 mini1( 192.168.175.201) 中都要加上(或更新) 主機(jī)名映射配置

六、 配置 MyCat 狀態(tài)檢查服務(wù)( 在 MyCat 節(jié)點(diǎn)主機(jī)上配置)

??MyCat 服務(wù)主機(jī)( huachao、 mini1) 上需要增加 mycat 服務(wù)的狀態(tài)檢測(cè)腳本,并開(kāi)放相應(yīng)的檢測(cè)端口,以提供給 HAProxy 對(duì) MyCat 的服務(wù)狀態(tài)進(jìn)行檢測(cè)判斷。可以使用 xinetd 來(lái)實(shí)現(xiàn),通過(guò) xinetd,HAProxy 可以用 httpchk 來(lái)檢測(cè) MyCat 的存活狀態(tài)。( xinetd 即 extended internet daemon, xinetd 是新一代的網(wǎng)絡(luò)守護(hù)進(jìn)程服務(wù)程序,又叫超級(jí) Internet 服務(wù)器。經(jīng)常用來(lái)管理多種輕量級(jí) Internet 服務(wù)。xinetd 提供類似于 inetd+tcp_wrapper 的功能,但是更加強(qiáng)大和安全。 xinetd 為 linux 系統(tǒng)的基礎(chǔ)服務(wù))

  1. 如果 xinetd 還沒(méi)有安裝,可使用如下命令安裝:
    # yum install xinetd
  2. 檢查/etc/xinetd.conf 的末尾是否有 includedir /etc/xinetd.d ,沒(méi)有就加上
    # vi /etc/xinetd.conf
  3. 檢查 /etc/xinetd.d 目錄是否存在,不存在剛創(chuàng)建
    # mkdir /etc/xinetd.d/
  4. 增加 MyCat 存活狀態(tài)檢測(cè)服務(wù)配置
    # touch /etc/xinetd.d/mycat_status
    # vi /etc/xinetd.d/mycat_status
    增加以下內(nèi)容:
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
}

各項(xiàng)配置解釋如下,不能把下面帶注釋的配置復(fù)制到/etc/xinetd.d/mycat_status中,否則不生效

service mycat_status
{
  flags = REUSE
  ## 使用該標(biāo)記的 socket_type 為 stream,需要設(shè)置 wait 為 no
  socket_type = stream ## 封包處理方式, Stream 為 TCP 數(shù)據(jù)包
  port = 48700 ## 服務(wù)監(jiān)聽(tīng)端口
  wait = no ## 表示不需等待,即服務(wù)將以多線程的方式運(yùn)行
  user = root ## 執(zhí)行此服務(wù)進(jìn)程的用戶
  server =/usr/local/bin/mycat_status ## 需要啟動(dòng)的服務(wù)腳本
  log_on_failure += USERID ## 登錄失敗記錄的內(nèi)容
  disable = no ## 要啟動(dòng)服務(wù),將此參數(shù)設(shè)置為 no
}
  1. 添加 /usr/local/bin/mycat_status 服務(wù)腳本
    # touch /usr/local/bin/mycat_status
    # vi /usr/local/bin/mycat_status
    增加以下內(nèi)容:
#!/bin/bash
#/usr/local/bin/mycat_status.sh
# This script checks if a mycat server is healthy running on localhost.
# It will return:
# "HTTP/1.x 200 OK\r" (if mycat is running smoothly)
# "HTTP/1.x 503 Internal Server Error\r" (else)
mycat=`/usr/local/mycat/bin/mycat status | grep 'not running' | wc -l`
if [ "$mycat" = "0" ]; then
/bin/echo -e "HTTP/1.1 200 OK\r\n"
else
/bin/echo -e "HTTP/1.1 503 Service Unavailable\r\n"
fi
  1. 給新增腳本賦予可執(zhí)行權(quán)限
    # chmod a+x /usr/local/bin/mycat_status

  2. 在 /etc/services 中加入 mycat_status 服務(wù)
    # vi /etc/services
    在末尾加入:
    mycat_status 48700/tcp # mycat_status
    保存后, 重啟 xinetd 服務(wù)
    # service xinetd restart

  3. 驗(yàn)證 mycat_status 服務(wù)是否成功啟動(dòng)
    # netstat -antup|grep 48700


    能看到上圖這樣的信息,說(shuō)明服務(wù)配置成功。

  4. MyCat 服務(wù)主機(jī)的防火墻上打開(kāi) 48700 端口
    # vi /etc/sysconfig/iptables
    增加:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 48700 -j ACCEPT
    保存后重啟防火墻
    # service iptables restart
    腳本測(cè)試:
    # /usr/local/bin/mycat_status

七、 HAProxy 介紹

??HAProxy 官網(wǎng): http://www.haproxy.org/
??HAProxy 各版本的官方文檔: http://cbonte.github.io/haproxy-dconv/index.html
??HAProxy 是一款提供高可用性、負(fù)載均衡以及基于 TCP(第四層)和 HTTP(第七層)應(yīng)用的代理軟件,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案。
??HAProxy 目前主要有三個(gè)版本: 1.4、 1.5、 1.6, CentOS6.6 自帶的 RPM 包為 1.5 的。
??HAProxy1.5 版開(kāi)始, 支持 SSL、 DDoS 防護(hù)等功能,可看官網(wǎng)說(shuō)明:version 1.5 : the most featureful version, supports SSL, IPv6, keep-alive, DDoS protection,etc...
??MyCat 官方推薦使用 HAProxy 做 MyCat 的高可用負(fù)載均衡代理。

八、 HAProxy 的安裝( 192.168.175.202)

  1. 下載( 或上傳) haproxy-1.5.16.tar.gz/usr/local/src, 解壓安裝
[root@mini2 ~]# cd /usr/local/src/
#wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.16.tar.gz
[root@mini2 src]# ll
total 1328
-rw-r--r--. 1 root root 1359008 Mar 16  2016 haproxy-1.5.16.tar.gz
[root@mini2 src]# tar -zxf haproxy-1.5.16.tar.gz 
[root@mini2 src]# ll
total 1332
drwxrwxr-x. 9 root root    4096 Mar 13  2016 haproxy-1.5.16
-rw-r--r--. 1 root root 1359008 Mar 16  2016 haproxy-1.5.16.tar.gz
[root@mini2 src]# cd haproxy-1.5.16
[root@mini2 haproxy-1.5.16]# less README
  1. 如需了解安裝注意點(diǎn),可查看 HAProxy 的軟件說(shuō)明
    [root@edu-haproxy-01 haproxy-1.5.16]# less README
    注意:按Q退出less命令

  2. 安裝編譯所需的依賴包
    # yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  3. 編譯
    # make TARGET=linux2628 ARCH=x86_64 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 PREFIX=/usr/local/haproxy
    ## TARGET 是指定內(nèi)核版本,高于 2.6.28 的建議設(shè)置為 linux2628, Linux 操作系統(tǒng)內(nèi)核版本查看命令# uname -r, ARCH 指定系統(tǒng)架構(gòu), openssl pcre zlib 這三個(gè)包需要安裝不然不支持

  4. 創(chuàng)建安裝目錄 /usr/local/haproxy
    # mkdir /usr/local/haproxy

  5. 執(zhí)行安裝
    [root@mini2 haproxy-1.5.16]# make install PREFIX=/usr/local/haproxy

install -d "/usr/local/haproxy/sbin"
install haproxy "/usr/local/haproxy/sbin"
install -d "/usr/local/haproxy/share/man"/man1
install -m 644 doc/haproxy.1 "/usr/local/haproxy/share/man"/man1
install -d "/usr/local/haproxy/doc/haproxy"
for x in configuration architecture haproxy-en haproxy-fr; do \
              install -m 644 doc/$x.txt "/usr/local/haproxy/doc/haproxy" ; \
      done
  1. 創(chuàng)建配置文件目錄
    # mkdir -p /usr/local/haproxy/conf
    # mkdir -p /etc/haproxy/
  2. 從配置文件模版復(fù)制配置文件,并添加配置文件軟連接
    # cp /usr/local/src/haproxy-1.5.16/examples/haproxy.cfg /usr/local/haproxy/conf/
    # ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg
  3. 拷貝錯(cuò)誤頁(yè)面, 并添加目錄軟連接( HTTP 模式選配)
    # cp -r /usr/local/src/haproxy-1.5.16/examples/errorfiles /usr/local/haproxy/
    # ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles
  4. 拷貝開(kāi)機(jī)啟動(dòng)文件,并賦予可執(zhí)行權(quán)限
    # cp /usr/local/src/haproxy-1.5.16/examples/haproxy.init /etc/rc.d/init.d/haproxy
    # chmod +x /etc/rc.d/init.d/haproxy
  5. 添加 haproxy 命令腳本軟連接
    # ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin
  6. 設(shè)置 HAProxy 開(kāi)機(jī)啟動(dòng)
    # chkconfig --add haproxy
    # chkconfig haproxy on

九、 HAProxy 配置 MyCat 負(fù)載均衡集群

??HAProxy 支持 TCP(第四層)和 HTTP(第七層)應(yīng)用的代理, 本節(jié)課程我們使用 HAProxy 來(lái)做 MyCat的負(fù)載均衡代理使用的是 TCP 模式。在 4 層模式下 HAProxy 僅在客戶端和服務(wù)器之間轉(zhuǎn)發(fā)雙向流量。HAProxy配置簡(jiǎn)單,擁有非常不錯(cuò)的服務(wù)器健康檢查功能,當(dāng)其代理的后端服務(wù)器出現(xiàn)故障, HAProxy 會(huì)自動(dòng)將該服務(wù)器摘除, 故障恢復(fù)后會(huì)自動(dòng)將該服務(wù)器加入進(jìn)來(lái)?

  1. 修改 haproxy.cfg 配置文件
    具體參數(shù)說(shuō)明可參考官方配置文檔 /usr/local/haproxy/doc/haproxy/configuration.txt 或 GitHub 連接: http://cbonte.github.io/haproxy-dconv/configuration-1.5.html
    # vi /usr/local/haproxy/conf/haproxy.cfg
###################################################################################################
##
## 龍果學(xué)院 http://www.roncoo.com , 《基于Dubbo的分布式系統(tǒng)架構(gòu)視頻教程》
## 吳水成,840765167@qq.com
##
###################################################################################################

## global配置中的參數(shù)為進(jìn)程級(jí)別的參數(shù),通常與其運(yùn)行的操作系統(tǒng)有關(guān)
global
    log 127.0.0.1   local0  info ## 定義全局的syslog服務(wù)器,最多可以定義2個(gè)
    ### local0是日志設(shè)備,對(duì)應(yīng)于/etc/rsyslog.conf中的配置,默認(rèn)回收info的日志級(jí)別
    #log 127.0.0.1  local1 info
    chroot /usr/share/haproxy   ## 修改HAProxy的工作目錄至指定的目錄并在放棄權(quán)限之前執(zhí)行
                                ### chroot() 操作,可以提升 haproxy 的安全級(jí)別
    group   haproxy ## 同gid,不過(guò)這里為指定的用戶組名
    user    haproxy ## 同uid,但這里使用的為用戶名
    daemon  ## 設(shè)置haproxy后臺(tái)守護(hù)進(jìn)程形式運(yùn)行
    nbproc  1   ## 指定啟動(dòng)的haproxy進(jìn)程個(gè)數(shù),
                ### 只能用于守護(hù)進(jìn)程模式的haproxy;默認(rèn)為止啟動(dòng)1個(gè)進(jìn)程,
                ### 一般只在單進(jìn)程僅能打開(kāi)少數(shù)文件描述符的場(chǎng)中中才使用多進(jìn)程模式
    maxconn 4096    ## 設(shè)定每個(gè)haproxy進(jìn)程所接受的最大并發(fā)連接數(shù),
                    ### 其等同于命令行選項(xiàng)"-n","ulimit-n"自動(dòng)計(jì)算的結(jié)果正式參照從參數(shù)設(shè)定的
    # pidfile   /var/run/haproxy.pid    ## 進(jìn)程文件(默認(rèn)路徑 /var/run/haproxy.pid)
    node    edu-haproxy-01  ## 定義當(dāng)前節(jié)點(diǎn)的名稱,用于HA場(chǎng)景中多haproxy進(jìn)程共享同一個(gè)IP地址時(shí)
    description edu-haproxy-01  ## 當(dāng)前實(shí)例的描述信息

## defaults:用于為所有其他配置段提供默認(rèn)參數(shù),這默認(rèn)配置參數(shù)可由下一個(gè)"defaults"所重新設(shè)定
defaults
    log global  ## 繼承g(shù)lobal中l(wèi)og的定義
    mode    http    ## mode:所處理的模式 (tcp:四層 , http:七層 , health:狀態(tài)檢查,只會(huì)返回OK) 
    ### tcp: 實(shí)例運(yùn)行于純tcp模式,在客戶端和服務(wù)器端之間將建立一個(gè)全雙工的連接,
    #### 且不會(huì)對(duì)7層報(bào)文做任何類型的檢查,此為默認(rèn)模式
    ### http:實(shí)例運(yùn)行于http模式,客戶端請(qǐng)求在轉(zhuǎn)發(fā)至后端服務(wù)器之前將被深度分析,
    #### 所有不與RFC模式兼容的請(qǐng)求都會(huì)被拒絕
    ### health:實(shí)例運(yùn)行于health模式,其對(duì)入站請(qǐng)求僅響應(yīng)“OK”信息并關(guān)閉連接,
    #### 且不會(huì)記錄任何日志信息 ,此模式將用于相應(yīng)外部組件的監(jiān)控狀態(tài)檢測(cè)請(qǐng)求
    option  httplog
    retries 3
    option redispatch   ## serverId對(duì)應(yīng)的服務(wù)器掛掉后,強(qiáng)制定向到其他健康的服務(wù)器
    maxconn 2000    ## 前端的最大并發(fā)連接數(shù)(默認(rèn)為2000)
    ### 其不能用于backend區(qū)段,對(duì)于大型站點(diǎn)來(lái)說(shuō),可以盡可能提高此值以便讓haproxy管理連接隊(duì)列,
    ### 從而避免無(wú)法應(yīng)答用戶請(qǐng)求。當(dāng)然,此最大值不能超過(guò)“global”段中的定義。
    ### 此外,需要留心的是,haproxy會(huì)為每個(gè)連接維持兩個(gè)緩沖,每個(gè)緩存的大小為8KB,
    ### 再加上其他的數(shù)據(jù),每個(gè)連接將大約占用17KB的RAM空間,這意味著經(jīng)過(guò)適當(dāng)優(yōu)化后 ,
    ### 有著1GB的可用RAM空間時(shí)將維護(hù)40000-50000并發(fā)連接。
    ### 如果指定了一個(gè)過(guò)大值,極端場(chǎng)景中,其最終所占據(jù)的空間可能會(huì)超過(guò)當(dāng)前主機(jī)的可用內(nèi)存,
    ### 這可能會(huì)帶來(lái)意想不到的結(jié)果,因此,將其設(shè)定一個(gè)可接受值放為明智絕對(duì),其默認(rèn)為2000
    timeout connect 5000ms  ## 連接超時(shí)(默認(rèn)是毫秒,單位可以設(shè)置us,ms,s,m,h,d)
    timeout client  50000ms ## 客戶端超時(shí)
    timeout server  50000ms ## 服務(wù)器超時(shí)

## HAProxy的狀態(tài)信息統(tǒng)計(jì)頁(yè)面
listen admin_stats 
    bind    :48800  ## 綁定端口
    stats   uri /admin-status   ## 統(tǒng)計(jì)頁(yè)面URI
    stats   auth admin:admin    ## 設(shè)置統(tǒng)計(jì)頁(yè)面認(rèn)證的用戶和密碼,如果要設(shè)置多個(gè),另起一行寫(xiě)入即可
    mode    http
    option  httplog ## 啟用日志記錄HTTP請(qǐng)求

## listen: 用于定義通過(guò)關(guān)聯(lián)“前端”和“后端”一個(gè)完整的代理,通常只對(duì)TCP流量有用
listen  mycat_servers
    bind    :3306  ## 綁定端口
    mode    tcp
    option  tcplog  ## 記錄TCP請(qǐng)求日志
    option  tcpka   ## 是否允許向server和client發(fā)送keepalive
    option  httpchk OPTIONS * HTTP/1.1\r\nHost:\ www    ## 后端服務(wù)狀態(tài)檢測(cè)
    ### 向后端服務(wù)器的48700端口(端口值在后端服務(wù)器上通過(guò)xinetd配置)發(fā)送 OPTIONS 請(qǐng)求
    ### (原理請(qǐng)參考HTTP協(xié)議) ,HAProxy會(huì)根據(jù)返回內(nèi)容來(lái)判斷后端服務(wù)是否可用.
    ### 2xx 和 3xx 的響應(yīng)碼表示健康狀態(tài),其他響應(yīng)碼或無(wú)響應(yīng)表示服務(wù)器故障。
    balance roundrobin  ## 定義負(fù)載均衡算法,可用于"defaults"、"listen"和"backend"中,默認(rèn)為輪詢方式
    server  mycat_01 192.168.175.200:8066 check port 48700 inter 2000ms rise 2 fall 3 weight 10
    server  mycat_02 192.168.175.201:8066 check port 48700 inter 2000ms rise 2 fall 3 weight 10
    ## 格式:server <name> <address>[:[port]] [param*]
    ### serser 在后端聲明一個(gè)server,只能用于listen和backend區(qū)段。
    ### <name>為此服務(wù)器指定的內(nèi)部名稱,其將會(huì)出現(xiàn)在日志及警告信息中
    ### <address>此服務(wù)器的IPv4地址,也支持使用可解析的主機(jī)名,但要在啟動(dòng)時(shí)需要解析主機(jī)名至響應(yīng)的IPV4地址
    ### [:[port]]指定將客戶端連接請(qǐng)求發(fā)往此服務(wù)器時(shí)的目標(biāo)端口,此為可選項(xiàng)
    ### [param*]為此server設(shè)定的一系列參數(shù),均為可選項(xiàng),參數(shù)比較多,下面僅說(shuō)明幾個(gè)常用的參數(shù):
    #### weight:權(quán)重,默認(rèn)為1,最大值為256,0表示不參與負(fù)載均衡
    #### backup:設(shè)定為備用服務(wù)器,僅在負(fù)載均衡場(chǎng)景中的其他server均不可以啟用此server
    #### check:啟動(dòng)對(duì)此server執(zhí)行監(jiān)控狀態(tài)檢查,其可以借助于額外的其他參數(shù)完成更精細(xì)的設(shè)定
    #### inter:設(shè)定監(jiān)控狀態(tài)檢查的時(shí)間間隔,單位為毫秒,默認(rèn)為2000,
    ##### 也可以使用fastinter和downinter來(lái)根據(jù)服務(wù)器端專題優(yōu)化此事件延遲
    #### rise:設(shè)置server從離線狀態(tài)轉(zhuǎn)換至正常狀態(tài)需要檢查的次數(shù)(不設(shè)置的情況下,默認(rèn)值為2)
    #### fall:設(shè)置server從正常狀態(tài)轉(zhuǎn)換至離線狀態(tài)需要檢查的次數(shù)(不設(shè)置的情況下,默認(rèn)值為3)
    #### cookie:為指定server設(shè)定cookie值,此處指定的值將會(huì)在請(qǐng)求入站時(shí)被檢查,
    ##### 第一次為此值挑選的server將會(huì)被后續(xù)的請(qǐng)求所選中,其目的在于實(shí)現(xiàn)持久連接的功能
    #### maxconn:指定此服務(wù)器接受的最大并發(fā)連接數(shù),如果發(fā)往此服務(wù)器的連接數(shù)目高于此處指定的值,
    #####其將被放置于請(qǐng)求隊(duì)列,以等待其他連接被釋放
  1. 根據(jù)以上 HAProxy 配置文件要求做以下配置
    (1)添加 haproxy 用戶組和用戶
    # groupadd haproxy
    # useradd -g haproxy haproxy
    (2)創(chuàng)建 chroot 運(yùn)行的路徑
    # mkdir /usr/share/haproxy
    (3)防火墻中打開(kāi) 3306 端口和 48800 端口
    # vi /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 48800 -j ACCEPT
    重啟防火墻
    # service iptables restart

  2. 開(kāi)啟 rsyslog 的 haproxy 日志記錄功能
    ??默認(rèn)情況下 haproxy 是不記錄日志的,如果需要記錄日志,還需要配置系統(tǒng)的 syslog, 在 linux 系統(tǒng)中是 rsyslog 服務(wù)。 syslog 服務(wù)器可以用作一個(gè)網(wǎng)絡(luò)中的日志監(jiān)控中心, rsyslog 是一個(gè)開(kāi)源工具,被廣泛用于 Linux 系統(tǒng)以通過(guò) TCP/UDP 協(xié)議轉(zhuǎn)發(fā)或接收日志消息。 安裝配置 rsyslog 服務(wù):
    # yum install rsyslog ## 沒(méi)安裝的情況下執(zhí)行安裝
    # vi /etc/rsyslog.conf
    (1)把 $ModLoad imudp 和 $UDPServerRun 514前面的 # 去掉
    $ModLoad imudp ## 是模塊名,支持 UDP 協(xié)議
    $UDPServerRun 514
    允許 514 端口接收使用 UDP 和 TCP 協(xié)議轉(zhuǎn)發(fā)過(guò)來(lái)的日志,而 rsyslog 在默認(rèn)情況下,正是在 514 端口監(jiān)聽(tīng) UDP
    (2)確認(rèn) #### GLOBAL DIRECTIVES ####段中是否有 $IncludeConfig /etc/rsyslog.d/*.conf 沒(méi)有則增加上此配置, 增加后的效果:


    (3)# cd /etc/rsyslog.d/ ## rsyslog 服務(wù)會(huì)來(lái)此目錄加載配置
    # touch haproxy.conf## 創(chuàng)建 haproxy 的日志配置文件
    # vi /etc/rsyslog.d/haproxy.conf
    增加以下內(nèi)容:

local0.* /var/log/haproxy.log
&~

如果不加上面的的"&~"配置則除了在/var/log/haproxy.log 中寫(xiě)入日志外,也會(huì)寫(xiě)入/var/log/message文件中
(4)配置保存后重啟 rsyslog 服務(wù)
# service rsyslog restart

Shutting down system logger: [ OK ]
Starting system logger: [ OK ]

(等到 HAProxy 服務(wù)啟動(dòng)后,就能在/var/log/haproxy.log 中看到日志了)

  1. 配置系統(tǒng)內(nèi)核的 IP 包轉(zhuǎn)發(fā)功能
    # vi /etc/sysctl.conf
    net.ipv4.ip_forward = 1
    使配置生效
    # sysctl -p

  2. 啟動(dòng) HAProxy
    # service haproxy start
    # ps -ef | grep haproxy

haproxy 23921 1 0 23:27 ? 00:00:00 /usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p
/var/run/haproxy.pid
root 23924 23179 0 23:27 pts/1 00:00:00 grep haproxy
  1. 使用 MySQL 客戶端通過(guò) HAProxy 連接 MyCat
E:\MySQL-5.6.17-winx64\bin>mysql -uuser2 -proncoo.2 -h192.168.1.191 -P3306
mysql> show databases;
mysql> use rc_schema2;
mysql> show tables;
mysql> select * from edu_user;

寫(xiě)數(shù)據(jù)測(cè)試

mysql> insert into edu_user (userName, pwd) values('吳水成', 'roncoo.com');

然后查看 MySQL 中的數(shù)據(jù)庫(kù)插入及數(shù)據(jù)同步情況。

  1. 登錄 HAProxy 的狀態(tài)信息統(tǒng)計(jì)頁(yè)面
    http://192.168.175.202:48800/admin-status
    用戶名和密碼都是 admin, 對(duì)應(yīng)的 haproxy.cfg 配置片段

參考文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容