溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Memcached高可用集群——keepalived

發(fā)布時(shí)間:2020-05-28 13:11:05 來(lái)源:網(wǎng)絡(luò) 閱讀:108 作者:wx5d3fd1efe40e3 欄目:系統(tǒng)運(yùn)維

內(nèi)容要點(diǎn)

一、magent介紹:

二、架構(gòu)部署:

一、magent介紹:


magent是一款開(kāi)源的代理服務(wù)軟件,我們可以通過(guò)它來(lái)實(shí)現(xiàn)緩存數(shù)據(jù)的同步,當(dāng)然這里說(shuō)的同步不是說(shuō)memcached之間就能互相通訊了, 而magent可以同時(shí)連接多個(gè)memcached節(jié)點(diǎn), 通過(guò)magent綁定的VIP從客戶端登錄memcached寫入數(shù)據(jù),其他節(jié)點(diǎn)的memcached數(shù)據(jù)也會(huì)同步。


二、架構(gòu)部署:


環(huán)境說(shuō)明:


角色需要安裝的軟件包
memcached主(IP地址:192.168.220.137)magent 、memcached 、libevent 、keeplived
memcached從(IP地址:192.168.220.135)memcached 、 libevent 、keeplived
客戶端(IP地址:192.168.220.131)telnet 測(cè)試工具
虛擬ip(192.168.220.100)


第一步:配置 memcache 主緩存節(jié)點(diǎn)和從緩存節(jié)點(diǎn)(兩臺(tái)服務(wù)器配置相同)

1、安裝依賴包:

yum?install?gcc?gcc-c++?make?-y


2、解壓軟件包:


1、tar?zxvf?memcached-1.5.6.tar.gz?-C?/opt/

2、tar?zxvf?libevent-2.1.8-stable.tar.gz?-C?/opt/

3、mkdir?/opt/magent
tar?zxvf?magent-0.5.tar.gz?-C?/opt/magent/


3、編譯和安裝:


1、
cd?/opt/libevent-2.1.8-stable
./configure?--prefix=/usr/
make?&&?make?install

2、
cd?/opt/memcached-1.5.6
./configure?\
--with-libevent=/usr
make?&&?make?install


4、創(chuàng)建軟連接:

ln?-s?/usr/lib/libevent-2.1.so.6?/usr/lib64/libevent-2.1.so.6


第二步:部署主服務(wù)器 ----- 安裝 magent代理,從服務(wù)器不需要

1、cd?/opt/magent

vim?ketama.h
在開(kāi)頭處增減以下代碼:
#ifndef?SSIZE_MAX
#define?SSIZE_MAX?32767
#endif


vim?Makefile
LIBS?=?-levent?-lm???//加上?-lm


2、修改完成后 make 編譯


3、此時(shí),make完成后,就會(huì)產(chǎn)生 magent可執(zhí)行程序

Memcached高可用集群——keepalived

4、將這個(gè) magent 程序復(fù)制到path環(huán)境變量中

cp?magent?/usr/bin/


5、可以將安裝好的 magent 復(fù)制到從服務(wù)器,這樣從服務(wù)器就不需要再配置了


yum?install?openssh-clients?-y???//安裝工具包
scp?magent?root@192.168.220.135:/usr/bin/


第三步:在主從服務(wù)器上都安裝 keepalived,并部署

(1)主服務(wù)器:

yum?install?keepalived?-y????//安裝keepalived


修改配置文件:


vim?/etc/keepalived/keepalived.conf

//定義一個(gè)函數(shù),建議寫在最前面
vrrp_script?magent?{
????????script?"/opt/shell/magent.sh"
????????interval?2
??????}
??????
做如下修改:
router_id?MAGENT_HA????????//修改id名
interface?ens33????????????//修改網(wǎng)卡信息
virtual_ipaddress?{
????????192.168.220.100?????//定義好虛擬ip地址
????}???
????
vrrp_instance?VI_1?{
.....
//調(diào)用函數(shù).以下三行代碼寫在vrrp模塊內(nèi)
track_script?{
????????magent
??????}
.....


(2)從服務(wù)器:


vim?/etc/keepalived/keepalived.conf

做如下修改:
router_id?MAGENT_HB?????????//id名和第一臺(tái)要不一樣
state?BACKUP???????????????//從服務(wù)器
virtual_router_id?52???????//id號(hào)和第一臺(tái)不一樣
priority?90?????????????????//優(yōu)先級(jí)低與主服務(wù)器


第四步:配置主、從服務(wù)器腳本

(1)創(chuàng)建一個(gè)腳本:

mkdir?/opt/shell


(2)編寫:


vim?magent.sh

#!/bin/bash
K=`ps?-ef?|?grep?keepalived?|?grep?-v?grep?|?wc?-l`
if?[?$K?-gt?0?];?then
????magent?-u?root?-n?51200?-l?192.168.220.100?-p?12000?-s?192.168.220.137:11211?-b?192.168.220.135:11211
else
pkill?-9?magent
fi

//
-n?51200?????????????//定義用戶最大連接數(shù)
-l?192.168.220.100???//指定虛擬IP
-p?12000?????????????//指定端口號(hào)
-s???????????????????//指定主緩存服務(wù)器
-b???????????????????//指定從緩存服務(wù)器

(3)給腳本添加一個(gè)執(zhí)行權(quán)限:

chmod?+x?magent.sh


systemctl?stop?firewalld.service???//必須關(guān)閉否則magent不啟動(dòng)
setenforce?0


(4)開(kāi)啟 keepalived 服務(wù)


systemctl?start?keepalived.service
netstat?-anpt?|?grep?12000?//確認(rèn)magent運(yùn)行,端口正常運(yùn)行

(5)驗(yàn)證主從 :


1、主服務(wù)器 ----- 查看 /var/log/messages 文件,找到關(guān)鍵詞:Transition to MASTER STATE

Memcached高可用集群——keepalived

2、從服務(wù)器 ----- 找到關(guān)鍵詞:Entering BACKUP STATE

Memcached高可用集群——keepalived

(6) ip addr 命令 ----- 確定漂移地址生效:

Memcached高可用集群——keepalived


第五步:?jiǎn)?dòng)主 、從服務(wù)器

(1)啟動(dòng)主服務(wù)器:

memcached?-m?512k?-u?root?-d?-l?192.168.220.137?-p?11211


(2)啟動(dòng)從服務(wù)器:

memcached?-m?512k?-u?root?-d?-l?192.168.220.135?-p?11211


(3)查看端口是否正常開(kāi)啟:

netstat?-anptu?|?grep?11211

第六步:客戶機(jī)測(cè)試


1、先安裝 Telnet 工具:

yum?install?telnet?-y


2、測(cè)試:


使用漂移地址登錄連接:

telnet?192.168.220.100?12000


Memcached高可用集群——keepalived


在客戶機(jī)上操作,寫入一個(gè)數(shù)據(jù),同時(shí)觀察主、從服務(wù)器上是否會(huì)同步生成:


Memcached高可用集群——keepalived


(1)主服務(wù)器:


Memcached高可用集群——keepalived


(2)從服務(wù)器:


Memcached高可用集群——keepalived


3、雙機(jī)熱備:


(1)停掉主服務(wù)器:

systemctl?stop?keepalived.service


(2)客戶機(jī)依舊可以連接:

Memcached高可用集群——keepalived


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI