1. 安装2. 搭建主从2.1 配置主节点2.1.1 创建自定义启动文件2.1.2 启动2.1.3 使用2.2 配置从节点2.2.1 配置从节点1:redis022.2.2 配置从节点2:redis032.3 查看2.4 使用命令
1. 安装
Redis版本5.0.x包含在默认的Ubuntu 20.04存储库中。
sudo apt update sudo apt install redis-server
安装完成后,Redis服务将自动启动。 要检查服务的状态,请输入以下命令:
sudo systemctl status redis-server
2. 搭建主从
- redis01(192.168.92.145):主节点
- redis02(192.168.92.146):从节点1
- redis03(192.168.92.147):从节点2
这里的Redis端口号可以一样(在不同的机器上)
主机名 | IP | Redis端口号 | 启动命令 |
redis01 | 192.168.92.145 | 6380 | redis-server /etc/redis/redis6380.conf |
redis02 | 192.168.92.146 | 6381 | redis-server /etc/redis/redis6381.conf |
redis03 | 192.168.92.147 | 6382 | redis-server /etc/redis/redis6382.conf |
2.1 配置主节点
- redis01(192.168.92.145):主节点
- 我这里主节点使用自定义配置
2.1.1 创建自定义启动文件
创建
/etc/redis/redis6380.conf
,当然也可以在原文件/etc/redis/redis.conf
中直接修改,我这里为了保证原文件不动,创建一个新的文件引用,启动的时候以自己的文件启动即可。# 引用Redis的默认配置文件 include /etc/redis/redis.conf # 需要注释掉bind(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可) bind 0.0.0.0 #关闭保护模式,开启的话,只有本机才可以访问redis protected-mode no #修改redis监听端口,可自定义 port 6380 # 后台启动 daemonize yes # pid存放目录 pidfile /var/run/redis/redis-server6380.pid # 设置redis日志存放路径 logfile /var/log/redis/redis-server6380.log # 生成dump.rdb文件 dbfilename dump6380.rdb # 修改持久化文件目录,可自定义 #dir /var/lib/redis # 主从节点配置replicaof <masterip> <masterport> #replicaof 127.0.0.1 6380 #主从同步master的密码 # masterauth 123456 #设置redis密码 # requirepass 123456 # 日志追加模式 #appendonly no
2.1.2 启动
root@redis01:~# redis-server /etc/redis/redis6380.conf # 查看,生成自定义的redis-server6380.log,成功启动 root@redis01:/var/log/redis# ls redis-server6380.log redis-server.log
2.1.3 使用
以自定义端口号启动,ping一下,返回PONG说明成功
root@redis01:~# redis-cli -p 6380 127.0.0.1:6380> ping PONG
2.2 配置从节点
默认的redis启动都是主节点,只需修改从节点即可。比主节点多一个配置!
2.2.1 配置从节点1:redis02
- redis02(192.168.92.146):从节点1
1. 创建自定义启动文件
创建
/etc/redis/redis6381.conf
,比主节点多一个配置replicaof 192.168.92.145 6380
# 引用Redis的默认配置文件 include /etc/redis/redis.conf # 需要注释掉bind(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可) bind 0.0.0.0 #关闭保护模式,开启的话,只有本机才可以访问redis protected-mode no #修改redis监听端口,可自定义 port 6381 # 后台启动 daemonize yes # pid存放目录 pidfile /var/run/redis/redis-server6381.pid # 设置redis日志存放路径 logfile /var/log/redis/redis-server6381.log # 生成dump.rdb文件 dbfilename dump6381.rdb # 修改持久化文件目录,可自定义 #dir /var/lib/redis # 主从节点配置replicaof <masterip> <masterport> replicaof 192.168.92.145 6380 #主从同步master的密码 # masterauth 123456 #设置redis密码 # requirepass 123456 # 日志追加模式 #appendonly no
- 启动
root@redis02:~# redis-server /etc/redis/redis6381.conf # 查看,生成自定义的redis-server6381.log,成功启动 root@redis02:~# ls /var/log/redis redis-server6381.log redis-server.log
- 使用
以自定义端口号启动,ping一下,返回PONG说明成功
root@redis02:~# redis-cli -p 6381 127.0.0.1:6380> ping PONG
2.2.2 配置从节点2:redis03
- redis03(192.168.92.147):从节点2
1. 创建自定义启动文件
创建
/etc/redis/redis6382.conf
,比主节点多一个配置replicaof 192.168.92.145 6380
# 引用Redis的默认配置文件 include /etc/redis/redis.conf # 需要注释掉bind(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可) bind 0.0.0.0 #关闭保护模式,开启的话,只有本机才可以访问redis protected-mode no #修改redis监听端口,可自定义 port 6382 # 后台启动 daemonize yes # pid存放目录 pidfile /var/run/redis/redis-server6382.pid # 设置redis日志存放路径 logfile /var/log/redis/redis-server6382.log # 生成dump.rdb文件 dbfilename dump6382.rdb # 修改持久化文件目录,可自定义 #dir /var/lib/redis # 主从节点配置replicaof <masterip> <masterport> replicaof 192.168.92.145 6380 #主从同步master的密码 # masterauth 123456 #设置redis密码 # requirepass 123456 # 日志追加模式 #appendonly no
- 启动
root@redis03:~# redis-server /etc/redis/redis6382.conf # 查看,生成自定义的redis-server6382.log,成功启动 root@redis03:~# ls /var/log/redis redis-server6382.log redis-server.log
- 使用
以自定义端口号启动,ping一下,返回PONG说明成功
root@redis03:~# redis-cli -p 6382 127.0.0.1:6380> ping PONG
2.3 查看
主节点:redis01查看
# redis01 127.0.0.1:6380> info
从节点1:redis02查看
# redis02 127.0.0.1:6381> info
2.4 使用命令
# 启动redis集群,顺序主->从 # 开启主节点redis01 root@redis01:~# redis-server /etc/redis/redis6380.conf # 开启从节点redis02 root@redis02:~# redis-server /etc/redis/redis6381.conf # 开启从节点redis03 root@redis03:~# redis-server /etc/redis/redis6382.conf # 停止服务redis01 root@redis01:~# redis-cli -p 6380 shutdown # 停止服务redis02 root@redis02:~# redis-cli -p 6381 shutdown # 停止服务redis03 root@redis03:~# redis-cli -p 6382 shutdown # 查看服务 ps -ef | grep redis # 使用redis01 root@redis01:~# redis-cli -p 6380 # 使用redis02 root@redis02:~# redis-cli -p 6381 # 使用redis03 root@redis03:~# redis-cli -p 6382