搭建redis集群

时间:2022-07-24
本文章向大家介绍搭建redis集群,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

redis的安装此篇不做说明,可以参考:https://www.cnblogs.com/lm970585581/p/9909957.html

本次使用三台linux服务器,每台服务器上使用7000,7001两个端口

创建配制节点

mkdir -p /usr/local/redis/redis_cluster/7000 mkdir -p /usr/local/redis/redis_cluster/7001

cp /root/redis/redis.conf /usr/loca/redis/redis_cluster/7000 此配置文件可以在解压redis后的文件夹根目录中找到 cp /root/redis/redis.conf /usr/loca/redis/redis_cluster/7001

修改redis.conf

port  7000                                //端口根据对应的文件夹去配制端口 7000,7001  
注释掉  bind 本机ip                       
daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7000.pid          //pidfile文件对应7000,7001
cluster-enabled  yes                      //开启集群  把注释#去掉
cluster-config-file  nodes_7000.conf      //集群的配置  配置文件首次启动自动生成 7000,7001
cluster-node-timeout  15000               //请求超时  默认15秒,可自行设置
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
requirepass redis               //设置密码

将redis安装目录整体复制到另外两台服务器上

使用scp -r /usr/local/redis root@ip:/usr/local命令进行复制,可以保证复制后权限不变

复制src目录中的redis-trib.rb 到/usr/local/redis/bin目录

cp /root/redis/src/redis-trib.rb /usr/local/redis/bin

安装ruby环境

yum install -y ruby yum install -y rubygems

安装ruby的包

gem install redis-4.0.0.rc1.gem

如果不成功需要去下载后安装 下载地址 https://rubygems.org/gems/redis/versions/4.0.0.rc1 https://rubygems.org/downloads/redis-4.0.0.rc1.gem

安装命令:gem install -l ./redis-4.0.0.rc1.gem

启动每台服务器的各个节点

/usr/local/redis/bin/redis-server /usr/local/redis/redis_cluster/7000/redis.conf

/usr/local/redis/bin/redis-server /usr/local/redis/redis_cluster/7001/redis.conf

检查各节点是否启动

查看进程 ps -ef | grep redis

查看端口 netstat -tnlp | grep redis

创建集群

./redis-trib.rb create --replicas 1 192.168.220.128:7000 192.168.220.128:7001 192.168.220.129:7000 192.168.220.129:7001 192.168.220.130:7000 192.168.220.130:7001

★★★★注意有坑: 设置ruby脚本执行密码vim /usr/local/rvm/gems/ruby-2.5.1/gems/redis-4.0.11/lib/redis/client.rb密码必须和redis的requirepass设置密码的一致

注意:client.rb路径可以通过find命令查找:find / -name 'client.rb'

配置防火墙端口

各个redis集群节点的通信端口为应用端口前面加1

以本次为例,我们要开放7001 17001 7002 17002 4个端口

firewall-cmd --add-port=7001/tcp --permanent

..

..

firewall-cmd --reload

验证集群

redis-cli -h ip -p 端口 -a 密码 -c