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

redis集群搭建之一~使用utils/create-cluster方法

2016-05-08 18:13 911 查看
关于集群的架构请参考redis集群架构

一、前置条件

已经安装好redis

下面大致了解该脚本的位置、用处以及用法

zhengshanshandeMacBook-Pro:9008 zhengshanshan$ cd ../redis-3.0.6/
$ pwd
/Applications/redis-cluster/redis-3.0.6
//1.该脚本的位置
$ ls -al utils/create-cluster/
total 24
drwxr-xr-x@  5 zhengshanshan  admin   170  4 26 21:45 .
drwxr-xr-x@ 16 zhengshanshan  admin   544  4 26 21:45 ..
-rw-r--r--@  1 zhengshanshan  admin    35  4 26 21:45 .gitignore
-rw-r--r--@  1 zhengshanshan  admin  1301  4 26 21:45 README
-rwxr-xr-x@  1 zhengshanshan  admin  2206  4 26 21:45 create-cluster
$ cd utils/create-cluster/
$ pwd
/Applications/redis-cluster/redis-3.0.6/utils/create-cluster
//2.用处与用法
//有点耐心 我们先看一下README
/**
* 大致内容翻译如下:
* Create-cluster是一个小的脚本,用于快捷的去启动一个大数量实例的集群。
* 它主要的目的是允许在不方便同步redis集群条件下(即不方便复现redis集群的bug 情况下,人为创造同样条件bug),可以测试。
* 这个工具可以很容易的创建一定数量的实例的集群用于测试系统
* 用法:
* 1.去创建集群
*  1.1 你需要去编辑该目录下的create-cluster文件,并且更改文件中以下部分
*  PORT=30000 //集群端口从30000开始,这个你就可以改成你想用的port 7000 or 9000都可以
*  TIMEOUT=2000
*  NODES=6 //集群共有6个nodes
*  REPLICAS=1//每个master有1个salve
*  1.2  使用"./create-cluster start"命令去启动各个实例nodes
*  1.3  使用"./create-cluster create"去连接各个node
*  1.4 已经创建好,你可以检验一下本地目录生成了什么文件。
* 2.停止集群
*  2.1 使用"./craete-cluster stop"去停止所有的实例
*  2.2 使用"./create-cluster clean"去移走产生的aof,log,rdb等文件
*/
$ cat README


二、创建集群和销毁集群

//1.编辑create-cluster脚本,只更改port 为9011
$ pwd
/Applications/redis-cluster/redis-3.0.6/utils/create-cluster
//只更改port 为9011
$ vi create-cluster

//2.启动各个实例 ./create-cluster  start
$ ./create-cluster  start
Starting 9012
Starting 9013
Starting 9014
Starting 9015
Starting 9016
Starting 9017
//[check]
$ ps -e |grep 901
16249 ??         0:00.04 ../../src/redis-server *:9012 [cluster]
16251 ??         0:00.04 ../../src/redis-server *:9013 [cluster]
16253 ??         0:00.03 ../../src/redis-server *:9014 [cluster]
16255 ??         0:00.03 ../../src/redis-server *:9015 [cluster]
16257 ??         0:00.04 ../../src/redis-server *:9016 [cluster]
16259 ??         0:00.04 ../../src/redis-server *:9017 [cluster]
16263 ttys005    0:00.00 grep 901

//3.连接各个实例
$ ./create-cluster create
>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
//[chek-1]该目录下生成了各个实例的aof,rdb,log,nodes*.conf文件
$ ls -al
total 168
drwxr-xr-x@ 29 zhengshanshan  admin   986  5  8 18:40 .
drwxr-xr-x@ 16 zhengshanshan  admin   544  4 26 21:45 ..
-rw-r--r--@  1 zhengshanshan  admin    35  4 26 21:45 .gitignore
-rw-r--r--   1 zhengshanshan  admin  2228  5  8 18:40 9012.log
-rw-r--r--   1 zhengshanshan  admin  2228  5  8 18:40 9013.log
-rw-r--r--   1 zhengshanshan  admin  2228  5  8 18:40 9014.log
-rw-r--r--   1 zhengshanshan  admin  3169  5  8 18:40 9015.log
-rw-r--r--   1 zhengshanshan  admin  3169  5  8 18:40 9016.log
-rw-r--r--   1 zhengshanshan  admin  3169  5  8 18:40 9017.log
-rw-r--r--@  1 zhengshanshan  admin  1301  4 26 21:45 README
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:38 appendonly-9012.aof
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:38 appendonly-9013.aof
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:38 appendonly-9014.aof
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:40 appendonly-9015.aof
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:40 appendonly-9016.aof
-rw-r--r--   1 zhengshanshan  admin     0  5  8 18:40 appendonly-9017.aof
-rwxr-xr-x@  1 zhengshanshan  admin  2205  5  8 18:31 create-cluster
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9012.rdb
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9013.rdb
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9014.rdb
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9015.rdb
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9016.rdb
-rw-r--r--   1 zhengshanshan  admin    18  5  8 18:40 dump-9017.rdb
-rw-r--r--   1 zhengshanshan  admin   745  5  8 18:40 nodes-9012.conf
-rw-r--r--   1 zhengshanshan  admin   733  5  8 18:40 nodes-9013.conf
-rw-r--r--   1 zhengshanshan  admin   733  5  8 18:40 nodes-9014.conf
-rw-r--r--   1 zhengshanshan  admin   745  5  8 18:40 nodes-9015.conf
-rw-r--r--   1 zhengshanshan  admin   733  5  8 18:40 nodes-9016.conf
-rw-r--r--   1 zhengshanshan  admin   757  5  8 18:40 nodes-9017.conf
//[chek-2]client 连接看到nodes表里有6个节点
$ ./../../src/redis-cli -c -p 9012
127.0.0.1:9012> cluster nodes
e9c2cc47c3c5c968f0aabd0b3d515871b8802ed0 127.0.0.1:9014 master - 0 1462704210615 3 connected 10923-16383
729cf260152cfb18bc8805357e523c9eea18ff80 127.0.0.1:9017 slave e9c2cc47c3c5c968f0aabd0b3d515871b8802ed0 0 1462704210615 6 connected
cd7e224115f0d5e5f4948f8f8a7ddc1068d47711 127.0.0.1:9012 myself,master - 0 0 1 connected 0-5460
945da5702bf3f37713b9c7e9077eec003eeb5de1 127.0.0.1:9013 master - 0 1462704210615 2 connected 5461-10922
65b5d236a19da16e2524ae7f2b5107fe96e94a02 127.0.0.1:9015 slave cd7e224115f0d5e5f4948f8f8a7ddc1068d47711 0 1462704210414 4 connected
a2b8ce671cd3e2a36473602bc8b5bb53a59c719d 127.0.0.1:9016 slave 945da5702bf3f37713b9c7e9077eec003eeb5de1 0 1462704210615 5 connected
//[check-3] 是否可以写入
127.0.0.1:9012> set test test
-> Redirected to slot [6918] located at 127.0.0.1:9013
OK

//4.停止实例
$ ./create-cluster stop
Stopping 9012
Stopping 9013
Stopping 9014
Stopping 9015
Stopping 9016
Stopping 9017
//[check-1]实例都一一停止
$ ps -e |grep 901
16291 ttys004    0:00.00 src/redis-cli -c -p 9012
16315 ttys005    0:00.00 grep 901

//5.清除目录里的aof,rdb,log,conf等文件
$ ./create-cluster clean
//[check]
$ ls -al
total 24
drwxr-xr-x@  5 zhengshanshan  admin   170  5  8 18:49 .
drwxr-xr-x@ 16 zhengshanshan  admin   544  4 26 21:45 ..
-rw-r--r--@  1 zhengshanshan  admin    35  4 26 21:45 .gitignore
-rw-r--r--@  1 zhengshanshan  admin  1301  4 26 21:45 README
-rwxr-xr-x@  1 zhengshanshan  admin  2205  5  8 18:31 create-cluster
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: