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

溫馨提示×

溫馨提示×

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

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

Memcached高可用群集的示例分析

發布時間:2021-11-04 17:32:51 來源:億速云 閱讀:171 作者:柒染 欄目:建站服務器

這篇文章給大家介紹Memcached高可用群集的示例分析,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Memcached的特點:

1.在Memcached中可以保存的item數據量是沒有限制的,只要內存足夠;
2.Memcached單進程最大使用內存為2GB,要使用更多內存,可以分別在不同端口啟動多個Memcached進程;
3.Memcached是一種無阻塞的socket通信方式的服務,基于libevent庫,由于無阻塞通信,對內存讀寫速度非常之快;
4.Memcached分為服務器和客戶端,可以配置多個服務器和客戶端,應用于分布式的服務非常廣泛;
5.Memcached作為小規模的數據分布式平臺是非常高效的;

服務器IP地址軟件包
主Memcached192.168.5.129libevent-2.1.8-stable.tar.gz、memcached-1.5.9.tar.gz、magent-0.5.tar.gz、keepalived
從Memcached192.168.5.139libevent-2.1.8-stable.tar.gz、memcached-1.5.9.tar.gz、magent-0.5.tar.gz、keepalived
Client192.168.5.141telnet

搭建Memcached服務器

Memcached服務器在兩臺服務器上都需要搭建,方式完全相同,在安裝memcached服務器是需先安裝libevent,然后再安裝memcached。

安裝環境包

yum -y install gcc gcc-c++ make

編譯安裝libevent(必須先安裝)

#解壓
tar zxvf libevent-2.1.8-stable.tar.gz -C /opt

#切換到libevent目錄
cd /opt/libevent-2.1.8-stable/

#配置
./configure --prefix=/usr/

#編譯及安裝
make && make install

編譯安裝memcached

#解壓
tar zxvf memcached-1.5.9.tar.gz -C /opt/

#切換到memcached
cd /opt/memcached-1.5.9/

#配置(指定libevent路徑)
./configure --with-libevent=/usr/

#編譯及安裝
make && make install

優化啟動(支持復制功能的Mencached需要安裝后的libevent-2.1.so.6模塊,不然啟動服務會報錯)

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

在主服務器上安裝magent

magent是一個memcached代理軟件,防止單點故障,緩存代理也可以著備份,通過客戶端連接緩存代理服務器,緩存代理服務器連接緩存服務器。

#創建magent目錄

mkdir /opt/magent

#解壓

tar zxvf magent-0.5.tar.gz -C /opt/magent

#切換到目錄

cd /opt/magent

#讓動態鏈接庫為系統所共享

/sbin/ldconfig

#編輯ketama.h,添加文件頭部信息

vim ketama.h

#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

Memcached高可用群集的示例分析
#編輯Makefile

vi Makefile
LIBS = -levent -lm

#編譯(完成后會生成一個manage的可執行文件)

make
Memcached高可用群集的示例分析

#讓服務便于系統識別

cp /opt/magent/magent /usr/bin/
scp /opt/magent/magent root@192.168.5.139:/usr/bin/     //發送到從服務器上

安裝keepalived

#主從服務器安裝keepalived

yum -y install keepalived

#修改主從服務器配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id MAGENT_H1     //router_id自定義,但是要確保主從一致
}
vrrp_script magent {
        script "/root/shell/magent.sh"
        interval 2                //定義一個函數,此時該腳本還未創建,要在實例外面定義
}
vrrp_instance VI_1 {
    state MASTER           //從為BACKUP
    interface ens33
    virtual_router_id 51   //此處id也相同
    priority 100           //主服務器優先級要高于從服務器
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
        magent             //應用函數
}
    virtual_ipaddress {
        192.168.5.100       //定義vtp自定義,只要不是在使用中的地址即可
    }
}                           //配置文件下面還有多余的內容此時就可以直接刪除

#建立shell目錄

mkdir /root/shell

#創建magent.sh腳本

vim /root/shell/magent.sh

#!/bin/bash

Keepalived=`ps -ef | grep keepalived | grep -v grep | wc -l`
if [ $Keepalived -gt 0 ]; then
        magent -u root -n 51200 -l 192.168.5.100 -p 12000 -s 192.168.5.129:11211 -b 192.168.5.139:11211
else
        pkill -9 magent
fi

參數說明:

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

#賦予腳本執行權限

chmod +x /root/shell/magent.sh

#啟動keepalived服務

systemctl enable keepalived.service
systemctl start keepalived.service

在從服務器上操作

#將主服務器上keepalived配置文件復制過來

scp root@192.168.5.129:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

#編輯keepalived配置文件

vim keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id magent_H2              #指定router_id
}

vrrp_script magent {                #定義函數
    script "/root/shell/magent.sh"
    interval 2
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33             #本地網卡名稱
    virtual_router_id 51        #id主從一致
    priority 99            #主服務器優先級大于從服務器優先級
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }

    virtual_ipaddress {         #vip地址
        192.168.5.100
    }
    track_script {              #調用函數
        magent
    }
}

#創建magent.sh腳本

mkdir /root/shell
vim /root/shell/magent.sh

#!/bin/bash
Keepalived=`ip addr | grep 192.168.5.100 | grep -v grep | wc -l`
if [ $Keepalived -gt 0 ]; then
        magent -u root -n 51200 -l 192.168.5.100 -p 12000 -s 192.168.5.129:11211 -b 192.168.5.139:11211
else
        pkill -9 magent
fi

#賦予腳本執行權限

chmod +x /root/shell/magent.sh
#啟動keepalived服務
systemctl enable keepalived.service
systemctl start keepalived.service

在主從服務器上開啟memcached

memcached -m 512k -u root -d -l 192.168.5.129 -p 11211    //主服務器
memcached -m 512k -u root -d -l 192.168.5.139 -p 11211    //從服務器
netstat -ntap | grep 11211

客戶端測試連通性

#安裝telnet客戶端

yum -y install telnet

#連接memcached

telnet 192.168.175.188 12000

#測試復制功能

//連接vip進行測試,插入user鍵值

[root@localhost ~]# telnet 192.168.5.100 12000
Trying 192.168.5.100...
Connected to 192.168.5.100.
Escape character is '^]'.
set user 0 0 5
test1
STORED
get user
VALUE user 0 5
test1
END
quit
Connection closed by foreign host.

//連接主Memcached,查詢user鍵值,可以獲取,成功!
[root@localhost ~]# telnet 192.168.5.129 11211
Trying 192.168.5.129...
Connected to 192.168.5.129.
Escape character is '^]'.

get user
VALUE user 0 5
test1
END
quit
Connection closed by foreign host.

//連接從Memcached,查詢user鍵值,也可以獲取,成功!
[root@centos7-1 ~]# telnet 192.168.5.139 11211
Trying 192.168.96.17...
Connected to 192.168.96.17.
Escape character is '^]'.

get user
VALUE user 0 5
test1
END
quit
Connection closed by foreign host.

測試單點故障

關閉主服務器

Memcached高可用群集的示例分析

查看從服務器Memcached高可用群集的示例分析
客戶端連接

Memcached高可用群集的示例分析

關于Memcached高可用群集的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

定远县| 东乌珠穆沁旗| 炎陵县| 龙江县| 封开县| 仁化县| 贺州市| 鄢陵县| 澜沧| 华宁县| 松阳县| 呼伦贝尔市| 长白| 盱眙县| 改则县| 杨浦区| 绿春县| 清水河县| 京山县| 富蕴县| 平陆县| 安化县| 大方县| 迭部县| 黄浦区| 东辽县| 永修县| 金湖县| 黎川县| 宁南县| 名山县| 衡山县| 泗洪县| 洮南市| 井陉县| 香河县| 贵南县| 武冈市| 敦化市| 宝鸡市| 鹤峰县|