单机部署Redis服务器


 


1.下载并解压(可以通过redis官网下载或使用wget获取,获取地址: http://download.redis.io/releases/redis-5.0.2.tar.gz




Redis 微服务 缓存策略 redis缓存服务器搭建_重启



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_02


 


2.安装依赖包



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_03


 


3.创建redis安装路径



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_04


 


4.编译并安装,指定安装目录为/usr/local/redis/



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_05


 


5.复制redis相关命令到/usr/sbin目录下,方便敲命令



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_06


 


6.建立redis配置文件,redis.conf在redis的源码目录下,port默认6379



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_07


 


7.修改redis配置文件



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_08


修改下面几项:


daemonize no  -->  daemonize yes        //默认前端启动,设置后端启动


# bind 127.0.0.1  -->  bind 0.0.0.0        //默认允许本机访问,设置允许远程访问


logfile ""  -->  logfile /var/log/redis_6379.log        //配置redis日志


# requirepass foobared  -->  requirepass 123456        //设置redis请求密码为123456


 


修改之后重启下服务


有了密码之后,进入客户端,就得这样访问:



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_09


 


8.redis常用操作


启动



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_10


 


关闭



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_11


 


查看是否启动



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_12


 


进入客户端



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_13


 


关闭客户端



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_14


 


设置开机自启



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_15


 


开放防火墙端口


添加规则:

Redis 微服务 缓存策略 redis缓存服务器搭建_redis_16


保存规则:

Redis 微服务 缓存策略 redis缓存服务器搭建_重启_17


重启iptables:

Redis 微服务 缓存策略 redis缓存服务器搭建_redis_18


 


9.将redis注册为系统服务


在/etc/init.d目录下添加redis服务启动脚本



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_19


脚本内容:


#!/bin/sh
#  
# redis - this script starts and stops the redis-server daemon  
#  
# chkconfig:   - 85 15  
# description:  Redis is a persistent key-value database  
# processname: redis-server  
# config:      /usr/local/redis/bin/redis-server
# config:      /etc/redis.conf  
# Source function library.  
. /etc/rc.d/init.d/functions
# Source networking configuration.  
. /etc/sysconfig/network
# Check that networking is up.  
[ "$NETWORKING" = "no" ] && exit 0
redis="/usr/local/redis/bin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/etc/redis.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "  
    daemon $redis $REDIS_CONF_FILE
    retval=$?
    echo  
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
stop() {
    echo -n $"Stopping $prog: "  
    killproc $prog -QUIT
    retval=$?
    echo  
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
restart() {
    stop
    start
}
reload() {
    echo -n $"Reloading $prog: "  
    killproc $redis -HUP
    RETVAL=$?
    echo  
}
force_reload() {
    restart
}
rh_status() {
    status $prog
}
rh_status_q() {
    rh_status >/dev/null 2>&1
}
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
    ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart| reload|orce-reload}"  
        exit 2
esac

赋予脚本权限



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_20


 


启动、停止和重启



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_21



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_22



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_23


 


redis-5.0.7版本启动报错,查看日志,报错一:



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_24


解决方法:写入“ vm.overcommit_memory = 1”至/etc/sysctl.conf文件,并重载sysctl配置



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_25


 


报错二:



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_26


解决方法:执行 echo never > /sys/kernel/mm/transparent_hugepage/enabled,并将这句命令写入/etc/rc.local文件以永久生效



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_27


 


报错三:



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_28


解决方法:将“net.core.somaxconn = 1024”写入/etc/sysctl.conf文件,并重载sysctl配置



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_29


 


 


 


搭建Redis主从架构


 


1.主从环境


192.168.117.14:6379    主    sz12


192.168.117.15:6379    从    sz13


 


2.编辑从机的redis配置文件


添加一行,对应主机的ip和端口



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_30


如果主机设置了密码,找到masterauth,改为主机设定的密码



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_31


 


配置完成后重启从机redis服务



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_32


 


3.进入主机的redis-cli状态,输入INFO replication查询当前主机的Redis处于什么角色,有哪些从机已经连上主机



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_33


进入从机的redis-cli状态,同样可以查看信息



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_34


 


4.测试


进入主机的redis-cli状态,set myqq 82900528



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_35


进入从机的redis-cli状态,get myqq,查看是否可以获取值



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_36


 


搭建Redis Sentinel高可用架构


 


1.环境


redis-server


192.168.117.14:6379    主    sz12


192.168.117.15:6379    从    sz13


 


redis-sentinel


192.168.117.14:26379    sz12


192.168.117.15:26379    sz13


 


2.建立redis配置文件


如果要做自动故障转移,则建议所有的redis.conf都设置masterauth,因为自动故障只会重写主从关系,即slaveof,不会自动写入masterauth。如果Redis原本没有设置密码,则可以忽略。


将源码目录下的redis-sentinel的配置文件拷贝至/etc/下



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_37



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_38


 


3.修改sentinel.conf配置文件(主从都要)



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_39



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_40


修改如下几项



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_41


 


//主从都设定为192.168.117.14



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_42


//redis在搭建时设置了密码



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_43


//5秒内mymaster没有响应,就认为SDOWN



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_44



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_45



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_46



Redis 微服务 缓存策略 redis缓存服务器搭建_redis_47


 


4.启动redis-sentinel



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_48



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis 微服务 缓存策略_49


 


5.进入任意一台sentinel机进入redis-cli查看服务信息



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_50


 


6.自动故障转移测试


关闭主机redis



Redis 微服务 缓存策略 redis缓存服务器搭建_Redis_51


 


进入从机查看sentinel状态,发现从库提升为主库



Redis 微服务 缓存策略 redis缓存服务器搭建_重启_52