91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Centos7 下實現 memcached + keepalived 高可用群集

發布時間:2020-07-13 02:59:48 來源:網絡 閱讀:631 作者:Cher1shDan 欄目:數據庫

memcached + keepalived 高可用群集

memcached介紹

Memcached是一套開源的高性能分布式內存對象緩存系統,它將所有的數據都存
儲在內存中,因為在內存中會統一維護一張巨大的Hash表,所以支持任意存儲類型的
數據。很多網站通過使用 Memcached提高網站的訪問速度,尤其是對于大型的需要頻
繁訪問數據的網站。
Memcached是典型的C/S架構,因此需要安裝 Memcached服務端與 Memcached
API客戶端。 Memcached服務端是用C語言編寫的,而 Memcached API客戶端可以用
任何語言來編寫,如PHP、 Python、Perl等,并通過 Memcached協議與 Memcached服
務端進行通信。

memcached主從復制+keepalived高可用框架介紹

Memcached服務器修改數據都會被同步到
另外一臺,但是 Memcached API客戶端是無法判斷連接到哪一臺 Memcached服務
器的,所以需要設置VP地址,提供給 Memcached Apl客戶端進行連接。可以使用
keepalived產生的VP地址連接主 Memcached服務器,并且提供高可用架構。

因為 Memcached主從復制這種架構,在程序連接主服務
器,在前端加VP地址,實現高可用架構。這里用 Keepalived實現,因而
Keepalived的作用是用來檢測 Memcached服務器的狀態是否正常。
Keepalived不斷檢測 Memcached主服務器的11211端口,如果檢測到 Memcached
服務發生宕機或者死機等情況,就會將VP從主服務器移至從服務器,從而實現
Memcached的高可用性。

實驗準備

一臺主服務器
需要安裝 magent memcached libevent keepalived
一臺從服務器
需要安裝 memcached libevent keepalived

實驗步驟

在主服務器和從服務器上安裝memcached 和 libevent

tar xzvf memcached-1.5.6.tar.gz
tar xzvf libevent-2.1.8-stable.tar.gz

cd libevent-2.1.8
./configure --prefix=/usr    ##指定安裝路徑

make && make install   

cd memcached-1.5.6
./configure --with-libevent=/usr

make && make install

ln -s /usr/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6    ##主服務器上magent服務需要這個模塊

在主服務器上安裝magent

mkdir /magent
tar xzvf magent-0.5.tar.gz

cd /magent
vim ketama.h
修改
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767

vim Makefile
LIBS = -levent -lm

make

cp magent /usr/bin   ##方便系統識別命令

在主服務器上把magent 復制到從服務器上

yum install openssh-clients
scp magent root@192.168.x.x:/usr/bin

在主服務器上安裝keepalived

vim /etc/keepalived/keepalived.conf
router—_id MAGENT_HA
刪除
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0

定義新函數
vrrp_script magent{
script"/opt/shell/magent.sh"
 interval 2       ##時間間隔
}

修改vrrp_instance下面
INTERFACE ens33
添加
track_script {
    magent
}        ## 使用新函數

定義一個虛擬IP
virtual_ipaddress {
    192.168.x.x
    }

下面多余的部分可以全部刪除

在從服務器上安裝keepalived

yum install keepalived 

從主服務器上把配置腳本復制到從服務器上
scp /etc/keepalived/keepalived.conf root@192.168.x.x.:/etc/keepalived/keepalived.conf

vim /etc/keepalived
router_id MAGENT_HB
state BACKUP     ##從服務器
virtual_router_id 52    ##ID不同
priortity 90     ##優先級

在主服務器上配置 magent腳本

mkdir /opt/shell
 vim /opt/shell/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.x.x -p 12000 -s 192.168.x.x:11211 -b 192.168.x.x:11211
else
pkill -9 magent
fi

-n 51200 //定義用戶最大連接數
-l 192.168.x.x //指定虛擬IP
-p 12000  //指定端口號
-s //指定主緩存服務器
-b //指定從緩存服務器

chmod +x magent.sh

在從服務器上配置 magent腳本

mkdir /opt/shell
 vim /opt/shell/magent.sh
 #!/bin/bash
 K=`ip addr | grep 192.168.x.x(虛擬IP) | grep -v grep | wc -l`
if [ $K -gt 0 ]; then
        magent -u root -n 51200 -l 192.168.x.x -p 12000 -s 192.168.x.x:11211 -b 192.168.x.x:11211
else
pkill -9 magent
fi  

chmod +x magent.sh

主從服務器開啟keepalived服務

systemctl start keepalived.service

netstat -ntap |grep 12000

如果有12000端口表示服務開啟成功

登錄memcached服務器

memcached -m 512k -u root -d -l 192.168.xx 主 -p  11211
memcached -m 512k -u root -d -l 192.168.x.x 從 -p  11211

netstat -ntap |grep 11211

有11211端口表示服務開啟成功

測試

在第三臺服務器上安裝 telnet
yum install telnet -y

telnet 192.168.x.x(虛擬IP) 12000
add username 0 0 7
1234567
Stored 
quit
## 通過虛擬IP登錄 并創建一個用戶

telnet 192.168.x.x(主/從服務器) 11211
get username
VALUE username 0 7
1234567
END
quit
##  在主從服務器上都能得到這個數據

在主服務器上關掉 memcached
pkill -9 memcached

192.168.x.x(虛擬IP) 12000
add username 0 0 7
1234567
Stored 
quit
## 通過虛擬IP 寫入數據

telnet 192.168.x.x(從服務器) 11211
get username
VALUE username 0 7
1234567
END
quit
## 從服務器依然能讀取到

至此 memcached+keepalived 高可用群集完成

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

囊谦县| 辛集市| 昭觉县| 富平县| 娱乐| 泰安市| 黎川县| 宝兴县| 宁蒗| 通化县| 竹溪县| 梓潼县| 和平区| 莲花县| 莆田市| 武威市| 拉萨市| 德钦县| 盐源县| 三台县| 天门市| 漳州市| 集安市| 吉木乃县| 平安县| 台南县| 许昌市| 宝应县| 界首市| 五峰| 泗洪县| 称多县| 姜堰市| 道孚县| 沙河市| 阳江市| 长治市| 全椒县| 柳州市| 静宁县| 澜沧|