centos 6.7 搭建redis 主從服務

環境部署:

 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 該文件

 

 

 


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