Redis+twemproxy(nutcracker)实现Redis多集群方案

Redis+twemproxy(nutcracker)实现Redis多集群方案

 

通过twemproxy(redis-proxy)构建Redis多集群方案,实现Redis的横向扩展。

 

测试环境:

三台机器:

A:IP:192.168.154.100 安装twemproxy

B:IP:192.168.154.25 安装Reidis

C:IP:192.168.154.29 安装Reidis

 

一.Redis安装步骤(A机器和B机器):

1.  环境准备,安装tcl

#apt-get install tcl

2.  下载Redis,我使用的reids-2.8.9版本

#wget http://download.redis.io/releases/redis-2.8.9.tar.gz

#tar xvf redis-2.8.9.tar.gz

#make

#make test

 

####在速度较慢的机器上执行make test可能出现下列错误,无影响,或者多运行几次#make test

#*** [err]: Test replication partial resync: no backlog in tests/integration/replication-psync.tcl

3.  配置Redis

#cp redis.conf /etc/

#vim /etc/redis.conf

修改daemonize no 为daemonize yes

4.  启动Redis

#redis-server /etc/redis.conf

 

二.安装twemproxy(C机器)

1.下载twemproxy

#wget http://twemproxy.googlecode.com/files/nutcracker-0.3.0.tar.gz

###如果google无法下载,请到github上下载:https://github.com/twitter/twemproxy

#git clone https://github.com/twitter/twemproxy

2.编译

#cd twemproxy

#autoreconf -fvi

#./configure --enable-debug=full

#make

#make install

#src/nutcracker –h

3.配置

#cp ./conf/nutcracker.yml /etc/

#vim /etc/nutcracker.yml

alpha:

  listen: 0.0.0.0:22121

  hash: fnv1a_64

  distribution: ketama

  auto_eject_hosts: true

  redis: true

  server_retry_timeout: 2000

  server_failure_limit: 1

  servers: --两台redis服务器的地址和端口

   - 192.168154.25:6379:1  

   - 192.168154.29:6379:1

4.测试

nutcracker -t /etc/nutcracker.yml

nutcracker: configuration file 'conf/nutcracker.yml' syntax is ok

5.运行

nutcracker -d -c /etc/nutcracker.yml

三.测试Redis集群。

1.检查A,B两台机器上的Redis是否已经正常运行。

#ps aux | grep redis

2.检查 C机器上的nutcracker是否正常运行。

#ps aux | grep nutcracker

3.在C机器上添加键值

redis-cli -p 22121

>set kin mine

>set abcdefking aaamyking

> get kin

"mine"

> get abcdefking

"aaamyking"

 

4.在A机器上检查键值

redis-cli

>keys *

1) "kin"

4.在B机器上检查键值

redis-cli

>keys *

1) "abcdefking"

 

两个键值分别存储在A和B机器上。

在实际的部署环境中,proxy可以使用keepalive进行主备,提高系统的可用性。

你可能感兴趣的:(Redis+twemproxy(nutcracker)实现Redis多集群方案)