`

redis集群搭建

阅读更多

cluster 模式

 

第一步创建文件夹

mkdir cluster-redis

cd cluster-redis

mkdir 6001 6002 6003 7001 7002 7003

 

第二步  配置文件修改

(1)

Bind 192.168.99.171

Demonize yes

Port  7001

(2) redis 实例的pid文件:pidfile “/var/run/redis_700*.pid”

(3) 日志的配置文件: logfile “/usr/local/redis-cluster/700*/logs/edis.log”

(4)dir /usr/local/redis-cluster/700*/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)

(5)cluster-enabled yes (启动集群模式开启)

(6)cluster-config-file nodes700*.conf (这里700*最好和port对应上)

(7) cluster-node-timeout 5000

(8)appendonly yes 并修改aof模式为:appendfsync always

 

第三步

拷贝redis安装文件到各个集群文件夹下

cp /usr/local/redis-3.2.8 /usr/local/cluster-reids/600*

拷贝配置文件redis.conf到每个文件夹下

(vi全局修改命令     :%s/6001/6002/g    意思是将文件中所有6001改成6002,g的意思是全局)

 

第四步

安装ruby

yum install ruby

yum install rubygems

gem install redis    //ruby 与redis集成

 

第五步

分别启动每个节点

/usr/local/bin/redis-server /usr/local/cluster-redis/600*/redis.conf

ps -ef | grep redis查看是否都启动了

查看结果如下:

    0 36834     1   0 10:59下午 ??         0:00.26 /usr/local/bin/redis-server 192.168.99.171:6001 [cluster] 

    0 36939     1   0 11:01下午 ??         0:00.18 /usr/local/bin/redis-server 192.168.99.171:6002 [cluster] 

    0 37013     1   0 11:03下午 ??         0:00.11 /usr/local/bin/redis-server 192.168.99.171:6003 [cluster] 

    0 37053     1   0 11:04下午 ??         0:00.08 /usr/local/bin/redis-server 192.168.99.171:7001 [cluster] 

    0 37097     1   0 11:04下午 ??         0:00.05 /usr/local/bin/redis-server 192.168.99.171:7002 [cluster] 

    0 37143     1   0 11:05下午 ??         0:00.01 /usr/local/bin/redis-server 192.168.99.171:7003 [cluster] 

此时每个节点都是单独地节点,还不是集群

第六步

redis目录下src下 执行 redis-trib.rb 命令,—replicas 1 的意思是 主节点和从节点的比例是1

cd /usr/local/redis-3.2.8/src/

 ./redis-trib.rb create --replicas 1 192.168.99.171:6001 192.168.99.171:6002 192.168.99.171:6003 192.168.99.171:7001 192.168.99.171:7002 192.168.99.171:7003

 

下面是执行结果

>>> Creating cluster

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

Using 3 masters:

192.168.99.171:6001

192.168.99.171:6002

192.168.99.171:6003

Adding replica 192.168.99.171:7001 to 192.168.99.171:6001

Adding replica 192.168.99.171:7002 to 192.168.99.171:6002

Adding replica 192.168.99.171:7003 to 192.168.99.171:6003

M: 41040ebe0a355446e8aacb1ece9363ae1cd52a2a 192.168.99.171:6001

   slots:0-5460 (5461 slots) master

M: 7df9adb8cb22702a37adf78cf638b2237dbb295d 192.168.99.171:6002

   slots:5461-10922 (5462 slots) master

M: 4ac4444bbdbe31270be1c162233ef663899047a6 192.168.99.171:6003

   slots:10923-16383 (5461 slots) master

S: bc472066eebfec7751ff0feaad4afc81e84c4d9c 192.168.99.171:7001

   replicates 41040ebe0a355446e8aacb1ece9363ae1cd52a2a

S: 21d0cde48313ca062ac059b94230665c1e27924a 192.168.99.171:7002

   replicates 7df9adb8cb22702a37adf78cf638b2237dbb295d

S: ec6b05010a22dc4002ddee7c7a11d8f408c8a471 192.168.99.171:7003

   replicates 4ac4444bbdbe31270be1c162233ef663899047a6

Can I set the above configuration? (type 'yes' to accept): yes           // 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 192.168.99.171:6001)

M: 41040ebe0a355446e8aacb1ece9363ae1cd52a2a 192.168.99.171:6001

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

S: ec6b05010a22dc4002ddee7c7a11d8f408c8a471 192.168.99.171:7003

   slots: (0 slots) slave

   replicates 4ac4444bbdbe31270be1c162233ef663899047a6

S: bc472066eebfec7751ff0feaad4afc81e84c4d9c 192.168.99.171:7001

   slots: (0 slots) slave

   replicates 41040ebe0a355446e8aacb1ece9363ae1cd52a2a

S: 21d0cde48313ca062ac059b94230665c1e27924a 192.168.99.171:7002

   slots: (0 slots) slave

   replicates 7df9adb8cb22702a37adf78cf638b2237dbb295d

M: 4ac4444bbdbe31270be1c162233ef663899047a6 192.168.99.171:6003

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

M: 7df9adb8cb22702a37adf78cf638b2237dbb295d 192.168.99.171:6002

   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.

 

到这里集群就搭建成功了

 

第七步验证

/usr/local/bin/redis-cli -c -h 192.168.99.171 -p 6001

-c 表示以集群的模式启动

 

info

cluster-info

cluster-node

 

 

可以查看集群相关信息

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics