7.redis 的集群搭建

单节点,8G内存 部署6台测试。

1.#mkdir  /usr/local/redis-cluster

#mkdir 7001 7002 7003 7004 7005 7006

 

2.配置一个7001 的redis.conf 

  1)bind 192.168.50.160         //这里都在一个节点上了,6台机器应绑定各自端口

     port 7001         //同一个机器,7001~7006

     daemonize yes    //是否设置为后台启动

  2)redis 实例的pid 文件(是个进程就有个文件):

    pidfile /var/run/redis_7001.pid                      //7001~7006

  3)日志配置文件地址

    logfile "/usr/local/redis-cluster/7001/redis.log"   //7001~7006

  4)数据文件存储地址

    dir /usr/local/redis-cluster/7001                    //7001~7006

  5)启动集群模式

    cluster-enabled yes                             //是否启动集群模式

  6)集群中每个节点有个配置文件

    cluster-config-file nodes-7001.conf     //7001~7006 ,默认采用和端口名一样了

  7)集群节点超时时间

    cluster-node-timeout 15000    

  8)刷盘模式

    appendonly yes   

    appendfilename "appendonly.aof"

    appendfsync always       //aof 模式

 

3.集群各个目录修改

  1)将redis.conf 复制到7002 、7003、7004、7005、7006

 

  2)修改 替换 7001为7002 ;其他依次操作

    vim redis.conf

     :%s/7001/7002/g     // 完成单个文件的替换  ,g表示全局替换

    //总共5个700*    ,  /  模糊查询 7002 ,按n  翻页查看

 4.redis 集群需要用到ruby ,安装ruby

    1)yum install ruby

    2)yum install rubygems

    3) gem install redis

    ## 报错redis requires Ruby version >= 2.2.2问题 

    

1.安装RVM
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3  
curl -L get.rvm.io | bash -s stable  
source /usr/local/rvm/scripts/rvm  

2.查看目前的ruby版本
ruby --version  

3.删除当前ruby版本
rvm remove 2.0.0  

4.查看RVM库中的ruby版本
rvm list known  

5.查看RVM库中的ruby版本
rvm install "ruby-2.4.1"

6.选择安装ruby版本并设为默认
rvm use 2.4 --default

7.重新执行gem install redis 
这里默认安装成了4版本,不知会有影响吗;我的redis 安装的是redis-3.2.11

5. 启动各个节点

//先启动节点

 # ./redis-server /usr/local/redis-cluster/700*/redis.conf      //启动各个节点对应的脚本

 

# cd /home/caolh/redis-3.2.11/src                        //  该文件下面有集群模式启动脚本

//创建集群 

# ./redis-trib.rb create --replicas 1 192.168.50.160:7001 192.168.50.160:7002 192.168.50.160:7003 192.168.50.160:7004 192.168.50.160:7005 192.168.50.160:7006     //  创建集群  ,1表示 比例值 ,集群里的主节点和从节点比例是1:1

 

//可以看到主节点是7001~7003 ,从节点是7004~7006;主节点划分了16384个slot 槽,每个主节点的槽范围不一样,但是各自对应的从节点是一样的。

 

 6.登陆测试  

 info 、cluster info  、cluster nodes  查看集群 主节点、从节点信息

linux 下启动集群节点方式

#  ./redis-cli -c -h 192.168.50.160 -p 7001[root@localhost bin]# ./redis-cli -c -h 192.168.50.160 -p 7001 //第一次登陆的是7001

192.168.50.160:7001> set name java-caolihua
-> Redirected to slot [5798] located at 192.168.50.160:7002       //数据重定向到7002节点
OK
192.168.50.160:7002> keys *
1) "name"
192.168.50.160:7002> quit
[root@localhost bin]# ./redis-cli -c -h 192.168.50.160 -p 7001     //7001 查不到该数据
192.168.50.160:7001> keys *
(empty list or set)
192.168.50.160:7001> set age 1                                 //数据没有重定向
OK
192.168.50.160:7001> keys *                                    //7001可以查到数据
1) "age"

//之前创建集群,指定的主节点、副本信息
Adding replica 192.168.50.160:7004 to 192.168.50.160:7001
Adding replica 192.168.50.160:7005 to 192.168.50.160:7002
Adding replica 192.168.50.160:7006 to 192.168.50.160:7003
// 可以看到 从节点7004,7005都有了相应的数据

[root@localhost bin]# ./redis-cli -c -h 192.168.50.160 -p 7004 
192.168.50.160:7004> keys *
1) "age"
192.168.50.160:7004> quit
[root@localhost bin]# ./redis-cli -c -h 192.168.50.160 -p 7005 
192.168.50.160:7005> keys *
1) "name"
192.168.50.160:7005>

//测试 在从节点写入数据  ,转向到了主节点1 ,可以设置只读,不能写入

192.168.50.160:7005> set xxx 111
-> Redirected to slot [4038] located at 192.168.50.160:7001
OK
192.168.50.160:7001>

 

 7.RDM测试,RDM0.8版本数据正常,0.9 版本数据有问题

启动成功,

 

8.集群数据删除 、重启、集群操作博客

官网:  http://redis.io./topics/cluster-tutorial

http://blog.51yip.com/nosql/1726.html/comment-page-1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值