# 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

# 其他

Redis架构
最后更新于: 11/4/2020, 10:14:18 PM