使用三台服务器进行 Redis 主从(三主三从)模式搭建

搞了两天终于启动起来了,后续还需要对细节进行修改,暂做记录。
准备三台服务器,一台服务器上启动2个端口进程。分别为7000和7001
在这里插入图片描述
在这里插入图片描述
① 上传redis 5.0.0.tar.gz 安装包到 /app/module/下(可根据自身情况自定义)
在这里插入图片描述② 在module目录下创建redis目录,并将安装包解压到redis目录下
在这里插入图片描述解压完成后进行编译。进入 redis-5.0.0目录下 执行 make 命令,等待一小会儿
执行完毕make后再执行 make MALLOC=libc, 等待一小会儿
执行完make MALLOC=libc后再执行 cd src ; make install。
这几个过程基本不会出错。如果出错,90%是ruby的问题,大佬自行解决一下。

cd redis-5.0.0
make
make MALLOC=libc
cd src ; make install

③ 在redis目录下创建cluster目录,用于存放两个节点的配置文件和 dump目录 logs目录
在这里插入图片描述
在这里插入图片描述④ cat redis-5.0.0目录下的redis.conf文件,筛选出所有未加注释的配置项
在这里插入图片描述这里其实可以只配置相关几项就可以,有很多默认项。这里没做整理,后面补充。
在这里插入图片描述
粘贴一下内容,并做修改。前面带 * 号的 是要注意的地方,路径包括端口。

*bind 本机ip
protected-mode yes
*port 7000 
tcp-backlog 511
timeout 0
tcp-keepalive 300
*daemonize yes
supervised no
*pidfile "/var/run/redis_7000.pid"
loglevel notice
*logfile "/app/module/redis/cluster/logs/redis_7000.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 "/app/module/redis/cluster/dump/"
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
*appendonly yes
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 yes
lua-time-limit 5000
cluster-enabled yes
*cluster-config-file nodes-7000.conf
cluster-node-timeout 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 0set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

⑤ 这里配置的7000端口的实例,将该配置文件复制一份,命名为7001。将文件内的相关端口位置(7000)全部更改为7001。

这样,一台服务器上的两个实例就配置完。将两个配置文件 scp到其他两台服务器上的相应目录。 三台服务器的路径尽量创建为一样的,这样复制方便,删改查也方便。
⑥scp配置文件到其他两台服务器
/app/module/redis/cluster/ 下执行 scp 命令
在这里插入图片描述⑦以第一台配置的标准修改其他两台服务器的配置文件,如果路径都一致,那么只需要修改绑定的ip为当前本机ip即可。 必须注意配置文件中设置的路径是存在的。否则启动不起来。可以通过logs中的日志进行查看。

⑧ 启动redis服务
在每台服务器的redis安装目录 的 src下,执行
./redis-server /app/module/redis/cluster/redis7000.conf
./redis-server /app/module/redis/cluster/redis7001.conf
命令,启动两个进程(也可写一个脚本,一下搞定)。
在这里插入图片描述
在这里插入图片描述
通过 ps -ef |grep redis查看是否启动
在这里插入图片描述其他两台一样操作。
⑨ 下面启动集群
在随便一台服务器上执行./redis-cli --cluster create 20.201.22.159:7000 20.201.22.159:7001 20.201.22.160:7000 20.201.22.160:7001 20.201.22.161:7000 20.201.22.161:7001 --cluster-replicas 1
在这里插入图片描述在这里插入图片描述在这里插入图片描述这样就成了。可以使用./redis-cli -p 7000 -h 20.201.22.159 -c 连接客户端,输入 cluster info 查看集群信息。输入cluster nodes查看节点信息。
随便找一个节点,连接上客户端, set 一组kv,再上别的节点连上客户端get一下这个kv。看看效果。

总体写的有些凌乱。其中主要的点在于:
1、路径
2、所有执行的命令都没有出 redis安装目录
3、注意每个节点上端口的分配
4、使用root权限来安装

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis主从服务器搭建是一种常见的架构模式,用于提高Redis的可用性和性能。在主从服务器架构中,主服务器负责处理写操作,而从服务器负责处理读操作。 以下是Redis主从服务器搭建的步骤: 1. 安装Redis:首先,在主服务器和从服务器上都需要安装Redis。你可以从Redis官方网站下载并安装Redis。 2. 配置主服务器:在主服务器的配置文件(redis.conf)中,找到并修改以下配置项: - 将`bind`配置项设置为主服务器的IP地址,以允许其他服务器连接。 - 将`protected-mode`配置项设置为`no`,以允许其他服务器连接。 - 将`port`配置项设置为主服务器的端口号。 - 将`daemonize`配置项设置为`yes`,以使Redis以守护进程方式运行。 - 将`logfile`配置项设置为日志文件的路径。 3. 启动主服务器:启动主服务器,确保它正常运行。 4. 配置从服务器:在从服务器的配置文件(redis.conf)中,找到并修改以下配置项: - 将`bind`配置项设置为从服务器的IP地址。 - 将`protected-mode`配置项设置为`no`。 - 将`port`配置项设置为从服务器的端口号。 - 将`daemonize`配置项设置为`yes`。 - 将`logfile`配置项设置为日志文件的路径。 - 将`slaveof`配置项设置为主服务器的IP地址和端口号,例如:`slaveof <主服务器IP> <主服务器端口号>`。 5. 启动从服务器:启动从服务器,确保它正常连接到主服务器。 6. 验证主从复制:在主服务器上执行写操作,然后在从服务器上执行读操作,确保数据同步正常。 7. 配置持久化:为了保证数据的持久性,你可以在主服务器和从服务器上配置RDB快照或AOF日志持久化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值