欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > redis部署手册

redis部署手册

2024/11/6 23:23:37 来源:https://blog.csdn.net/tb_problem/article/details/143346697  浏览:    关键词:redis部署手册

文章目录

  • 一、 环境配置
    • 资源配置
      • 操作系统
      • 资源配置
        • 服务器1
        • 服务器2
        • 服务器3
    • 目录规划
  • 二、Redis软件部署
    • 2.1 上传相关软件包
    • 2.2 安装软件
    • 2.3 修改配置文件
      • 2.3.1 修改redis.conf
      • 2.3.2 修改sentinel.conf
      • 2.3.3 启动
      • 2.3.4 安装完成
  • 三、Redis的哨兵恢复
    • 3.1 现象
    • 3.2 解决方法

一、 环境配置

资源配置

操作系统

18.04.6 LTS (Bionic Beaver)

资源配置

服务器1

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

服务器2

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

服务器3

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

备注:数据盘需支持扩展

备注:redis存储根据业务数据量来看服务器的配置。

目录规划

二、Redis软件部署

2.1 上传相关软件包

此安装包为针对ubuntu18.04.6版本的镜像源,相关的deb文件。也可通过安装

build-essential和pkg-config 工具来编译安装redis。

redis安装依赖包

三台机器均上传该文件包

2.2 安装软件

dpkg -i *.deb

2.3 修改配置文件

2.3.1 修改redis.conf

bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis/redis-server.pid"
loglevel notice
logfile "/var/log/redis/redis-server.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/var/lib/redis"
masterauth "redis"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "redis"
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

修改以下配置项

.

2.3.2 修改sentinel.conf

daemonize yes
pidfile "/var/run/sentinel/redis-sentinel.pid"
logfile "/var/log/redis/redis-sentinel.log"protected-mode noport 26379dir "/var/lib/redis"sentinel myid e5ddbb49c8b2eb9374ace273800135b8fd1bf6f0sentinel monitor redismaster 10.255.131.11 6379 2sentinel auth-pass redismaster redissentinel config-epoch redismaster 1sentinel leader-epoch redismaster 1sentinel down-after-milliseconds redismaster 3

2.3.3 启动

systemctl start redis

systemctl start redis-sentinel

2.3.4 安装完成

手动kill掉12上的redis进程; 3秒后切换

三、Redis的哨兵恢复

3.1 现象

哨兵脑裂;通过 redis-cli 查看主从与查看redis-sentinel 里面的配置信息不一致;

INFO replication

哨兵中的主节点为 cat /etc/redis/sentinel.conf

3.2 解决方法

  1. 找出拥有最新数据的节点,手动设置为主节点

slaveof no one

其他节点设置同步的主节点

SLAVEOF 10.255.131.11 6379

  1. 手动修改 /etc/redis/sentinel.conf 文件;使各节点的主节点都保持一致; 以及修改下方的从节点信息,每个节点都有自己的myid;不要弄错了。

修改后再重启下sentinel即可;

systemctl restart sentinel
拥有最新数据的节点,手动设置为主节点

slaveof no one

其他节点设置同步的主节点

SLAVEOF 10.255.131.11 6379

  1. 手动修改 /etc/redis/sentinel.conf 文件;使各节点的主节点都保持一致; 以及修改下方的从节点信息,每个节点都有自己的myid;不要弄错了。

修改后再重启下sentinel即可;

systemctl restart sentinel

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com