redis集群搭建

ivy2016 2017-03-11 12:00:26
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


可以查看集群相关信息
...全文
1205 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
点滴寸土 2017-06-07
  • 打赏
  • 举报
回复
这是要闹哪样

8,028

社区成员

发帖
与我相关
我的任务
社区描述
高性能数据库开发
社区管理员
  • 高性能数据库开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧