Redis twemproxy 集群

Posted by 小炒肉 on July 1, 2016

#Redis twemproxy 集群

环境说明

1
2
3
4
5
4台 redis 服务器
172.16.1.37:6379   - 1
172.16.1.36:6379   - 2
172.16.1.35:6379   - 3
172.16.1.34:6379   - 4

安装依赖

安装 autoconf centos 7 yum 安装既可, autoconf 版本必须 2.64以上版本

1
yum -y install autoconf

安装 twemproxy

1
2
3
4
5
6
7
8
9
10
11
git clone https://github.com/twitter/twemproxy.git

autoreconf -fvi          #生成configure文件

./configure --prefix=/opt/local/twemproxy/ --enable-debug=log

make && make install

mkdir -p /opt/local/twemproxy/{run,conf,logs}

ln -s /opt/local/twemproxy/sbin/nutcracker /usr/bin/

配置 twemproxy

cd /opt/local/twemproxy/conf/

vi nutcracker.yml #编辑配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
alpha:

  listen: 172.16.1.37:6380                        #监听端口

  hash: fnv1a_64                                  #key值hash算法,默认fnv1a_64

  distribution: ketama                            #分布算法      

  #ketama一致性hash算法;modula非常简单,就是根据key值的hash值取模;random随机分布

  auto_eject_hosts: true                          #摘除后端故障节点   

  redis: true                                     #是否是redis缓存,默认是false

  timeout: 400                                    #代理与后端超时时间,毫秒

  server_retry_timeout: 200000                    #摘除故障节点后重新连接的时间,毫秒

  server_failure_limit: 1                         #故障多少次摘除

  servers:

   - 172.16.1.34:6379:1 

   - 172.16.1.35:6379:1 

   - 172.16.1.36:6379:1 

   - 172.16.1.37:6379:1

检查配置文件是否正确

1
nutcracker -t -c /opt/local/twemproxy/conf/nutcracker.yml       

启动twemproxy

1
nutcracker -d -c /opt/local/twemproxy/conf/nutcracker.yml -p /opt/local/twemproxy/run/redisproxy.pid -o /opt/local/twemproxy/logs/redisproxy.log