redis linux 环境集群安装

redis 集群安装
1,安装背景,已经安装完成单机redis 的基础上,如果没有安装请看上篇文章 redis 4.0.10 安装
https://blog.csdn.net/lijinlong1989/article/details/827017902
环境版本
centos 6.9
redis 4.0.2
rvm 1.29.4
ruby 2.3.3
gem 2.7.7
redis-trib.rb工具进行安装

2,安装ruby
刚开始用 yum install ruby  但是是2.0以下的版本,往后执行会报错 redis requires Ruby version >= 2.2.2.
所以可以卸载掉 (yum -y remove ruby),从新安装
   1, https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.7.tar.gz 下载ruby 上传到linxu服务器(未尝试)
   2,curl -L get.rvm.io | bash -s stable 安装ruby的管理工具 运行报错 执行
      curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -  再次执行
      curl -L get.rvm.io | bash -s stable
      安装成功 查看版本 rvm -v
      rvm 安装ruby
      rvm install 2.3.3 安装成功后查看版本
      [root@iZ8vbgliys1ni7zu2s9otaZ src]# ruby -v
      ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
      [root@iZ8vbgliys1ni7zu2s9otaZ src]# gem -v
      2.7.7
      安装 ruby的 redis插件  否则后期遇到错,现在拿到前面来说
      [root@iZ8vbgliys1ni7zu2s9otaZ src]# gem install redis
      Fetching: redis-4.0.2.gem (100%)
      Successfully installed redis-4.0.2
      Parsing documentation for redis-4.0.2
      Installing ri documentation for redis-4.0.2
      Done installing documentation for redis after 1 seconds
      1 gem installed
      到此安装ruby 跟相关依赖OK 下面真正redis集群安装
3,修改已经安装好的单点redis 配置,redis.conf
port:6379  //修改端口
bind:127.0.0.1 //改成0.0.0.0 ,如果是内网可以不用改,本人阿里云服务器如果不改telnet不通
cluster-enabled yes //开启集群模式
cluster-node-timeout 15000//节点超时时间,单位为毫秒
cluster-config-file "nodes-6379.conf" //集群配置文件,服务启动自动生城
appendonly   yes //开启aof日志功能  
复制生成6个redis节点文件 ,可以在当前目录,也可以单独建一个文件夹
redis-6379.conf ,redis-6380.conf  等等
4,启动集群6个节点

src/redis-server  redis_cluster/redis-6379.conf
src/redis-server  redis_cluster/redis-6380.conf
src/redis-server  redis_cluster/redis-6381.conf
src/redis-server  redis_cluster/redis-6382.conf
src/redis-server  redis_cluster/redis-6383.conf
src/redis-server  redis_cluster/redis-6384.conf

5,查看节点情况
ps -ef|grep redis
6,创建集群
进入redis src目录下执行 1 的意思是一个主节点对应一个从节点
./redis-trib.rb  create  --replicas  1 0.0.0.0:6379 0.0.0.0:6380 0.0.0.0:6381 0.0.0.0:6382 0.0.0.0:6383 0.0.0.0:6384

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
0.0.0.0:6379
0.0.0.0:6380
0.0.0.0:6381
Adding replica 0.0.0.0:6382 to 0.0.0.0:6379
Adding replica 0.0.0.0:6383 to 0.0.0.0:6380
Adding replica 0.0.0.0:6384 to 0.0.0.0:6381
M: 4ba5f91553233074ae811bf3fade720ebbc95213 0.0.0.0:6379
   slots:0-5460 (5461 slots) master
M: cacb1e5ee482f04417f67df8174675be7182d9bf 0.0.0.0:6380
   slots:5461-10922 (5462 slots) master
M: effed2fcf058d5fb683850e12f531b3311213ea6 0.0.0.0:6381
   slots:10923-16383 (5461 slots) master
S: e269e348654c82fabb88f163f4c7a5a1b15ac011 0.0.0.0:6382
   replicates 4ba5f91553233074ae811bf3fade720ebbc95213
S: fb6717f33f13d65f661864096cec193bdd6eb336 0.0.0.0:6383
   replicates cacb1e5ee482f04417f67df8174675be7182d9bf
S: 724c0315f3fb370b6c6394bdde08e93dd008be22 0.0.0.0:6384
   replicates effed2fcf058d5fb683850e12f531b3311213ea6
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 0.0.0.0:6379)
M: 4ba5f91553233074ae811bf3fade720ebbc95213 0.0.0.0:6379
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
M: effed2fcf058d5fb683850e12f531b3311213ea6 127.0.0.1:6381
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 724c0315f3fb370b6c6394bdde08e93dd008be22 127.0.0.1:6384
   slots: (0 slots) slave
   replicates effed2fcf058d5fb683850e12f531b3311213ea6
S: fb6717f33f13d65f661864096cec193bdd6eb336 127.0.0.1:6383
   slots: (0 slots) slave
   replicates cacb1e5ee482f04417f67df8174675be7182d9bf
S: e269e348654c82fabb88f163f4c7a5a1b15ac011 127.0.0.1:6382
   slots: (0 slots) slave
   replicates 4ba5f91553233074ae811bf3fade720ebbc95213
M: cacb1e5ee482f04417f67df8174675be7182d9bf 127.0.0.1:6380
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
到此创建节点成功
7,进入节点查看状态
cluster nodes
effed2fcf058d5fb683850e12f531b3311213ea6 127.0.0.1:6381@16381 master - 0 1537073065000 3 connected 10923-16383
724c0315f3fb370b6c6394bdde08e93dd008be22 127.0.0.1:6384@16384 myself,slave effed2fcf058d5fb683850e12f531b3311213ea6 0 1537073062000 6 connected
cacb1e5ee482f04417f67df8174675be7182d9bf 127.0.0.1:6380@16380 master - 0 1537073064000 2 connected 5461-10922
4ba5f91553233074ae811bf3fade720ebbc95213 127.0.0.1:6379@16379 master - 0 1537073065909 1 connected 0-5460
e269e348654c82fabb88f163f4c7a5a1b15ac011 127.0.0.1:6382@16382 slave 4ba5f91553233074ae811bf3fade720ebbc95213 0 1537073064000 4 connected
fb6717f33f13d65f661864096cec193bdd6eb336 127.0.0.1:6383@16383 slave cacb1e5ee482f04417f67df8174675be7182d9bf 0 1537073062905 5 connected

 ./redis-cli -c -h 127.0.0.1 -p 6384
127.0.0.1:6384> set aa 100
-> Redirected to slot [1180] located at 127.0.0.1:6379
OK
127.0.0.1:6379> get aa
"100"
到此再阿里云redis集群搭建完成,如果想通过本地访问阿里云服务器,必须在设置阿里云安全组增加端口,并且在修改redis
配置文件bind :0.0.0.0 必须****************否则不通。
目前本地通过telnet 服务器ok,但是通过JedisCluster 还是不行,可能是JedisCluster 版本问题,明天继续解决

本篇文章通过redis-trib.rb工具进行安装,如果不行可以试着手动安装,下篇文章手动安装


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值