環境部署:
redis master(zkdb1):192.168.16.210
redis slave :192.168.16.211
安裝部署:
#創建一個軟件安裝目錄
[root@zkdb1 ~]# mkdir /home/softwares
[root@zkdb1 ~]# cd /home/softwares/
#下載軟件包,同時解壓安裝
[root@zkdb1 softwares]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
[root@zkdb1 softwares]# tar -xvf redis-3.0.7.tar.gz -C /usr/local/
[root@zkdb1 redis7]# cd /usr/local/redis-3.0.7/
[root@zkdb1 redis7]# make PREFIX=/usr/local/redis7 install
[root@zkdb1 redis7]#mkdir /opt/redis307 #創建一個redis 的配置文件目錄
[root@zkdb1 redis7]# cd /opt/redis307
[root@zkdb1 redis7]# cp /usr/local/redis-3.0.7/redis.conf /opt/redis307/
[root@zkdb1 redis7]# ./bin/redis-server /opt/redis307/redis.conf ##啓動redis 服務
2、內核以及其他調整
添加如下兩行
#/etc/sysctl.conf
net.core.somaxconn =8192
vm.overcommit_memory=1
#將下面三行寫入到redis配置文件中
[root@zkdb1 redis7]#echo 'rename-command FLUSHALL ""' >> redis.conf
[root@zkdb1 redis7]#echo 'rename-command FLUSHDB ""' >> redis.conf
[root@zkdb1 redis7]#echo 'rename-command KEYS ""' >> redis.conf
配置文件
vim /opt/redis307/redis.conf
port 6000 ##更改端口
save 900 1
save 300 10000 ## 更改配置
save 60 200000
dbfilename dump.rdb
slave-read-only yes ##更改爲yes
dir /opt/redis307/dbdata ## redis 數據存放目錄,但該目錄需要手工創建
appendonly yes
maxclients 30000
appendfsync everysec
appendfilename "appendonly.aof"
logfile "/tmp/redis307.log"
timeout 0
##啓動redis 服務
[root@zkdb1 redis7]# /usr/local/redis7/bin/redis-server /opt/redis307/redis.conf > /dev/null 2>&1 &
[root@zkdb1 redis307]# vim /etc/init.d/redis ##編寫redis 配置腳本
#!/bin/bash
#chkconfig: 345 86 14
#description: Startup and shutdown script for Redis
CLI="/usr/local/redis7/bin/redis-cli -p 6000"
PRO="/usr/local/redis7/bin/redis-server"
CONFIG="/opt/redis307/redis.conf"
SCRIPTNAME="/etc/rc.d/init.d/redis"
status()
{
ping=`$CLI ping` > /dev/null
if [ -z $ping ]
then ping='0'
fi
}
start()
{
status
if [ $ping == 'PONG' ]
then
echo -e "redis already started"
else
$PRO $CONFIG > /dev/null 2>&1 &
echo -e "start redis ok"
fi
}
stop()
{
status
if [ $ping == 'PONG' ]
then
$CLI save > /dev/null
echo "save ok"
$CLI BGREWRITEAOF > /dev/null
echo "aof rewrite ok"
$CLI shutdown > /dev/null
echo "redis shutdown ok"
else
echo -e "redis already stoped"
fi
}
restart()
{
stop
start
}
save_aof()
{
$CLI BGREWRITEAOF
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
save_aof)
save_aof
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|save_aof}" >&2
exit 1
;;
esac
exit 0
[root@zkdb1 redis307]# chmod +x /etc/init.d/redis
[root@zkdb1 redis307]# /etc/init.d/redis restart
save ok
aof rewrite ok
redis shutdown ok
[root@zkdb1 redis307]# vim /etc/rc.d/rc.local
/etc/init.d/redis start
###########################################
redis 從配置如下:
######################################################
ip 192.168.16.211 zkdb2
[root@zkdb2 ~]# mkdir /home/softwares
[root@zkdb2 ~]# cd /home/softwares/
[root@zkdb2 softwares]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz
[root@zkdb2 softwares]# tar -xvf redis-3.0.7.tar.gz -C /usr/local/
[root@zkdb2 redis7]# cd /usr/local/redis-3.0.7/
[root@zkdb2 redis7]# make PREFIX=/usr/local/redis7 install
[root@zkdb2 redis7]# mkdir /opt/redis307
[root@zkdb2 redis7]# cd /opt/redis307
[root@zkdb2 redis7]# cp /usr/local/redis-3.0.7/redis.conf /opt/redis307/
[root@zkdb2 redis7]# ./bin/redis-server /opt/redis307/redis.conf
5 內核以及其他調整
添加
[root@localhost redis-3.0.7]# vi /etc/sysctl.conf
net.core.somaxconn =8192
vm.overcommit_memory=1
echo 'rename-command FLUSHALL ""' >> redis.conf
echo 'rename-command FLUSHDB ""' >> redis.conf
echo 'rename-command KEYS ""' >> redis.conf
配置文件
vim /opt/redis307/redis.conf
#更改端口
port 6000
更改數字
save 900 1
save 300 10000
save 60 200000
dbfilename dump.rdb
slave-read-only yes
####添加
dir /opt/redis307/dbdata
## 改yes
appendonly yes
## 改數字
maxclients 30000
appendfsync everysec
appendfilename "appendonly.aof"
logfile "/tmp/redis307.log"
timeout 0
slaveof 192.168.16.210 6000 ## 從加入這一行主的ip
/usr/local/redis7/bin/redis-server /opt/redis307/redis.conf > /dev/null 2>&1 &
[root@zkdb1 redis307]# vim /etc/init.d/redis
#!/bin/bash
#chkconfig: 345 86 14
#description: Startup and shutdown script for Redis
CLI="/usr/local/redis7/bin/redis-cli -p 6000"
PRO="/usr/local/redis7/bin/redis-server"
CONFIG="/opt/redis307/redis.conf"
SCRIPTNAME="/etc/rc.d/init.d/redis"
status()
{
ping=`$CLI ping` > /dev/null
if [ -z $ping ]
then ping='0'
fi
}
start()
{
status
if [ $ping == 'PONG' ]
then
echo -e "redis already started"
else
$PRO $CONFIG > /dev/null 2>&1 &
echo -e "start redis ok"
fi
}
stop()
{
status
if [ $ping == 'PONG' ]
then
$CLI save > /dev/null
echo "save ok"
$CLI BGREWRITEAOF > /dev/null
echo "aof rewrite ok"
$CLI shutdown > /dev/null
echo "redis shutdown ok"
else
echo -e "redis already stoped"
fi
}
restart()
{
stop
start
}
save_aof()
{
$CLI BGREWRITEAOF
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
save_aof)
save_aof
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|save_aof}" >&2
exit 1
;;
esac
exit 0
[root@zkdb1 redis307]# chmod +x /etc/init.d/redis
[root@zkdb1 redis307]# /etc/init.d/redis restart
save ok
aof rewrite ok
redis shutdown ok
[root@zkdb1 redis307]# vim /etc/rc.d/rc.local
/etc/init.d/redis start
需要在兩臺redis配置文件中填寫
vim /etc/profile
export PATH=/usr/local/redis7/bin:$PATH
source /etc/profile
驗證:
主
redis-cli -p 6000
創建一個set key valus (創建一個key後面跟一個值)
get key
從
redis-cli -p 6000
get 該文件