设为首页 加入收藏

TOP

Redis3.0--集群安装部署(一)
2015-11-21 01:30:43 来源: 作者: 【 】 浏览:2
Tags:Redis3.0-- 集群 安装 部署
准备环境
操作系统:CentOS6.5
Redis3.0.0
192.168.3.154
192.168.3.158
192.168.3.160
192.168.3.162


一、安装


安装目录 /usr/local/redis


创建安装目录
mkdir -p /usr/local/redis


解压安装包
[root@localhost src]# tar -zxvf redis-3.0.0.tar.gz


进入目录
[root@localhost src]# cd redis-3.0.0


编译安装到指定目录
make PREFIX=/usr/local/redis install


安装成功后会在/usr/local/redis/bin目录下生成一下文件
redis-benchmark
redis-check-aof
redis-check-dump
redis-cli
redis-sentinel -> redis-server
redis-server




二、配置主从


从库配置文件中加上
slaveof masterip port


依次启动主库、从库


如果从库报错
35478:S 28 May 21:01:18.648 # Error condition on socket for SYNC: No route to host
是由于防火墙没有关闭
解决方案:开通6379端口,或者关闭防火墙

三、增加密码验证

主库配置文件增加参数

requirepass "password"

增加密码验证后再次登录redis客户端执行命令需要加上密码

如:

[root@bj01-share-redis003 ~]# /usr/local/redis/bin/redis-cli -p 6382 -a sldUancjdPyu info

主库添加密码验证后,从库需要配置如下参数:

requirepass "password"

masterauth "password"

注意:从库需要配置本身的密码验证,还需要配置连接到主库的密码验证masterauth

四、redis 高可用集群

3.0版本已经将哨兵集成到redis安装包里,安装好redis之后可以看到该文件 redis-sentinel

配置sentinel
[root@localhost redis]# more sentinel.conf
# Example sentinel.conf
port 26379
daemonize yes


dir "/data/redis"
logfile "/data/redis/sentinel.log"


sentinel monitor mymaster 192.168.3.154 6379 2 #sentinel监控的master的名字叫做mymaster,地址为192.168.3.154:端口:6379;当集群中有 2个sentinel认为master死了时,才能真正认为该master已经不可用了


sentinel down-after-milliseconds mymaster 5000 #sentinel会向master发送心跳PING来确认master是否存活,当master 5秒内不回应pong或者回复一个错误消息时,该sentinel主管地认为这个master不可用,标记这个redis的实例为SDOWN 。注意:此时sentinel并不会马上进行failover主备切换

sentinel failover-timeout mymaster 90000 #故障切换超时时间,单位:毫秒,默认3分钟.



#启动sentinel

方法1:/usr/local/redis/bin/redis-sentinel /data/redis/sentinel.conf

方法2:/usr/local/redis/bin/redis-server /data/redis/sentinel.conf --sentinel



#查看sentinel日志
[root@localhost redis]# more sentinel.log
26542:X 28 May 21:08:34.757 * Increased maximum number of open files to 10032 (it was originally set to 1024).
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.0 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in sentinel mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 26379
| `-._ `._ / _.-' | PID: 26542
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'


26542:X 28 May 21:08:34.760 # Sentinel runid is 18176251f94fe87bf0055e2a6b47823911c2d6ea
26542:X 28 May 21:08:34.760 # +monitor master mymaster 192.168.3.154 6379 quorum 1
26542:X 28 May 21:08:35.766 * +slave slave 192.168.3.158:6379 192.168.3.158 6379 @ mymaster 192.168.3.154 6379
26542:X 28 May 21:08:40.809 # +sdown slave 192.168.3.158:6379 192.168.3.158 6379 @ mymaster 192.168.3.154 6379


说明:主从库已经加入监控




#阅读sentinel日志

+reset-master :主服务器已被重置。
+slave :一个新的从服务器已经被 Sentinel 识别并关联。
+failover-state-reconf-slaves :故障转移状态切换到了 reconf-slaves 状态。
+failover-detected :另一个 Sentinel 开始了一次故障转移操作,或者一个从服务器转换成了主服务器。
+slave-reconf-sent :领头(leader)的 Sentinel 向实例发送了 SLAVEOF 命令,为实例设置新的主服务器。
+slave-reconf-inprog :实例正在将自己设置为指定主服务器的从服务器,但相应的同步过程仍未完成。
+slave-reconf-done :从服务器已经成功完成对新主服务器的同步。
-dup-sentinel :对给定主服务器进行监视的一个或多个 Sentinel 已经因为重复出现而被移除 —— 当 Sentinel 实例重启的时候,就会出现这种
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Subversion实现网站自动更新 下一篇锋利的SQL2014:基于窗口的分布计..

评论

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