`
z19910509
  • 浏览: 49807 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

twemproxy(nutcracker)安装

阅读更多

在redis2.x版本,redis本身是不支持分布式的,只能通过第三方组件来实现集群分布式。这里来介绍下twitter的twemproxy的安装使用。关于twemproxy的具体描述这里不再进行叙述。需要注意的是,twemproxy不是对数据进行冗余集群的,而是对数据进行分片,即根据相关算法将不同key的值尽量均匀分发到各个机器上。

 

1、下载nutcracker,下载地址:https://github.com/twitter/twemproxy/downloads,这里下载的0.2.1版本

2、解压nutcracker-0.2.1.tar.gz,并编译安装

 

tar -zxvf nutcracker-0.2.1.tar.gz -C /usr/local
cd /usr/local/nutcracker-0.2.1
./configure && make && make install

3、进入nutcracker解压目录,编辑conf文件夹下的alpha:nutcracker.yml文件

 

listen: 0.0.0.0:22121 #使用哪个端口启动Twemproxy
hash: fnv1a_64 
distribution: ketama #使用的hash算法,ketama:一致性hash算法;modula:根据key值hash;random:随机选择服务器
auto_eject_hosts: true # 连续sever_failure_limit 次失败后,那台server会被剔除
redis: true #用来识别到服务器的通讯协议是redis还是memcached
timeout: 400 #超时时间,默认永久等待
server_retry_timeout: 30000 #当剔除某节点后,将其重新加入服务器集群的时间
server_failure_limit: 2 #最大失败次数,如果超过该次数还连接不上某个节点,且auto_eject_hosts为true,则剔除该节点
servers: #redis实例地址
   - 127.0.0.1:6380:1
   - 127.0.0.1:6381:1
 4、启动

 

安装完成后启动命令默生成在/usr/local/bin目录下,即我们可以直接使用启动命令启动,命令:nutcracker

 
nutcracker -d -c /usr/local/nutcracker-0.2.1/conf/nutcracker.yml -o /usr/local/nutcracker-0.2.1/run/redisproxy.log
 
该命令有几个参数,如下:
-h, –help                   : 查看帮助文档,显示命令选项
-V, –version                : 查看nutcracker版本
-t, –test-conf              : 测试配置脚本的正确性
-d, –daemonize              : 以守护进程运行
-D, –describe-stats         : 打印状态描述
-v, –verbosity=N            : 设置日志级别 (default: 5, min: 0, max: 11)
-o, –output=S               : 设置日志输出路径,默认为标准错误输出 (default: stderr)
-c, –conf-file=S            : 指定配置文件路径 (default: conf/nutcracker.yml)
-s, –stats-port=N           : 设置状态监控端口,默认22222 (default: 22222)
-a, –stats-addr=S           : 设置状态监控IP,默认0.0.0.0 (default: 0.0.0.0)
-i, –stats-interval=N       : 设置状态聚合间隔 (default: 30000 msec)
-p, –pid-file=S             : 指定进程pid文件路径,默认关闭 (default: off)
-m, –mbuf-size=N            : 设置mbuf块大小,以bytes单位 (default: 16384 bytes)
 
 

 

 到这里,twemproxy就安装完成了,twemproxy也可以做成集群,客户端随机访问集群中的任何一个节点都可以进行读写。客户端在连接时,配置twemproxy节点的ip和端口即可。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics