您的位置:首页 > 数据库 > Redis

redis集群

2017-08-14 12:54 127 查看
准备工作:

首先必须安装redis,安装完后,安装例如以下内容:

</pre><pre name="code" class="html"> sudo yum install ruby
sudo yum install rubygem
yum install -y ruby-devel ruby-docs ruby-ri ruby-rdoc
yum install -y rubygems
gem install redis


创建集群须要的文件夹

mkdir -p /usr.local/cluster
cd /usr.local/cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005


cp /home/sq/redis.conf /usr.local/cluster改动配置文件redis.conf

vi redis.conf
##改动配置文件里的以下选项
port 7000
daemonize yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
##改动完redis.conf配置文件里的这些配置项之后把这个配置文件分别复制到7000/7001/7002/7003/7004/7005文件夹以下
cp /usr/local/cluster/redis.conf /usr/local/cluster/7000
cp /usr/local/cluster/redis.conf /usr/local/cluster/7001
cp /usr/local/cluster/redis.conf /usr/local/cluster/7002
cp /usr/local/cluster/redis.conf /usr/local/cluster/7003
cp /usr/local/cluster/redis.conf /usr/local/cluster/7004
cp /usr/local/cluster/redis.conf /usr/local/cluster/7005

##注意:拷贝完毕之后要改动7001/7002/7003/7004/7005文件夹以下redis.conf文件里的port參数,分别改为相应的文件夹的名称


cd /usr/local/cluster/7000分别启动这6个redis实例

redis-server redis.conf
cd /usr/local/cluster/7001
redis-server redis.conf
cd /usr/local/cluster/7002
redis-server redis.conf
cd /usr/local/cluster/7003
redis-server redis.conf
cd /usr/local/cluster/7004
redis-server redis.conf
cd /usr/local/cluster/7005
redis-server redis.conf


创建集群
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

报错,例如以下所看到的

Connecting to node 127.0.0.1:7001: [ERR] Sorry, can't connect to node 127.0.0.1:7001

下载最新的配置文件。反复上面集群命令。成功。

>>> Creating cluster
Connecting to node 127.0.0.1:7000: OK
Connecting to node 127.0.0.1:7001: OK
Connecting to node 127.0.0.1:7002: OK
Connecting to node 127.0.0.1:7003: OK
Connecting to node 127.0.0.1:7004: OK
Connecting to node 127.0.0.1:7005: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
127.0.0.1:7000
127.0.0.1:7001
127.0.0.1:7002
Adding replica 127.0.0.1:7003 to 127.0.0.1:7000
Adding replica 127.0.0.1:7004 to 127.0.0.1:7001
Adding replica 127.0.0.1:7005 to 127.0.0.1:7002
M: d8bf7d3d9f38c7616e6347a5a2d054d8fa978397 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 6fc3ec10d8c2f472509c470faff2b111f37f7eea 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: 889968778bf2780e9fe9f1ea89057f3bad0f5675 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
S: 0584aa26b3fd35bbe8b03a25b2f51e99c89ae82e 127.0.0.1:7003
replicates d8bf7d3d9f38c7616e6347a5a2d054d8fa978397
S: a62f3805aa998b9721e66d36c62d2c0b50b74288 127.0.0.1:7004
replicates 6fc3ec10d8c2f472509c470faff2b111f37f7eea
S: e430fb63fce30514d4c4534f0e3e32b3287925bb 127.0.0.1:7005
replicates 889968778bf2780e9fe9f1ea89057f3bad0f5675
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 127.0.0.1:7000)
M: d8bf7d3d9f38c7616e6347a5a2d054d8fa978397 127.0.0.1:7000
slots:0-5460 (5461 slots) master
M: 6fc3ec10d8c2f472509c470faff2b111f37f7eea 127.0.0.1:7001
slots:5461-10922 (5462 slots) master
M: 889968778bf2780e9fe9f1ea89057f3bad0f5675 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
M: 0584aa26b3fd35bbe8b03a25b2f51e99c89ae82e 127.0.0.1:7003
slots: (0 slots) master
replicates d8bf7d3d9f38c7616e6347a5a2d054d8fa978397
M: a62f3805aa998b9721e66d36c62d2c0b50b74288 127.0.0.1:7004
slots: (0 slots) master
replicates 6fc3ec10d8c2f472509c470faff2b111f37f7eea
M: e430fb63fce30514d4c4534f0e3e32b3287925bb 127.0.0.1:7005
slots: (0 slots) master
replicates 889968778bf2780e9fe9f1ea89057f3bad0f5675
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.


測试:

redis-cli -c -p 7000
[root@localhost 7005]# redis-cli -c -p 7000

127.0.0.1:7000> sadd sq 123
-> Redirected to slot [13244] located at 127.0.0.1:7002
(integer) 1
127.0.0.1:7002> keys sq
1) "sq"
127.0.0.1:7002> keys *
1) "sq"
127.0.0.1:7002> smembers sq
1) "123"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: