memcache分佈式集羣(keepalived+magent+memcache)

拓撲如下

無標題.png

ip地址分配

magent1:192.168.154.131
magent2:192.168.154.132
memcache主:192.168.154.141
memcache從:192.168.154.142

軟件包(所有軟件直接下載到/root/下)

magent上:libevent-2.0.22-stable.tar.gz、magent-0.6.tar.gz、keepalived-1.4.4.tar.gz
下載地址:
下載地址:
下載地址:http://www.keepalived.org/software/
memcache上:libevent-2.0.22-stable.tar.gz、memcached-1.4.33.tar.gz
下載地址:http://memcached.org/downloads

memcache上(主、從上的命令都一樣)

tar zxf libevent-2.0.22-stable.tar.gz

tar zxf memcached-1.4.33.tar.gz 

cd libevent-2.0.22-stable

./configure --prefix=/usr/

make && make install
cd ../memcache-1.4.33

./configure --prefix=/usr/local/memcached --with-libevent=/usr/

make&& make install

##memcache主## memcached -d -m 1024 -u root -l 192.168.154.141 -p 11211
##memcache從## memcached -d -m 1024 -u root -l 192.168.154.142 -p 11211

firewall-cmd --add-port=11211/tcp --permanent

firewall-cmd --reload

可通過ss或netstat命令查看memcache是否正常啓動

ss -lnpt | grep memcache

netstat -anpt | grep memcache

magent上(1和2配置一樣)

tar zxf libevent-2.0.21-stable.tar.gz

cd libevent-2.0.21-stable
 
./configure --prefix=/usr/

make && make install

cd ~

mkdir /usr/magent

tar zxf magent-0.6.tar.gz -C /usr/magent

vim /usr/magent/ketama.h

#添加在文件開頭
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
#endif

注意:下面兩個文件libm.so、libevent-1.4.so.2如果和我的所在目錄不同,可通過find命令查找,然後在ln -s創建軟鏈接即可

 ln -s /usr/lib64/libm.so /usr/lib64/libm.a
 
 ln -s /usr/lib64/libevent-1.4.so.2 /usr/lib64/libevent.a
cd /usr/magent

/sbin/ldconfig

sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile

make

cp magent /usr/bin/

##magent1## magent -u root -n 51200 -l 192.168.154.131 -p 12000 -s 192.168.154.141:11211 -b 192.168.154.142:11211
##magent2## magent -u root -n 51200 -l 192.168.154.132 -p 12000 -s 192.168.154.141:11211 -b 192.168.154.142:11211

ps -elf | grep magent
##檢測magent是否正常運行
yum -y install keepalived

magent1的keepalived配置vim /etc/keepalived/keepalived.conf

global_defs { 

router_id M1

vrrp_instance VI_1 { 

state MASTER 

interface eth0 

virtual_router_id 51 

priority 100 

advert_int 1 authentication {

auth_type PASS 

auth_pass 1111 

virtual_ipaddress {

 192.168.154.100

}

magent2的keepalived配置vim /etc/keepalived/keepalived.conf

global_defs { 

router_id M2

vrrp_instance VI_1 { 

state BACKUP 

interface eth0 

virtual_router_id 51 

priority 100 

advert_int 1 authentication {

auth_type PASS 

auth_pass 1111 

virtual_ipaddress {

 192.168.154.100

}

systemctl start keepalived

systemctl enable keepalived

部署完成,你可以直接通過Telnet連接keepalived的vip,以連接到memcahe,操作一些數據,然後查看,驗證集羣的可用性。這裏不一一贅述了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章