redis集群部署

/ 0评 / 0

redis集群部署

部署前提:

高可用Redis cluster集群(20),主从+哨兵一台机器70个服务,每个服务限定10G内存(记得是运存,不是数据盘)

解读:69个服务+1个哨兵

1.上传redis安装包

这里用得是redis-4.0.10.tar.gz

上传文件到 目录/usr/local

或者外网直接下载

2.安装GCC

3.解压并安装

解压

编译安装

建立一个软连接

注:如出现/bin/sh: cc: command not found错误,是因为没有安装 gcc 环境,使用命令yum install gcc安装 gcc 环境即可

image-20210206000512881

测试是否安装成功

4.搭建redis主从构造搭建

Redis集群不用安装多个Redis,只需复制多个配置文件,修改即可

4.1.搭建redis master(只在master主机安装即可)

创建redis master 配置文件存放的文件夹

redis_master的配置文件如下

vi redis.conf

maxmemory 10gb ,即可限定服务限定10G内存(记得是运存,不是数据盘)

启动master

查看下是否存在进程 6379

在客户端做链接测试

至此 redis_master 启动成功,能正常读写数据

4.2搭建redis slave(所有机器)

创建redis slave 配置文件存放的文件夹

image-20210206002909274

修改redis.conf配置文件 slave的配置和master基本一致,只需要修改相应的pidfile,端口,日志文件名,并配上master的地址和认证密码

配置文件如下:

每个配置文件需要对应端口修改:

#pid file 修改pidfile指向路径

pidfile /data/redis/redis_7000/redis_slave.pid

#监听端口

port 7000

#指明日志文件名

logfile "/data/redis/redis_7000/redis_slave.log"

#设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步

#slaveof 127.0.0.1 7001

slaveof 10.209.17.10 6379

#当master服务设置了密码保护时,slav服务连接master的密码

masterauth testmaster123

启动redis slave

连接redis slave测试

至此 master slave 的主从关系也建立了 master中设置的key-value已经成功同步过来

连接maser机器,输入 Info replication 命令可以查看具体情况

主从复制原理:
1.当从库和主库建立MS关系后,会向主数据库发送SYNC命令
2.主库接收到SYNC命令后会开始在后台保存快照(RDB持久化过程),并将期间接收到的写命令缓存起来
3.当快照完成后,主Redis会将快照文件和所有缓存的写命令发送给从Redis
4.从Redis接收到后,会载入快照文件并且执行收到的缓存的命令
5.之后,主Redis每当接收到写命令时就会将命令发送从Redis,从而保证数据的一致

5.Redis Sentinel (哨兵)部署--所有机器

创建redis sentinel 配置文件存放的文件夹

哨兵配置 sentinel.conf:

启动哨兵:

在sentinel中查看 所监控的master 和slave 连接哨兵:

Redis注意事项:
1.最大内存问题:要设置好最大内存,以防不停的申请内存,造成系统内存都被用完。
2.密码问题:需要设置复杂一些,防止暴力破解。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注