redis集群搭建

硬件环境: 

  1. Linux:centos
  2. redis:redis-4.0.7

创建多个实例:

  •     在redis目录下,通过命令创建6个redis的实例,data文件是用来存放数据的
mkdir -p 9001/data 9002/data 9003/data 9004/data 9005/data 9006/data
  •     在redis目录下创建bin目录用来存放集群运行脚本,并把redis-4.0.7/src文件下的文件copy到bin下面去,有一个文件copy的时候没有,不过不要紧
mkdir bin
cd /usr/redis/redis-4.0.7/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server redis-trib.rb /usr/redis/bin
  • 复制redis-4.0.7下面的所有文件到9001目录下面去,然后更改相应的配置,使用vi命令进入文件后,可通过/key去查找字符串,按键n是继续查找下一个
  • \cp -rf 命令是不使用别名来复制,因为 cp 其实是别名 cp -i,操作时会有交互式确认,比较烦人
\cp -rf /usr/redis/redis-4.0.7/* /usr/redis/9001/
port 9001(每个节点的端口号)
daemonize yes
bind 192.168.119.131(绑定当前机器 IP)
dir /usr/redis/9001/data/(数据文件存放位置)
pidfile /var/run/redis_9001.pid(pid 9001和port要对应)
cluster-enabled yes(启动集群模式)
cluster-config-file nodes9001.conf(9001和port要对应)
cluster-node-timeout 15000
appendonly yes
  • 将9001下面的实例都复制到9002~9006,再只要将相应的端口号改了就可以了,:%s/9001/9002/g命令可将所有端口全部替换掉
  • 最后启动六个实例就可以了
redis-server 9001/redis.conf 
redis-server 9002/redis.conf 
redis-server 9003/redis.conf 
redis-server 9004/redis.conf 
redis-server 9005/redis.conf 
redis-server 9006/redis.conf

使用ps -el | grep redis命令查看,六个redis确实都启动成功了,然后连接9001,给它set了一个值,发现在其它redis并不能查出来,说明集群还没有成功

redis-cli -h 192.168.119.131 -p 9001
  • 然而集群是需要安装ruby的
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

在这里报了个小错,应该是说ruby版本过低,是2.0的,需要升级版本

curl -L get.rvm.io | bash -s stable

然后又出了各小问题,因为我的问题已经解决了,借用一下别人的图,这里告诉你,在命令行敲击该命令就可以了,然后重新下载rvm安装,运行一下上面的命令就可以了。

接着,source环境,让rvm可用

source /usr/local/rvm/scripts/rvm

查看ruby版本,我使用的是最新的2.6的版本,使用命令rvm install 2.6将ruby升级

[root@iZ23cb125ipZ /]# rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.7]
[ruby-]2.4[.4]
[ruby-]2.5[.1]
[ruby-]2.6[.0-preview2]

安装redis接口,准备工作已经差不多了

gem install redis
yum install -y rubygems

输入命令,启动集群,--replicas 1,1代表1:1的比例开启集群,这样redis集群就成功了,我这里没有设置槽点,也没有提示设置,估计是自动分配了吧

bin/redis-trib.rb create --replicas 1 192.168.119.131:9001 192.168.119.131:9002 192.168.119.131:9003 192.168.119.131:9004 192.168.119.131:9005 192.168.119.131:9006

登录9001的redis,设置了一个key,然后跳转到9006,获取key,发现获取不到的,后来才知道,9001主对应的是9004从,9004能够获取到key的信息,这里差不多就完成了

参考自以下两个博客:

https://www.cnblogs.com/kangoroo/p/7657616.html

https://www.cnblogs.com/mafly/p/redis_cluster.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值