使用工具搭建redis集群

环境准备:

搭建redis,并启动

安装集群插件

#EPEL源安装ruby支持

[root@db01 ~]# yum install ruby rubygems -y

#查看gem源

[root@db01 ~]# gem sources -l

*** CURRENT SOURCES ***

http://rubygems.org/

#添加阿里云的gem源

[root@db01 ~]# gem sources -a http://mirrors.aliyun.com/rubygems/

http://mirrors.aliyun.com/rubygems/ added to sources

#删除国外gem源

[root@db01 ~]# gem sources  --remove https://rubygems.org/

http://rubygems.org/ removed from sources

#再次查看gem源

[root@db01 ~]# gem sources -l

#使用gem安装redis的ruby插件

[root@db01 ~]# gem install redis -v 3.3.3

Successfully installed redis-3.3.3

1 gem installed

Installing ri documentation for redis-3.3.3...

Installing RDoc documentation for redis-3.3.3...


redis-trib.rb命令

[root@db01 ~]# redis-trib.rb

create #创建一个集群

check #检查集群

info #集群状态

fix #修复集群

reshard #重新分配槽位

rebalance #平衡槽位数量

add-node #添加节点

del-node #删除节点

set-timeout #设置超时时间

call #向集群所有机器输入命令

import #导入数据

help            #帮助

关联所有节点

[root@db01 ~]# redis-trib.rb create --replicas 1 172.16.1.51:6379 172.16.1.52:6379 172.16.1.53:6379 172.16.1.52:6380 172.16.1.53:6380 172.16.1.51:6380

>>> Creating cluster

>>> Performing hash slots allocation on 6 nodes...

Using 3 masters:

172.16.1.51:6379

172.16.1.52:6379

172.16.1.53:6379

Adding replica 172.16.1.52:6380 to 172.16.1.51:6379

Adding replica 172.16.1.51:6380 to 172.16.1.52:6379

Adding replica 172.16.1.53:6380 to 172.16.1.53:6379

M: 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379

  slots:0-5460 (5461 slots) master

M: 7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379

  slots:5461-10922 (5462 slots) master

M: d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379

  slots:10923-16383 (5461 slots) master

S: fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380

  replicates 5ad7bd957133eac9c3a692b35f8ae72258cf0ece

S: e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380

  replicates d27553035a3e91c78d375208c72b756e9b2523d4

S: 1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380

  replicates 7c79559b280db9d9c182f3a25c718efe9e934fc7

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 172.16.1.51:6379)

M: 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379

  slots:0-5460 (5461 slots) master

  1 additional replica(s)

S: e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380

  slots: (0 slots) slave

  replicates d27553035a3e91c78d375208c72b756e9b2523d4

M: d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379

  slots:10923-16383 (5461 slots) master

  1 additional replica(s)

S: fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380

  slots: (0 slots) slave

  replicates 5ad7bd957133eac9c3a692b35f8ae72258cf0ece

S: 1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380

  slots: (0 slots) slave

  replicates 7c79559b280db9d9c182f3a25c718efe9e934fc7

M: 7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379

  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.

查看集群状态

[root@db01 ~]# redis-cli -h 172.16.1.51 -p 6379 CLUSTER NODES

e4794215d9d3548e9c514c10626ce618be19ebfb 172.16.1.53:6380 slave d27553035a3e91c78d375208c72b756e9b2523d4 0 1596767315453 5 connected

d27553035a3e91c78d375208c72b756e9b2523d4 172.16.1.53:6379 master - 0 1596767315453 3 connected 10923-16383

5ad7bd957133eac9c3a692b35f8ae72258cf0ece 172.16.1.51:6379 myself,master - 0 0 1 connected 0-5460

fee551a90c8646839f66fa0cd1f6e5859e9dd8e0 172.16.1.52:6380 slave 5ad7bd957133eac9c3a692b35f8ae72258cf0ece 0 1596767313429 4 connected

1d10edbc5ed08f85d2afc21cd338b023b9dd61b4 172.16.1.51:6380 slave 7c79559b280db9d9c182f3a25c718efe9e934fc7 0 1596767313935 6 connected

7c79559b280db9d9c182f3a25c718efe9e934fc7 172.16.1.52:6379 master - 0 1596767314949 2 connected 5461-10922

重新做主从

#由于使用工具,始终有一台机器从库本机的从库,所以要重新分配主从

172.16.1.52:6380> CLUSTER REPLICATE d27553035a3e91c78d375208c72b756e9b2523d4

OK

172.16.1.53:6380> CLUSTER REPLICATE 5ad7bd957133eac9c3a692b35f8ae72258cf0ece

OK

插入数据测试

[root@db01 ~]# redis-trib.rb info 172.16.1.52:6379

172.16.1.52:6379 (7c79559b...) -> 332 keys | 5462 slots | 1 slaves.

172.16.1.51:6379 (5ad7bd95...) -> 341 keys | 5461 slots | 1 slaves.

172.16.1.53:6379 (d2755303...) -> 327 keys | 5461 slots | 1 slaves.

[OK] 1000 keys in 3 masters.

0.06 keys per slot on average.

[root@db01 ~]# redis-trib.rb info 172.16.1.52:6379

172.16.1.52:6379 (7c79559b...) -> 661 keys | 5462 slots | 1 slaves.

172.16.1.51:6379 (5ad7bd95...) -> 674 keys | 5461 slots | 1 slaves.

172.16.1.53:6379 (d2755303...) -> 665 keys | 5461 slots | 1 slaves.

[OK] 2000 keys in 3 masters.

0.12 keys per slot on average.


你可能感兴趣的:(使用工具搭建redis集群)