1、看了官方文档,没有发现有关整个集群关闭再启动的方法。集群是多机器多节点运行,一般情况不可能出现所有机器都挂掉。但万一同时挂掉,数据丢失的可能性就极大了。
验证方法:手动关闭了集群中所有节点,然后再逐一启动所有节点。然后用redis-trib.rb在创建集群时报如下错误,从官方文档中也没有找到相关说明。
[ERR] Node 192.168.116.130:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
 
2、不支持在配置文件中设置密码认证。
在配置文件中设置密码,redis-trib.rb在创建集群提示无法连接节点。
在命令行客户端下使用config set requirepass password 可以设置密码。
但测试发现集群中只要有多个节点重启后,密码认证就会失去作用。
 
3、发现额外开启了一些端口,暂不清楚作用,猜测是用于集群节点健康检查。
最初搭建集群规划机器和端口情况如下:
192.168.116.129    7000,7003
192.168.116.130    7001,7004
192.168.116.131    7002,7005
由于在公网环境下使用,所以开启iptables,添加了一规则:
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 7000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 7003 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 7000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 7003 -j ACCEPT
开启iptables之后,检测集群一直发现异常:
 
在192.168.116.129 这台机器执行netstat -nltp命令查看,发现监听的端口除了配置文件中定义的7000和7003外,还监听了17000
和17003.
在另外两台机器上查看,发现情况一样。
随后在每台机器上重新添加几条规则,192.168.116.129规则如下:
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 17000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.129 --dport 17003 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 17000 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.116.131 --dport 17003 -j ACCEPT
然后重新检测下集群,恢复正常:
 

redis3.0集群使用发现的一些问题的更多相关文章

  1. redis3.0集群搭建

    生产环境中准备使用redis3.0集群了,花了一天时间研究了一下,下面记录一下集群搭建的过程. 服务器规划: 192.168.116.129    7000,7003 192.168.116.130 ...

  2. Dubbo入门到精通学习笔记(十八):使用Redis3.0集群实现Tomcat集群的Session共享

    文章目录 1.单节点访问http://192.168.1.61:8082/pay-web-boss/: 2.增加多一个消费者节点:192.168.1.62,以同样的方式部署pay-web-boss工程 ...

  3. redis3.0集群部署和测试

    redis3.0集群部署和测试 环境介绍 两台Centos7的虚拟机模拟6个节点,A台3个master节点,B台3个slave节点A地址:172.16.81.140B地址:172.16.81.141r ...

  4. Redis3.0集群方案分析

    在Redis3.0集群出来之前,大家都对作者antirez寄予厚望,因为Redis从来没有让我们失望过.现在Redis3.0集群出来了,网上出了很多评论文章,都说他的功能多么强大,包括下面这张图是彻底 ...

  5. Spring集成jedis支持Redis3.0集群

    接着上一节,我们通过spring FactoryBean实现redis 3.0集群JedisCluster与spring集成.  http://www.linuxidc.com/Linux/2016- ...

  6. Centos7 Redis3.0 集群搭建备忘

    (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:7000 127.0.0. ...

  7. CentOS完美搭建Redis3.0集群并附测试

    线上的统一聊天和推送项目使用的是redis主从,redis版本2.8.6 redis主从和mysql主从目的差不多,但redis主从配置很简单,主要在从节点配置文件指定主节点ip和端口:slaveof ...

  8. redis3.0 集群实战2 - 集群功能实战

    1 集群基本操作   1.1 查看当前集群状态 使用redis-trib.rb check功能查看对应的节点的状态: [root@bogon bin]# ./redis-trib.rb check 1 ...

  9. redis3.0 集群实战1 -- 安装和配置

    本文主要是在centos7上安装和配置redis集群实战 参考: http://hot66hot.iteye.com/blog/2050676 集群教程: http://redisdoc.com/to ...

随机推荐

  1. 29、Jquery Ajax

    Ajax Asynchronsous Javascript and XML(异步Javascript和XML). Ajax 是一种无需重新加载整个页面的情况下,更新局部页面的技术. 不是指一种单一的技 ...

  2. 插件使用总结-jquery.pin.js

    小伙伴们,俺昨天用了jquery.pin.js这个插件,发现了一些自以为是的使用问题.特此做个总结哈. 1.获取: 下载地址:  http://www.bootcss.com/p/jquery.pin ...

  3. Java SE (5)之 线程使用

    JAVA有两种线程的方法Thread 和Runnable 能够使用,这是为了弥补不能多继承的缺陷 首先是 Thread package com.sunzhiyan03; /* * 演示线程 * */ ...

  4. HierarchicalDataBoundControl 错误

    出现以上错误原因是控件Datasources绑定出错,可能原因是没有区分树形结构的控件如Treeview的绑定与二维数据如datagridview绑定之间的区别.

  5. Android - 服务器json数据交互.

    一,服务器端 服务器端使用的是Servlet,封装json对象使用的 'json-lib-2.2.2-jdk15.jar,ezmorph-1.0.4.jar,commons-logging-1.1.j ...

  6. CentOS PHP-5.4.8 编译安装之初体验

    1. 下载5.4.8 版本 [root@Test data] wget http://museum.php.net/php5/php-5.4.8.tar.gz 2. 解压 [root@Test php ...

  7. hibernate中一对多Set的排序问题

    因为set是无序的,一旦涉及set排序,就需要配置hibernate的配置文件,参考如下博文 http://ykyfendou.iteye.com/blog/2094325

  8. rest例子

    http://www.xdemo.org/spring-restful/(可用) http://www.open-open.com/lib/view/open1389075258125.html(有例 ...

  9. 浏览器兼容问题----Firefox不兼容event的解决方法

    一.event.srcElement:当前事件的源: 在IE下,event对象有srcElement属性,但是没有target属性;Firefox下,event对象有target属性,但是没有srcE ...

  10. OC加强-day02

    #program mark - 01 @class关键字 [掌握] 1.当两个头文件互相引用的时候,如果双方都是用#import来引入对方的头文件,就会造成死循环,编译不通过 解决方案:其中一边不要使 ...