官方配置:https://github.com/twitter/twemproxy
由于版本较低导致按照失败所以先centos 下 autoconf版本升级
http://www.aiuxian.com/article/p-879158.html
首先查看当前版本
#rpm -qf /usr/bin/autoconf
autoconf-2.63-5.1.el6.noarch
卸载当前版本
rpm -e --nodeps autoconf-2.63
下载新版本
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.gz
解压安装
tar zxvf autoconf-2.64.tar.gz
cd autoconf-2.64
./configure --prefix=/usr
make && make install
查看是否安装成功
/usr/bin/autoconf -V
安装配置:
http://blog.mkfree.com/posts/515bce9d975a30cc561dc360
$ git clone git@github.com:twitter/twemproxy.git
$ cd twemproxy
$ autoreconf -fvi
$ ./configure --enable-debug=full
$ make
$ src/nutcracker -h
看到以下说明安装成功
[root@slave1 twemproxy]# ./src/nutcracker -h
This is nutcracker-0.4.1
Usage: nutcracker [-?hVdDt] [-v verbosity level] [-o output file]
[-c conf file] [-s stats port] [-a stats addr]
[-i stats interval] [-p pid file] [-m mbuf size]
Options:
-h, --help : this help
-V, --version : show version and exit
-t, --test-conf : test configuration for syntax errors and exit
-d, --daemonize : run as a daemon
-D, --describe-stats : print stats description and exit
-v, --verbose=N : set logging level (default: 5, min: 0, max: 11)
-o, --output=S : set logging file (default: stderr)
-c, --conf-file=S : set configuration file (default: conf/nutcracker.yml)
-s, --stats-port=N : set stats monitoring port (default: 22222)
-a, --stats-addr=S : set stats monitoring ip (default: 0.0.0.0)
-i, --stats-interval=N : set stats aggregation interval in msec (default: 30000 msec)
-p, --pid-file=S : set pid file (default: off)
-m, --mbuf-size=N : set size of mbuf chunk in bytes (default: 16384 bytes)
[root@slave1 twemproxy]# vim conf/nutcracker.yml
alpha:
listen: 192.168.1.135:55555 #可以修改服务器的IP以及端口号
hash: fnv1a_64
distribution: ketama
auto_eject_hosts: true
redis: true
server_retry_timeout: 2000
server_failure_limit: 1
servers:
- 192.168.1.135:6379:1 #Redis服务的IP:Port
- 192.168.1.137:6379:1 #Redis服务的IP:Port
#启动命令
1. 为了方便调试启动
./src/nutcracker -c /opt/module/twenproxy/conf/nutcracker.yml
2.守护进程启动
./src/nutcracker -d -c /opt/module/twenproxy/conf/nutcracker.yml
#连接并测试是否成功
[root@slave1 src]# ./redis-cli -h 192.168.1.135 -p 55555
192.168.1.135:55555> get foo
"bar1455790328132"
说明客户端也配置完成
https://github.com/xetorthio/jedis 客户端JAR 以及简单示例
JAVA客户端配置测试
public class JredisTest {
/**
* @param args
*/
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.1.135",55555);
jedis.set("foo", "bar" + System.currentTimeMillis());
String value = jedis.get("foo");
System.out.println("++value++" + value);
/*
Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
//Jedis Cluster will attempt to discover cluster nodes automatically
jedisClusterNodes.add(new HostAndPort("192.168.1.135", 6379));
JedisCluster jc = new JedisCluster(jedisClusterNodes);
jc.set("foo", "12345689");
System.out.println("++name++" + jc.get("foo"));*/
}
}