2014-03-12 39 views
0

我正在使用redisio cookbook来安装redis服务。如何使用redisio cookbook自动连接到从服务器

我使我的配置following these steps

node.default[:redisio][:default_settings][:requirepass] = 'redis' 

node.default['redisio']['servers'] = [ 
    {'port' => '6379'}, 
    {'port' => '6380', 'slaveof' => { 'address' => '127.0.0.1', 'port' => '6379' }} 
] 

include_recipe 'redisio::install' 
include_recipe 'redisio::enable' 

喂线轮,在主机万物是好的,分别安装了两个服务(6379,6380)。

但我的问题如果是这样的:

当我停止主服务(6379)。

sudo service redis6379 stop 
Stopping ... 
Redis stopped 

我尝试重新连接,我期待一个响应来自奴:

redis-cli 
Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> 

还有什么我需要配置,以获得来自从站的响应?

回答

1

如果我猜对了,你的问题是:“如果主控机出现故障,我该如何自动连接到从控制器”。在您的示例中,您正在连接到默认端口6379,该端口已关闭,您无法连接到该端口。

您需要一个单独的经纪过程:Redis Sentinel

Redis Sentinel在需要时促使奴隶主人掌握。您的redis客户端应连接到redis sentinel(第三个端口),以便您的请求可以重新路由。大多数客户端库支持redis sentinel。

希望这会有所帮助,TW