一. 下载:

官网:Download | Redis

百度云:

链接:https://pan.baidu.com/s/1sQjpbiFIFhnSpa0_uCP53A 
提取码:AA56 

版本:redis-6.23

注:本文依旧此博文修改而来,那篇更为详细,本文为快速搭建,不做太多说明,想要学习更多访问以下链接

Linux下 Redis集群搭建详解(主从+哨兵)_程序员大佬超的博客-CSDN博客_linux redis集群搭建

注意:以下都需要sudo权限,普通用户获取sudo权限操作指令:

教你如何在Ubuntu中创建 Sudo用户_寰宇001的博客-CSDN博客_ubuntu创建sudo用户

普通用户切换root用户快速指令,这里建议直接sudo -s切换root

sudo -s

二. 安装

集群服务器配置如下,本文采用3台服务器搭建集群环境

node1192.168.177.171
node2192.168.177.172
node3192.168.177.173

以下每台操作都一样:可批量同时执行

1. 解压

tar xzf redis-6.2.3.tar.gz

2. 编译

cd redis-6.2.3/
make

 编译成功后,根目录下会多出src、conf 等文件夹

3. 安装

cd src/
make install

如报错:/bin/sh: cc: command not found

#安装gcc
yum install gcc

#再次执行make install

4. 配置

(1)新建 bin 和 etc 文件夹

cd /home/redis-6.2.3/
mkdir etc
mkdir bin

(2)将redis.conf复制到 ect 文件夹下 

cp redis.conf /home/redis-6.2.3/etc

(3)bin 文件复制

cd /home/redis-6.2.3/src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /home/redis-6.2.3/bin/

5. 启动redis

cd /home/redis-6.2.3/bin/
./redis-server /root/redis-6.2.3/etc/redis.conf

出现redis 标志则启动成功

 查看是否启动(默认端口为6369)

netstat -anp | grep 6379

6.关闭服务

redis-cli -p 6379 shutdown

三.主从配置

注:这里开始便是重点

假设主服务器(master节点)为node1,从服务器(salve节点)为node2,node3

1. 修改etc目录下redis.conf文件 (master节点,node1服务器操作)

# 本机IP(内网)
bind:192.168.177.171

# 通讯端口,修为6379默认端口
port:16339

# 是否开启保护模式,默认开启。
# 要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭设置为no。
protected-mode:no

# redis进程是否以守护进程的方式运行
daemonize:yes

# 日志存储地址
logfile:/data/redis/log

#密码
requirepass:pwdtest@2022

#master通讯密码
masterauth:pwdtest@2022

2. 修改etc目录下redis.conf文件 (slave节点,node2,node3服务器操作)

注:slave节点是不需要配置masterauth

# 本机IP(内网),这里从机node2,node3ip是啥就写啥
bind:192.168.177.x


# 通讯端口,修为6379默认端口
port:16339

# 是否开启保护模式,默认开启。
# 要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭设置为no。
protected-mode:no

# redis进程是否以守护进程的方式运行
daemonize:yes

# 日志存储地址
logfile:/data/redis/log/redis.log

#密码
requirepass:pwdtest@2022

3、数据同步(主从节点同时启动)

cd /home/redis-6.2.3/bin/
./redis-server ../etc/redis.conf

4. 数据验证

这里不做了,如果不成功,就看看日志,日志就是logfile配置地址

注:主从配置,只有master节点可以进行修改或新增,slave只能查阅

四. 哨兵模式

1. 配置文件复制(所有节点)

cd /home/redis-6.2.3/
cp sentinel.conf  etc/

2. 编辑 sentinel.conf(所有节点)

cd etc/
vi sentinel.conf

内容修改如下 

# 修改端口默认为26339。
port:26339

# 关闭保护模式,可以外部访问。
protected-mode:no

# 设置为后台启动。
daemonize:yes

# 日志文件。
logfile: /data/redis/log/sentinel.log

# 指定主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。
sentinel monitor mymaster 192.168.177.17 16339 2

# 当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster pwdtest@2019

# 这里设置了主机多少秒无响应,则认为挂了。
sentinel down-after-milliseconds mymaster 3000

# 主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
sentinel parallel-syncs mymaster 1

# 故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000

4. 启动哨兵(所有节点)

cd /home/redis-6.2.3/bin/
./redis-sentinel ../etc/sentinel.conf

5. 哨兵验证

        这里不做了,自己把主服务关了,看看又没切换就行了,如果没有切换,就把服务全部关掉,修改sentinel.conf 文件中 sentinel monitor mymaster配置

五. 开启访问端口

注:云服务器还需要配置服务商安全

# 打开端口
sudo ufw allow 16339
sudo ufw allow 26339

# 重启防火墙
sudo ufw reload

六. 快速启动、关闭脚本

启动脚本

cd /home/redis-6.2.3/bin/
vim start.sh


写入以下内容:
./redis-server ../etc/redis.conf
./redis-sentinel ../etc/sentinel.conf

关闭脚本:

cd /home/redis-6.2.3/bin/
vim stop.sh

写入以下内容
redis-cli -a remit#pwdtest@2022 -c -h 192.168.177.171 -p 26339 shutdown
redis-cli -a remit#pwdtest@2022 -c -h 192.168.177.171 -p 16339 shutdown

注意: 这里remit#pwdtest@2022 为redis密码

192.168.177.171 为当前服务器ip, 不同服务器这里的ip是不一样的

授权:

chmod 775 start.sh
chmod 775 stop.sh

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐