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. C# 序列化和反序列

    1.对象序列化的介绍 (1).NET支持对象序列化的几种方式 二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Seri ...

  2. html 之前学习响应式的笔记

    响应式的设计,根据用户设备的不同,用户屏幕大小不同,提供不同的网页设计http://mediaqueri.es/PhoneGap 使用2,如何模拟手机设备chome 浏览器 在32以上设备检测用 de ...

  3. 调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题

    这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Andr ...

  4. java中Map的用法(HaspMap用法)

    public interface Map<K,V> 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. import java.util.HashMap; impo ...

  5. APP启动页

    关于APP启动引导页面模块 时间:2016年6月14日 作者:赵锐 模块使用说明 模块暴露在外的接口是- (void)showGuideViewWithImages:(NSArray *)images ...

  6. AngularJS cookie的使用

    Javascript使用document.cookie接口来处理简单的文本cookie,但现在大多数现代浏览器都可以使用html5 API了(sessionstorage和localstorage), ...

  7. centos git gitolite安装笔记

    export PATH=/home/git/bin:$PATH echo PATHgit branch 查看本地分支 git branch -a 查看远程分支 git fetch 获取远程分支 git ...

  8. StringBuilder字符串拼接类

    StringBuilder StringBuilder是在using System.Text命名空间下的一个成员. 在做字符串拼接的时候,因为字符串是引用类型,新的字符串是会再内存中创建的,所以用+号 ...

  9. #Leet Code# Unique Tree

    语言:Python 描述:使用递归实现 class Solution: # @return an integer def numTrees(self, n): : elif n == : else: ...

  10. iOS: performSelectorOnMainThread(译)

    - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)waitperfor ...