redis cluster集群部署学习

来源:互联网 发布:thinking in java目录 编辑:程序博客网 时间:2024/05/16 01:21

1. 软件环境

ubuntu 14.04 64位

redis-3.2.4

ruby-1.9.1

下载redis,然后sudo make install

安装ruby sudo apt-get install ruby

sudo gem install redis(缺少这一步创建cluster的时候会报错)


hlbd@hlbd-android:~/javaweb/redis-3.2.4/src$ sudo gem install redis
Fetching: redis-3.3.1.gem (100%)
Successfully installed redis-3.3.1
1 gem installed
Installing ri documentation for redis-3.3.1...
Installing RDoc documentation for redis-3.3.1...

2. 本机用6个端口模拟6个redis

新建目录 clustertest

在此目录下新建6个子目录,分别为 server7000,server7001,server7002,server7003,server7004,server7005

在各自目录下新建data,log,run三个子目录,做为存放数据库,日志,和pid用

拷贝原始redis.conf文件到server7000下

编辑如下内容:

port 7000

daemonize yes

bind 127.0.0.1 192.168.31.33

protected-mode no

pidfile /home/hlbd/javaweb/redis-3.2.4/clustertest/server7000/run/redis_7000.pid

logfile /home/hlbd/javaweb/redis-3.2.4/clustertest/server7000/log/redis.log

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 5000

appendonly yes

保存后,复制到server7001,server7002,sever7003,server7004,server7005目录下,并修改响应端口号和目录名


3. 启动6个redis

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7000/redis.conf

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7001/redis.conf

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7002/redis.conf

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7003/redis.conf

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7004/redis.conf

hlbd@hlbd-android:~/javaweb/redis-3.2.4/clustertest$ redis-server server7005/redis.conf


4.创建cluster

hlbd@hlbd-android:~/javaweb/redis-3.2.4/src$ ./redis-trib.rb create --replicas 1 192.168.31.33:7000 192.168.31.33:7001 192.168.31.33:7002 192.168.31.33:7003 192.168.31.33:7004 192.168.31.33:7005
replicas 1表示每个master创建1个slave

运行后输出如下:

>>> Creating cluster
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.31.33:7000
192.168.31.33:7001
192.168.31.33:7002
Adding replica 192.168.31.33:7003 to 192.168.31.33:7000
Adding replica 192.168.31.33:7004 to 192.168.31.33:7001
Adding replica 192.168.31.33:7005 to 192.168.31.33:7002
M: 0d5c9b58f070d020539946e58e5fcbf178bd5366 192.168.31.33:7000
   slots:0-5460 (5461 slots) master
M: 28d710be56b7b86274080a108b8a81b6b9957d83 192.168.31.33:7001
   slots:5461-10922 (5462 slots) master
M: 82b70caf15bf6ccf9173629e22acc567b3a303a5 192.168.31.33:7002
   slots:10923-16383 (5461 slots) master
S: d909d2c8a63c7b36fb6f7fcbcc9fba1f4ddf8f3f 192.168.31.33:7003
   replicates 0d5c9b58f070d020539946e58e5fcbf178bd5366
S: 93eb8ae2dafe1293003060f143376d4df16a3a10 192.168.31.33:7004
   replicates 28d710be56b7b86274080a108b8a81b6b9957d83
S: 66501964fe1142cbbdfefd065da55a2824353891 192.168.31.33:7005
   replicates 82b70caf15bf6ccf9173629e22acc567b3a303a5
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 192.168.31.33:7000)
M: 0d5c9b58f070d020539946e58e5fcbf178bd5366 192.168.31.33:7000
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
S: 93eb8ae2dafe1293003060f143376d4df16a3a10 127.0.0.1:7004
   slots: (0 slots) slave
   replicates 28d710be56b7b86274080a108b8a81b6b9957d83
M: 82b70caf15bf6ccf9173629e22acc567b3a303a5 127.0.0.1:7002
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 66501964fe1142cbbdfefd065da55a2824353891 127.0.0.1:7005
   slots: (0 slots) slave
   replicates 82b70caf15bf6ccf9173629e22acc567b3a303a5
M: 28d710be56b7b86274080a108b8a81b6b9957d83 127.0.0.1:7001
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
S: d909d2c8a63c7b36fb6f7fcbcc9fba1f4ddf8f3f 127.0.0.1:7003
   slots: (0 slots) slave
   replicates 0d5c9b58f070d020539946e58e5fcbf178bd5366
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

安装完成,查看进程

hlbd@hlbd-android:~/javaweb/redis-3.2.4/src$ ps -ef | grep redis
hlbd     19015  1980  0 15:38 ?        00:00:01 redis-server 127.0.0.1:7001 [cluster]
hlbd     19029  1980  0 15:38 ?        00:00:01 redis-server 127.0.0.1:7000 [cluster]
hlbd     19034  1980  0 15:38 ?        00:00:01 redis-server 127.0.0.1:7002 [cluster]
hlbd     19038  1980  0 15:39 ?        00:00:01 redis-server 127.0.0.1:7003 [cluster]
hlbd     19042  1980  0 15:39 ?        00:00:01 redis-server 127.0.0.1:7004 [cluster]
hlbd     19046  1980  0 15:39 ?        00:00:01 redis-server 127.0.0.1:7005 [cluster]



0 0
原创粉丝点击