设为首页 加入收藏

TOP

redis集群主备模式部署(一)
2015-11-21 02:10:01 来源: 作者: 【 】 浏览:10
Tags:redis 集群 模式 部署

0 编译安装

$ wget http://download.redis.io/releases/redis-3.0.3.tar.gz
$ tar xzvf redis-3.0.3.tar.gz
$ cd redis-3.0.3
$ make all
$ make install # use sudo user.

也可以去github下载最新代码:https://github.com/antirez/redis.git

1 创建目录

$ mkdir 7000 7001 7002 7003

2 修改如下配置redis.conf

port 7000 #7000修改为对应的7001、7002、7003 daemonize yes cluster-enabled yes cluster-config-file nodes-7000.conf #7000修改为对应的7001、7002、7003 luster-node-timeout 15000

将修改好的配置文件放到对用的目录下:./7000, ./7001, ./7002, ./7003 。

3 启动redis服务

$ cd 7000 $ redis-server ./redis.conf $ cd ../7001 $ redis-server ./redis.conf $ cd ../7002 $ redis-server ./redis.conf $ cd ../7003 $ redis-server ./redis.conf $ # 检查redis启动情况 $ ps -ef | grep redis | grep -v grep cjf 5834 1 0 16:33 ? 00:00:00 redis-server 127.0.0.1:7000 [cluster] cjf 5839 1 0 16:34 ? 00:00:00 redis-server 127.0.0.1:7001 [cluster] cjf 5843 1 0 16:34 ? 00:00:00 redis-server 127.0.0.1:7002 [cluster] cjf 5847 1 0 16:34 ? 00:00:00 redis-server 127.0.0.1:7003 [cluster]

4 将redis实例增加到集群中

主要是通过用cluster meet 给集群增加节点,如下:

$ redis-cli -p 7000 127.0.0.1:7000> cluster nodes 14d4071b97121e703e44bbc834f42d1b31c8ea95 :7000 myself,master - 0 0 0 connected 127.0.0.1:7000> cluster meet 127.0.0.1 7001 OK 127.0.0.1:7000> cluster meet 127.0.0.1 7002 OK 127.0.0.1:7000> cluster meet 127.0.0.1 7003 OK 127.0.0.1:7000> cluster nodes 75334aae3ced44cf0e8416691aeef8249e7a0621 127.0.0.1:7002 master - 0 1438850262990 0 connected 14d4071b97121e703e44bbc834f42d1b31c8ea95 127.0.0.1:7000 myself,master - 0 0 1 connected 8b721ff1ac2e383ffcbcf133d502c6957f8df713 127.0.0.1:7003 master - 0 1438850265007 0 connected 2875f2155e3214d7950dd5916f5ecf5edd3d9fee 127.0.0.1:7001 master - 0 1438850263998 2 connected 127.0.0.1:7000> 

如果cluster nodes出现上面的四行记录就表示meet成功,标识myself的是客户端正在连接的redis实例。
可以通过cluster forget清除集群中的某个实例。

5 分配slots

redis-cluster总共有16384个槽位(0-16383),按如下方式修改槽位:

$ cat 7000/nodes-7000.conf #分配slots:0-4095(注意127.0.0.1:7000对应的行尾) 75334aae3ced44cf0e8416691aeef8249e7a0621 127.0.0.1:7002 master - 0 1438850266016 3 connected 14d4071b97121e703e44bbc834f42d1b31c8ea95 127.0.0.1:7000 myself,master - 0 0 1 connected 0-4095 8b721ff1ac2e383ffcbcf133d502c6957f8df713 127.0.0.1:7003 master - 0 1438850265007 0 connected 2875f2155e3214d7950dd5916f5ecf5edd3d9fee 127.0.0.1:7001 master - 0 1438850263998 2 connected vars currentEpoch 3 lastVoteEpoch 0 $ $ cat 7001/nodes-7001.conf #分配slots:4096-8191(注意127.0.0.1:7001对应的行尾) 75334aae3ced44cf0e8416691aeef8249e7a0621 127.0.0.1:7002 master - 0 1438850265714 3 connected 2875f2155e3214d7950dd5916f5ecf5edd3d9fee 127.0.0.1:7001 myself,master - 0 0 2 connected 4096-8191 8b721ff1ac2e383ffcbcf133d502c6957f8df713 127.0.0.1:7003 master - 0 1438850264705 0 connected 14d4071b97121e703e44bbc834f42d1b31c8ea95 127.0.0.1:7000 master - 0 1438850263695 1 connected vars currentEpoch 3 lastVoteEpoch 0 $ $ cat 7002/nodes-7002.conf #分配slots:8192-12287(注意127.0.0.1:7002对应的行尾) 2875f2155e3214d7950dd5916f5ecf5edd3d9fee 127.0.0.1:7001 master - 0 1438850262787 2 connected 14d4071b97121e703e44bbc834f42d1b31c8ea95 127.0.0.1:7000 master - 0 1438850263796 1 connected 75334aae3ced44cf0e8416691aeef8249e7a0621 127.0.0.1:7002 myself,master - 0 0 3 connected 8192-12287 8b721ff1ac2e383ffcbcf133d502c6957f8df713 127.0.0.1:7003 master - 0 1438850264806 0 connected vars currentEpoch 3 lastVoteEpoch 0 $
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle中ConnectBy用法介绍 下一篇MySQL主从同步读写分离的集群配置

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: