# Redis 高可用环境部署
# 安装
下载4.x最新稳定版
# 1、下载
mkdir /cslc
cd /cslc
wget http://download.redis.io/releases/redis-4.0.14.tar.gz
# 2、解压
cd /cslc
tar zxvf redis-4.0.14.tar.gz
# 3、安装
请自行安装 gcc 如果配置了yum源,可以使用命令:
yum install -y gcc
cd /cslc/redis-4.0.14
make MALLOC=libc
cd src && make install
如遇到错误: 解决方案:
1.sh: ./mkreleasehdr.sh: Permission denied
权限不够,在src目录下执行:chmod 777 /mkreleasehdr.sh
2.error: jemalloc/jemalloc.h: No such file or directory
执行:make MALLOC=libc
# 4、系统配置
echo 511 > /proc/sys/net/core/somaxconn
# 基本配置
创建数据保存目录
mkdir /cslc/redis
mkdir /cslc/redis-sentinel
# 主节点配置
以下密码全部设置为一致
cd /cslc/redis-4.0.14
配置文件: redis.conf
配置文件修改:
- 找到:bind 127.0.0.1(修改成:
bind 0.0.0.0,记得修改成自己ip,其他机器才能访问。) - 找到:# requirepass foobared
requirepass <请配置密码>设置密码 - 找到:# masterauth (把注释去掉,最后我这里是修改成:
masterauth <请配置密码>) - 找到:daemonize no(设置成:
daemonize yes,标示后台启动。) - 找到:
appendonly no(设置成:appendonly yes,标示每次更新操作后进行记录。) - 找到:dir '.'(设置成:
dir '/cslc/redis',标示数据目录。) - 找到:logfile(设置成:
logfile '/var/log/redis_6379.log',标示日志位置。)
# 从节点配置
以下密码全部设置为一致
配置文件: redis.conf
- 找到:bind 127.0.0.1(修改成:
bind 0.0.0.0,记得修改成自己ip,其他机器才能访问。) - 找到:# requirepass foobared
requirepass cslc_pass设置密码 - 找到:daemonize no(设置成:
daemonize yes,标示后台启动。) - 找到:
appendonly no(设置成:appendonly yes,标示每次更新操作后进行记录。) - 找到:# masterauth (把注释去掉,最后我这里是修改成:
masterauth cslc_pass) - 找到:# slaveof (把注释去掉,最后我这里是修改成:
slaveof 172.16.3.202 6379,这样表明自己是从服务器。) - 找到:dir '.'(设置成:
dir '/cslc/redis',标示数据目录。) - 找到:logfile(设置成:
logfile '/var/log/redis_6379.log',标示日志位置。)
# 主/从节点哨兵配置
以下密码全部设置为一致
sentinel.conf 配置内容:
port 16379
bind 0.0.0.0
dir "/cslc/redis-sentinel"
logfile "/var/log/redis_sentinel_16379.log"
daemonize yes
## ** 这里的IP请填主IP
sentinel monitor mymaster 172.16.3.202 6379 2
sentinel auth-pass mymaster cslc_pass
sentinel down-after-milliseconds mymaster 15000
sentinel failover-timeout mymaster 120000
sentinel parallel-syncs mymaster 1
# 启动
# 启动master、slave、sentinel服务
redis-server redis.conf
redis-sentinel sentinel.conf
# 连接到redis
redis-cli -h 172.16.3.202 -p 6379 -a cslc_pass
# 连接到哨兵
redis-cli -h 172.16.3.202 -p 16379 -a cslc_pass
# 其他

← MongoDB 复制集部署 数据库初始化 →