mac安装redis3.0.5分布式集群
来源:互联网 发布:手机拍摄淘宝视频 编辑:程序博客网 时间:2024/06/05 00:43
目录
一、redis cluster介绍
二、redis cluster的使用
三、测试redis
四、编写启动脚本
一、redis cluster介绍
- redis cluster的现状
1) 节点自动发现
2) slave -> master选举,集群容错
3) Hot resharding 在线分片
4) 集群管理 cluster xxx
5) 基于配置(nodes.conf)的集群管理
6) ASK转向/MOVED转向机制 redis cluster架构
1) redis-cluster架构图- 架构细节:
(1) 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2) 节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3) 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4) redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
2) redis-cluster选举,容错
- (1) 领着选举过程是集群中所有master参与,如果半数以上master节点与master节点通信超过(cluster-node-timeout),认为当前master节点挂掉.
(2) 什么时候整个集群不可用(cluster_state:fail),当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误
a: 如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成进群的slot映射[0-16383]不完成时进入fail状态.
b:如果进群超过半数以上master挂掉,无论是否有slave集群进入fail状态.
- 架构细节:
二、redis cluster的使用
要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下:
127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003127.0.0.1:7004127.0.0.1:7005
- 下载redis
http://download.redis.io/releases/redis-3.0.5.tar.gz
cd /Users/duwei/softwaretar xzvf redis-3.0.5.tar.gzcd /Users/duwei/software/redis-3.0.5make install
- 创建集群目录
mkdir -p /Users/duwei/software/redisClustercd /Users/duwei/software/redisClustermkdir 7000mkdir 7001mkdir 7002mkdir 7003mkdir 7004mkdir 7005
- 修改配置文件redis.conf
vi redis.conf
修改配置文件中的下面选项
port 7000 daemonize yes cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes
修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到
7000/7001/7002/7003/7004/7005
目录下面
cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7000cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7001cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7002cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7003cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7004cp /Users/duwei/software/redis-3.0.5/redis.conf /Users/duwei/software/redisCluster/7005
注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称
4. 分别启动6个redis实例
cd /Users/duwei/software/redisCluster/7000redis-server redis.confcd /Users/duwei/software/redisCluster/7001redis-server redis.confcd /Users/duwei/software/redisCluster/7002redis-server redis.confcd /Users/duwei/software/redisCluster/7003redis-server redis.confcd /Users/duwei/software/redisCluster/7004redis-server redis.confcd /Users/duwei/software/redisCluster/7005redis-server redis.conf
启动之后使用命令查看redis的启动情况
ps –ef|grep redis
如下显示则说明启动成功
➜ redis-3.0.5 ps -ef |grep redis 501 1379 1 0 10:00上午 ?? 0:09.64 /Users/duwei/software/redis-3.0.5/src/redis-server *:7000 [cluster] 501 1381 1 0 10:00上午 ?? 0:09.58 /Users/duwei/software/redis-3.0.5/src/redis-server *:7001 [cluster] 501 1383 1 0 10:00上午 ?? 0:09.68 /Users/duwei/software/redis-3.0.5/src/redis-server *:7002 [cluster] 501 1385 1 0 10:00上午 ?? 0:09.78 /Users/duwei/software/redis-3.0.5/src/redis-server *:7003 [cluster] 501 1387 1 0 10:00上午 ?? 0:09.63 /Users/duwei/software/redis-3.0.5/src/redis-server *:7004 [cluster] 501 1389 1 0 10:00上午 ?? 0:09.76 /Users/duwei/software/redis-3.0.5/src/redis-server *:7005 [cluster]
- 升级ruby安装gem
安装gem需要ruby的版本在1.8.7以上,首先升级ruby
查看当前版本
ruby –vruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
符合要求
gem安装redis ruby接口
gem install redis
- 执行redis的创建集群命令
cd /Users/duwei/software/redis-3.0.5/src./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
至此redis集群搭建成功!
三、测试redis
redis-cli -c -p 7001• ➜ redis-3.0.5 redis-cli -c -p 7001• 127.0.0.1:7001> set test 123• OK• 127.0.0.1:7001> get test• "123"127.0.0.1:7001>
四、编写启动脚本
#!/bin/shsource ~/.bash_profileredispath=/Users/duwei/software/redis-3.0.5/srcredisClusterPath=/Users/duwei/software/redisClusterreturnValue=0cd $redisClusterPathpid=`ps -ef |grep -v "grep"|grep "redis-server" |awk '{print $2}'`launcher(){ $redispath/redis-server redis.conf}start(){ cd ./7000 launcher cd ../7001 launcher cd ../7002 launcher cd ../7003 launcher cd ../7004 launcher cd ../7005 launcher}stop(){ kill -9 ${pid}}case "$1" instart) start ;;stop) stop ;;restart) stop start ;;hup) hup ;;*) printf 'Usage: %s {start|stop|restart}\n' exit 1 ;;esacexit "$returnValue"
1 1
- mac安装redis3.0.5分布式集群
- redis3.0搭建分布式集群
- redis3.0.5集群部署安装详细步骤
- redis3.0.6集群安装
- redis3.0.0 集群安装
- redis3集群安装入门
- redis3集群安装剖析
- redis3.2.6 集群安装
- centos 安装 redis3.0.0 集群
- Redis3.0--集群安装部署
- redis3.0集群安装步骤
- redis3.0.6集群安装部署
- centos安装redis3.0.0集群
- Redis3.0集群的安装
- centos7安装redis3.2.5集群
- redis3.0.4 集群安装步骤
- centos7安装redis3.2.5集群
- centos 安装 redis3.0.0 集群
- 今日学习札记——C++指针3(11.4)
- Network Link Conditioner
- [重新认识cocos2dx---工具篇] 一 cocos命令行之语言包MultiLanguage
- Gradle 笔记——Java构建入门
- xcode7不允许HTTP传输的过渡办法
- mac安装redis3.0.5分布式集群
- HttpClient设置请求超时和读取超时
- ios app 修改名称后,收到的推送通知 显示的仍然是上一个名称 问题
- node.js study
- iOS工程中添加cocoapods
- 关于Struts2框架下使用servlet的配置
- c++父类子类同名变量
- 常用命令之 -- ls
- PHP与C(或其它语言)通过消息队列进行通讯,完整代码