twemproxy 没有自动摘除故障节点

youzicha 发布于 2013/05/08 17:44
阅读 1K+
收藏 1

我在虚拟机上安装了twemproxy,使用的是nutcracker-0.2.2.tar。配置文件如下:

lpha:
  listen: 127.0.0.1:22121
  hash: fnv1a_64
  distribution: ketama
  auto_eject_hosts: true
  redis: true
  server_retry_timeout: 2000
  server_failure_limit: 1
  servers:
   - 127.0.0.1:6379:1
   - 127.0.0.1:6380:1
   - 127.0.0.1:6381:1

三个redis都启动时,服务正常。当我把 127.0.0.1:6379停掉时,该服务节点不自动摘除,执行set命令时一直有服务拒绝的命令。

[root@localhost redis]# ./redis-cli -p 22121  set 1 1
(error) ERR Connection refused
[root@localhost redis]# ./redis-cli -p 22121  set 1 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 2 1
(error) ERR Connection refused
[root@localhost redis]# ./redis-cli -p 22121  set 3 1
(error) ERR Connection refused
[root@localhost redis]# ./redis-cli -p 22121  set 4 1
(error) ERR Connection refused
[root@localhost redis]# ./redis-cli -p 22121  set 0 1
(error) ERR Connection refused

当我把故障的redis恢复后,发现服务正常了。

[root@localhost redis]# ./redis-server redis.conf
[root@localhost redis]# ./redis-cli -p 22121  set 4 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 5 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 6 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 8 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 11 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 12 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set 13 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set a 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set b 1
OK
[root@localhost redis]# ./redis-cli -p 22121  set b23 1
OK

以上测试可以看出,故障节点没有自动摘除。

加载中
0
阿飞feelwing
server_retry_timeout的值设置大一些,默认30000比较好,2000太小了
返回顶部
顶部