Redis5.0.7群集搭建(最新版实战!!!)
admin
2023-02-24 04:00:04
0

实验环境

两台Centos 7虚拟机,均添加三块网卡用以模拟六台服务器实景
服务器角色 IP地址
主节点M1 192.168.142.130
主节点M2 192.168.142.145
主节点M3 192.168.142.146
从节点S1 192.168.142.143
从节点S2 192.168.142.147
从节点S3 192.168.142.148

实验步骤

第一步:安装Redis

#安装编译环境
[root@localhost ~]# yum install gcc gcc-c++ make -y

#远程挂载源码包
[root@localhost ~]# mount.cifs //192.168.142.1/redis /mnt
Password for root@//192.168.142.1/redis:  

#解压源码包
[root@localhost ~]# cd /mnt
[root@localhost mnt]# tar zxvf redis-5.0.7.tar.gz -C /opt

#编译与安装
[root@localhost mnt]# cd /opt/redis-5.0.7/
[root@localhost redis-5.0.7]# make
[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis/ install

#建立服务命令软链接到系统
[root@localhost redis-5.0.7]# ln -s /usr/redis/bin/* /usr/local/bin/

#切入utils目录
[root@localhost redis-5.0.7]# cd /opt/redis-5.0.7/utils/

#执行启动脚本
[root@localhost utils]# ./install_server.sh
#以下内容,默认回车即可
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [] /usr/local/redis/bin/redis-server
#此处需手动指定扩展目录路径/usr/local/redis/bin/redis-server

#使用进程控制启动服务
[root@localhost utils]# /etc/init.d/redis_6379 start
Starting Redis server...

#配置redis的6379.conf文件,追加监听地址
[root@localhost utils]# vim /etc/redis/6379.conf 

#注释第70行的监听127地址,已监听所有地址
#bind 127.0.0.1 

#去掉第89行注释关闭安全保护
protected-mode no

#去掉第93行注释,开启端口6379
port 6379

#去掉第137行注释,以独立进程启动
daemonize yes

#去掉第833行注释,开启群集功能
cluster-enabled yes

#去掉第841行注释,群集名称文件设置
cluster-config-file nodes-6379.conf

#去掉第847行注释,群集超时时间设置
cluster-node-timeout 15000

#去掉第700行注释,开启aof持久化
appendonly yes

#重启服务
[root@localhost utils]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...

第二步:主服务器安装rvm组件

#导入key文件
[root@localhost utils]# gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

#安装rvm
[root@localhost utils]# curl -sSL https://get.rvm.io | bash -s stable

#执行环境变量
[root@localhost utils]# source /etc/profile.d/rvm.sh

#列出ruby可以安装的版本
[root@localhost utils]# rvm list known

#安装2.4.1 版本
[root@localhost utils]# rvm install 2.4.1

#使用rubyruby2.4.1 版本
[root@localhost utils]# rvm use 2.4.1
Using /usr/local/rvm/gems/ruby-2.4.1

#查看当前ruby2.4.1 版本
[root@localhost utils]# ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

#再次安装Redis
[root@localhost utils]# gem install redis

第三步:创建Redis集群

#加入所有节点地址,并加6379端口号
[root@localhost utils]# redis-cli --cluster create 192.168.142.130:6379 192.168.142.145:6379 192.168.142.146:6379 192.168.142.143:6379 192.168.142.147:6379 192.168.142.148:6379 --cluster-replicas 1 

>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.142.147:6379 to 192.168.142.130:6379
Adding replica 192.168.142.148:6379 to 192.168.142.145:6379
Adding replica 192.168.142.143:6379 to 192.168.142.146:6379
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379
   slots:[0-5460] (5461 slots) master
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.145:6379
   slots:[5461-10922] (5462 slots) master
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.146:6379
   slots:[10923-16383] (5461 slots) master
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.143:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.147:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join

>>> Performing Cluster Check (using node 192.168.142.130:6379)
M: a27b43ec695099b36a5c79beae70cb0364f27338 192.168.142.130:6379
   slots:[0-16383] (16384 slots) master
   1 additional replica(s)
S: b6d317c5f192bf84e8f464ffbf6481529cd0708a 192.168.142.148:6379
   slots: (0 slots) slave
   replicates a27b43ec695099b36a5c79beae70cb0364f27338
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

第四步:验证群集读写

#从主节点计入数据库写数据
[root@localhost ~]# redis-cli -h 192.168.142.130 -p 6379
192.168.142.130:6379> set name yangjia
OK
192.168.142.130:6379> get name
"yangjia"

#从另一节点查看数据信息
[root@localhost ~]# redis-cli -h 192.168.142.146 -p 6379
192.168.142.146:6379> keys *
1) "name"
192.168.142.146:6379> get name
"yangjia"

#在从节点无法查看数据,提示切换主节点服务器地址
[root@localhost ~]# redis-cli -h 192.168.142.143 -p 6379
192.168.142.143:6379> keys *
1) "name"
192.168.142.143:6379> get name
(error) MOVED 5798 192.168.142.146:6379

在Redis集群中,主节点服务器负责写入数据,从节点服务器负责备份主节点服务器的实时数据

相关内容

热门资讯

最新引进“新九天牛牛究竟有挂吗... 网上科普关于“新九天牛牛有没有挂”话题很是火热,小编也是针对新九天牛牛作*弊开挂的方法以及开挂对应的...
今日重大发现“约战丹东麻将怎么... 今日重大发现“约战丹东麻将怎么开挂?”(太坑了原来有挂)您好,约战丹东麻将这个游戏其实有挂的,确实是...
今日重大发现“陕西三代一开挂神... 有 亲,根据资深记者爆料陕西三代一是可以开挂的,确实有挂(咨询软件无需打...
尼日利亚外长证实向美提供打击恐... 【环球网报道】据法新社26日报道,尼日利亚外交部长优素福·图加尔证实,尼方曾在打击行动前向美国提供有...
今日重磅消息“中至九江麻将究竟... 网上科普关于“中至九江麻将有没有挂”话题很是火热,小编也是针对中至九江麻将作*弊开挂的方法以及开挂对...
【第一资讯】“蛮籽麻将重庆是不... 家人们!今天小编来为大家解答蛮籽麻将重庆透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
终于了解“神赚棋牌是不是有挂?... 终于了解“神赚棋牌是不是有挂?”(原来真的有挂)您好,神赚棋牌这个游戏其实有挂的,确实是有挂的,需要...
【第一消息】“闲来麻将怎么装挂... 家人们!今天小编来为大家解答闲来麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
中经评论:如何用好“人工智能+... 中经评论:如何用好“人工智能+”? 作为新一轮科技革命和产业变革的重要驱动力量,人工智能具备典型的...
荣耀WIN评测:散热风扇加持 ... 如果让你选择一款电竞手机,你会更看重哪方面?旗舰性能?超长续航?高效散热?或是超高刷屏幕?当然,你也...