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

Redis集群搭建

2016-09-13 23:05 211 查看

搭建Redis集群

一、安装Redis(需要安装gcc:yum install gcc-c++)

  1、下载redis源码包,我用的是redis.3.2.3,把源码包上传到linux服务器

  2、解压源码包  tar -zxvf redis-3.2.3.tar.gz

  3、Make进行编译

  4、Make install

 [root@bogon redis-3.2.3]# make install PREFIX=/usr/local/redis

(启动redis方式:

 1、前端启动模式:   /usr/local/redis/bin/redis-server

默认是前端启动模式,端口是6379

2、后端启动

1)从redis的源码目录中复制redis.conf到redis的安装目录。

2)修改配置文件:daemonize :yes

3)[root@bogon bin]# ./redis-server redis.conf



 

 

二、搭建集群需要的环境

集群中有三个节点的集群,每个节点有一主一备。需要6台虚拟机。

搭建一个伪分布式的集群,使用6个redis实例来模拟。

1、安装ruby的环境。

搭建集群需要使用到官方提供的ruby脚本:redis-3.0.0.gem(这是我用的,现在有了最新版本,请自行下载)

安装ruby:

yum install ruby

yum install rubygems

脚本需要的ruby包:

需要上传到linux服务。

安装ruby的包:

   gem install redis-3.0.0.gem

 

2、搭建集群

概括:之前,将redis-config配置文件复制到redis编译后的bin文件下。创建6个文件夹,令编译后的redis 的bin中的文件同等复制到这六个文件夹中。修改每个文件夹中各自的redis-config这个配置文件。

详细步骤如下:

第一步:创建6个redis实例,端口号从7001~7006

第二步:修改redis的配置文件

1、修改端口号:port:7001(每个实例中的端口分别写出7001——7006)

2、打开cluster-enable前面的注释:cluster-enabled:yes

第三步:把创建集群的ruby脚本复制到redis-cluster目录下。

第四步:启动6个redis实例

第五步:创建集群。

./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005  192.168.25.153:7006

 

[root@bogon redis-cluster]# ./redis-trib.rbcreate --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006

效果:

>>> Creating cluster

Connecting to node 192.168.25.153:7001: OK

Connecting to node 192.168.25.153:7002: OK

Connecting to node 192.168.25.153:7003: OK

Connecting to node 192.168.25.153:7004: OK

Connecting to node 192.168.25.153:7005: OK

Connecting to node 192.168.25.153:7006: OK

>>> Performing hash slotsallocation on 6 nodes...

Using 3 masters:

192.168.25.153:7001

192.168.25.153:7002

192.168.25.153:7003

Adding replica 192.168.25.153:7004 to192.168.25.153:7001

Adding replica 192.168.25.153:7005 to192.168.25.153:7002

Adding replica 192.168.25.153:7006 to192.168.25.153:7003

M: 5a8523db7e12ca600dc82901ced06741b3010076192.168.25.153:7001

  slots:0-5460 (5461 slots) master

M: bf6f0929044db485dea9b565bb51e0c917d20a53192.168.25.153:7002

  slots:5461-10922 (5462 slots) master

M: c5e334dc4a53f655cb98fa3c3bdef8a808a693ca192.168.25.153:7003

  slots:10923-16383 (5461 slots) master

S: 2a61b87b49e5b1c84092918fa2467dd70fec115f192.168.25.153:7004

  replicates 5a8523db7e12ca600dc82901ced06741b3010076

S: 14848b8c813766387cfd77229bd2d1ffd6ac8d65192.168.25.153:7005

  replicates bf6f0929044db485dea9b565bb51e0c917d20a53

S: 3192cbe437fe67bbde9062f59d5a77dabcd0d632192.168.25.153:7006

  replicates c5e334dc4a53f655cb98fa3c3bdef8a808a693ca

Can I set the above configuration? (type'yes' to accept): yes

>>> Nodes configuration updated

>>> Assign a different configepoch to each node

>>> Sending CLUSTER MEET messagesto join the cluster

Waiting for the cluster to join.....

>>> Performing Cluster Check(using node 192.168.25.153:7001)

M: 5a8523db7e12ca600dc82901ced06741b3010076192.168.25.153:7001

  slots:0-5460 (5461 slots) master

M: bf6f0929044db485dea9b565bb51e0c917d20a53192.168.25.153:7002

  slots:5461-10922 (5462 slots) master

M: c5e334dc4a53f655cb98fa3c3bdef8a808a693ca192.168.25.153:7003

  slots:10923-16383 (5461 slots) master

M: 2a61b87b49e5b1c84092918fa2467dd70fec115f192.168.25.153:7004

  slots: (0 slots) master

  replicates 5a8523db7e12ca600dc82901ced06741b3010076

M: 14848b8c813766387cfd77229bd2d1ffd6ac8d65192.168.25.153:7005

  slots: (0 slots) master

  replicates bf6f0929044db485dea9b565bb51e0c917d20a53

M: 3192cbe437fe67bbde9062f59d5a77dabcd0d632192.168.25.153:7006

  slots: (0 slots) master

  replicates c5e334dc4a53f655cb98fa3c3bdef8a808a693ca

[OK] All nodes agree about slotsconfiguration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

[root@bogon redis-cluster]#

 

三、测试集群

正确写法:

[root@bogon redis-cluster]#redis01/redis-cli -h 192.168.25.153 -p 7002
-c


 

错误写法:

[root@bogon redis-cluster]#redis01/redis-cli -h 192.168.25.153 -p 7002

注意:-c   一定要写

192.168.25.153:7002> set a 100

(error) MOVED 15495 192.168.25.153:7003

192.168.25.153:7002>

[root@bogon redis-cluster]#redis01/redis-cli -h 192.168.25.153 -p 7002 -c

192.168.25.153:7002> set a 100

-> Redirected to slot [15495] located at192.168.25.153:7003

OK

192.168.25.153:7003>

 

四、关闭redis

redis01/redis-cli -p 7001 shutdown

这样就创建了最简单基础的redis集群了,复杂的集群设置还需一点点配置。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Redis 集群搭建