redis cluster配置

1、环境准备

1)准备6ubuntu虚拟机

2)配置好IP192.168.1.36,192.168.1.37,192.168.1.38, 192.168.1.40192.168.1.41,192.168.1.42 三台master 三台slave

3)安装好openssh-server

2、下载redis http://redis.io/download 本次使用3.2.3版本redis-3.2.3.tar.gz

3、安装redis

1)对目录提权 sudo chmod -R 777 /opt/

2)拷贝redis-3.2.3.tar.gz6台虚拟机下 如 /opt/

3)解压redis-3.2.3.tar.gz

4)编译redis 终端命令

cd redis-3.2.3/src

make

4、修改redis.config,修改后覆盖6台虚拟机的redis.config,修改如下:

daemonize yes //后台运行

cluster-enabled yes //开启集群

cluster-config-file nodes-6379.conf //节点配置信息

cluster-node-timeout 5000 //超时

cluster-slave-validity-factor 10 //slave 故障转移次数

Cluster-migration-barrier 1 //最小slave数量

Cluster-require-full-coverage no //yes 表示只要任何一个slot异常那么整个cluster不对外提供服务。

appendonly yes //指定是否在每次更新操作后进行日志记录

appendfsync everysec

appendfilename "appendonly.aof" //指定更新日志文件名

logfile "/opt/redis-3.2.3/logs/redis-6379.log" //日志记录目录 目录不存在需先创建

bind 0.0.0.0 //允许远程连接

5、启动redis

$ cd redis-3.2.3/src

$ ./redis-server /opt/redis-3.2.3/redis.conf

6、验证是否安装成功

$ cd src

$ ./redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

redis> del foo

(integer) 1

7、构建集群

1)选择其中一台安装ruby,需要的情况每台都安装一下

选择一个下载源:ustc.edu.cn/ubuntu 测试最佳

sudo apt-get update

sudo apt-get install ruby (可能需要先sudo apt-get -f install)

gem install redis (可能需要授权sudo chmod -R 777 /var/

2)构建集群

./redis-trib.rb create --replicas 1 192.168.1.36:6379 192.168.1.37:6379 192.168.1.38:6379 192.168.1.40:6379 192.168.1.41:6379 192.168.1.42:6379

 

检查集群状态

redis-trib.rb check 192.168.1.36:6379

(在测试的时候 发现一个问题 其中一台机器的redis节点,构建的时候自己的ip不能在前面2个位置)

8、测试

集群下 远程连接get set 必须带-c

$ ./redis-cli -h 192.168.1.36 -p 6379 -c


 

测试结果:

1)在master1set,可以在其他masterget,反之一样

2)只down一台master1,其从slave1会自动切换为master,当master1再次启动,则变为slave了,角色互换

3)同down掉一台master1和从slave1,则其他masterslave运行正常,但是 master1和从slave1的数据,无法获取了,并且在其他master无法设置master1和从slave1所拥有的key值,当master1和从slave1再次启动,则先启动的master,后面的为slave

4key第一次set在哪里,后面会一直set在该master上?





附:

redis 远程连接主机(192.168.1.36

$ cd src

$ ./redis-cli -h 192.168.1.36 -p 6379

$ ./redis-cli -h 192.168.1.36 -p 6379 -a 123456 (带密码)

强制关闭redis

netstat –ntlp |grep 6379

kill -9 pid


//删除当前数据库中的所有Key

flushdb

//删除所有数据库中的key

flushall


删除aofrdb,conf 3个文件删除


参考资料:

http://www.tuicool.com/articles/aQbQ3u

http://hot66hot.iteye.com/blog/2050676

www.cnblogs.com/yuanermen/p/5717885.html

http://blog.csdn.net/jthink_/article/details/50373959

http://www.freeteam.cn/site/FreeCMS/share/info/2016/5175.html



问题:都挂了,如何再次构建集群,数据是否还在,其中master和对应slave挂了 如何再次加入集群


192.168.1.43

RedisLive集群监控

sudo apt-get install python-pip

http://sofar.blog.51cto.com/353572/1369266/

http://blog.csdn.net/fengspg/article/details/51010011



redis-stat集群监控

http://my.oschina.net/guol/blog/182265?p=2&temp=1472112097074#blog-comments-list

http://www.tuicool.com/articles/ae6bUfN

需要安装一台redis 用于监测 不用更改redis.config 0.0.0.0

sudo
apt-get install ruby 

sudo apt-get install ruby-dev

sudo
gem install redis-stat
命令行显示方式:
$
./redis-stat 172.168.63.201:7000 172.168.63.201:7001 5
web界面方式:
$
./redis-stat 172.168.63.201:7000 172.168.63.201:7001 –server=8080
10--daemon
说明:表示每个10秒打印一次信息,--daemon表示在后台挂起执行;
127.0.0.1:8080
如果你运行的操作是Windows,那么只能在JRuby上安装redis-stat。需要注意的是,Windows的默认命令提示符下,终端颜色不能够被很好的支持。

集群添加删除节点:http://blog.51yip.com/nosql/1726.html

posted @ 2016-08-26 13:19  梦の华丽  阅读(454)  评论(0编辑  收藏  举报