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,操作一些数据,然后查看,验证集群的可用性。这里不一一赘述了。

猜你喜欢

转载自blog.51cto.com/13434336/2170964
今日推荐