您好,登錄后才能下訂單哦!
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.100.8/memcached /abc //掛載
Password for root@//192.168.100.8/memcached:
[root@localhost ~]# cd /abc/
[root@localhost abc]# ls
LAMP-php5.6 magent-0.5.tar.gz memcached-1.5.6.tar.gz
libevent-2.1.8-stable.tar.gz memcache-2.2.7.tgz
[root@localhost abc]# tar zxvf libevent-2.1.8-stable.tar.gz -C /opt //解壓事件庫(kù)軟件包,memcached依賴于事件庫(kù)
[root@localhost abc]# tar zxvf memcached-1.5.6.tar.gz -C /opt/ //解壓服務(wù)端memcached軟件包
[root@localhost abc]# yum install gcc gcc-c++ make -y //安裝環(huán)境包
[root@localhost abc]# mkdir /opt/magent
[root@localhost abc]# tar zxvf magent-0.5.tar.gz -C /opt/magent/
[root@localhost opt]# cd libevent-2.1.8-stable/
[root@localhost libevent-2.1.8-stable]# ./configure --prefix=/usr
[root@localhost libevent-2.1.8-stable]# make && make install //編譯安裝
[root@localhost libevent-2.1.8-stable]# cd ../memcached-1.5.6/
[root@localhost memcached-1.5.6]# ./configure --with-libevent=/usr
make && make install
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.100.8/memcached /abc
Password for root@//192.168.100.8/memcached:
[root@localhost ~]# cd /abc/
[root@localhost abc]# ls
LAMP-php5.6 magent-0.5.tar.gz memcached-1.5.6.tar.gz
libevent-2.1.8-stable.tar.gz memcache-2.2.7.tgz
[root@localhost abc]# tar zxvf libevent-2.1.8-stable.tar.gz -C /opt //解壓事件庫(kù)軟件包
[root@localhost abc]# tar zxvf memcached-1.5.6.tar.gz -C /opt/ /解壓服務(wù)端memcached軟件包
[root@localhost abc]# yum install gcc gcc-c++ make -y
[root@localhost opt]# cd libevent-2.1.8-stable/
[root@localhost libevent-2.1.8-stable]# ./configure --prefix=/usr
[root@localhost libevent-2.1.8-stable]# make && make install
[root@localhost libevent-2.1.8-stable]# cd ../memcached-1.5.6/
[root@localhost memcached-1.5.6]# ./configure --with-libevent=/usr
make && make install
[root@localhost memcached-1.5.6]# cd /opt/
[root@localhost opt]# ls
libevent-2.1.8-stable magent memcached-1.5.6 rh
[root@localhost opt]# cd magent/
[root@localhost magent]# vim ketama.h
#ifndef SSIZE_MAX
#define SSIZE_MAX 32767
[root@localhost magent]# vim Makefile
LIBS = -levent -lm //指定makefile文件
make //編譯
[root@localhost magent]# ls
ketama.c ketama.h ketama.o magent magent.c magent.o Makefile
[root@localhost magent]# yum install openssh-clients -y //安裝scp遠(yuǎn)程同步軟件包
[root@localhost magent]# cp magent /usr/bin/ //把magent腳本放到/usr/local中,讓系統(tǒng)能識(shí)別
[root@localhost magent]# scp magent root@192.168.144.239:/usr/bin/ //把mangent文件拷貝到從服務(wù)器上
[root@localhost bin]# systemctl stop firewalld.service
[root@localhost bin]# setenforce 0
[root@localhost bin]# yum install keepalived -y
[root@localhost magent]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
vrrp_script magent { //編輯函數(shù)腳本
script "/opt/shell/magent.sh" //指定腳本位置
interval 2 //檢測(cè)腳本時(shí)間間隔
}
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_HA //主服務(wù)器id,兩臺(tái)不能一樣
}
vrrp_instance VI_1 {
state MASTER
interface ens33 //主服務(wù)器網(wǎng)卡
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 #默認(rèn)驗(yàn)證
}
track_script { //調(diào)函數(shù)名magent
magent
}
virtual_ipaddress {
192.168.144.188 //客戶端訪問(wèn)的漂移地址
}
}
[root@localhost bin]# cd /etc/keepalived/
[root@localhost keepalived]# mv keepalived.conf keepalived.conf.bak //更改名稱
[root@localhost keepalived]# yum install openssh-clients -y
[root@localhost magent]# cd /etc/keepalived/
[root@localhost keepalived]# scp keepalived.conf root@192.168.144.239:/etc/keepalived/
[root@localhost keepalived]# ls
keepalived.conf keepalived.conf.bak
[root@localhost keepalived]# vim keepalived.conf
! Configuration File for keepalived
vrrp_script magent {
script "/opt/shell/magent.sh"
interval 2
}
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_HB //routed_id不能相同
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 52 //從服務(wù)器虛擬id不能和主服務(wù)器一樣
priority 90 //優(yōu)先級(jí)比主服務(wù)器低
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
magent
}
virtual_ipaddress {
192.168.144.188
}
}
[root@localhost keepalived]# mkdir /opt/shell
[root@localhost keepalived]# cd /opt/shell/
[root@localhost shell]# vim magent.sh
#!/bin/bash
k=`ps -ef | grep keepalived | grep -v grep | wc -l` //檢查keepaliveed進(jìn)程,如果開(kāi)啟
if [ $k -gt 0 ]; then
magent -u root -n 51200 -l 192.168.144.188 -p 12000 -s 192.168.144.238:11211 -b
// -n連接數(shù)量 -l指定漂移地址,-p指定端口映射到主從服務(wù)器的地址
192.168.144.239:11211
else
pkill -9 magent
fi
[root@localhost shell]# chmod +x magent.sh
[root@localhost shell]# systemctl start keepalived.service
[root@localhost shell]# netstat -ntap | grep 12000
tcp 0 0 192.168.144.188:12000 0.0.0.0:* LISTEN 124720/magent
[root@localhost keepalived]# mkdir /opt/shell
[root@localhost keepalived]# cd /opt/shell/
[root@localhost shell]# 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.144.188 -p 12000 -s 192.168.144.238:11211 -b 192.168.144.239:11211
else
pkill -9 magent
fi
[root@localhost shell]# chmod +x magent.sh
[root@localhost shell]# systemctl start keepalived.service
[root@localhost shell]# netstat -ntap | grep 12000 //查看magent端口
tcp 0 0 192.168.144.188:12000 0.0.0.0:* LISTEN 11660/magent
[root@localhost shell]# memcached -m 512k -u root -d -l 192.168.144.238 -p 11211 //啟動(dòng)主,-m指定空間大小
[root@localhost shell]# netstat -ntap | grep 11211
tcp 0 0 192.168.144.238:11211 0.0.0.0:* LISTEN 44647/memcached
[root@localhost shell]# memcached -m 512k -u root -d -l 192.168.144.239 -p 11211 #啟動(dòng)從
[root@localhost shell]# netstat -ntap | grep 11211
tcp 0 0 192.168.144.239:11211 0.0.0.0:* LISTEN 42654/memcached
[root@localhost ~]# telnet 192.168.144.188 12000
Trying 192.168.144.188...
Connected to 192.168.144.188.
Escape character is '^]'.
add username 0 0 7 //編寫(xiě)鍵值對(duì)數(shù)據(jù)
1234567
STORED
[root@localhost shell]# telnet 192.168.144.238 11211
Trying 192.168.144.238...
Connected to 192.168.144.238.
Escape character is '^]'.
geer^H^H
ERROR
get username
VALUE username 0 7
1234567
END
[root@localhost shell]# telnet 192.168.144.239 11211
Trying 192.168.144.239...
Connected to 192.168.144.239.
Escape character is '^]'.
get username
VALUE username 0 7
1234567
END
免責(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)容。