twemproxy memcach集群

1、安装memcached

yum install memcached python-memcached -y

sed -i ‘/MAXCONN/s/"1024"/"8192"/‘ /etc/sysconfig/memcached

sed -i ‘/CACHESIZE/s/"64"/"2048"/‘ /etc/sysconfig/memcached

sed -i "/OPTIONS/s/\"\"/\"-l $first_net_if_ip\"/" /etc/sysconfig/memcached

systemctl enable memcached.service

systemctl start memcached.service

2、安装twemproxy代理

cd /packet/

wget http://$yum_repo_server:8080/os-kilo-1/nutcracker-0.3.0.tar.gz

sleep 2

tar zxvf nutcracker-0.3.0.tar.gz

sleep 5

cd nutcracker-0.3.0/

./configure --prefix=/usr/local/twemproxy

sleep 30

make

sleep 10

make install

sleep 20

mkdir /usr/local/twemproxy/run /usr/local/twemproxy/conf/

cd /usr/local/twemproxy/conf/

cat >/usr/local/twemproxy/conf/nutcracker.yum << EOF

delta:

listen: $control_vip:11211

hash: fnv1a_64

distribution: ketama

timeout: 100

auto_eject_hosts: true

server_retry_timeout: 2000

server_failure_limit: 1

servers:

- $control_first_ip:11211:1

- $control_second_ip:11211:1

- $control_third_ip:11211:1

EOF

3、启动twemproxy服务

/usr/local/twemproxy/sbin/nutcracker -d -c /usr/local/twemproxy/conf/nutcracker.yum -p /usr/local/twemproxy/run/memproxy.pid -o /usr/local/twemproxy/run/memproxy.log

4、配置twemproxy的启动项及设置开机自启动

cat >/etc/rc.d/init.d/twemproxy <<EOF

#! /bin/sh

# chkconfig: 2345 10 90

# description: myservice ....

set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin

PROGDIR=/usr/local/twemproxy/

PROGNAME=twemproxy

DAEMON=/usr/local/twemproxy/sbin/nutcracker

CONFIG=/usr/local/twemproxy/conf/nutcracker.yum

PIDFILE=/usr/local/twemproxy/run/memproxy.pid

DESC="Twemproxy daemon"

SCRIPTNAME=/etc/init.d/twemproxy

PROGLOG=/usr/local/twemproxy/run/memproxy.log

# Gracefully exit if the package has been removed.

test -x \$DAEMON || exit 0

start()

{

echo -n "Starting \$DESC: \$PROGNAME"

\$DAEMON -d -c \$CONFIG -p \$PIDFILE -o \$PROGLOG

echo "."

}

stop()

{

echo -n "Stopping \$DESC: \$PROGNAME"

haproxy_pid=`cat \$PIDFILE`

kill \$haproxy_pid

echo "."

}

restart()

{

echo -n "Restarting \$DESC: \$PROGNAME"

haproxy_pid=`cat \$PIDFILE`

kill \$haproxy_pid

\$DAEMON -d -c \$CONFIG -p \$PIDFILE -o \$PROGLOG

echo "."

}

case "\$1" in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

*)

echo "Usage: \$SCRIPTNAME {start|stop|restart}" >&2

exit 1

;;

esac

exit 0

EOF

chmod +x /etc/rc.d/init.d/twemproxy

chkconfig twemproxy on

时间: 2024-10-16 11:05:10

twemproxy memcach集群的相关文章

Twemproxy 分布式集群缓存代理服务器

Twemproxy 分布式集群缓存代理服务器 是一个使用C语言编写.以代理的方式实现的.轻量级的Redis代理服务器, 它通过引入一个代理层,将应用程序后端的多台Redis实例进行统一管理, 使 应用程序只需要在Twemproxy上进行操作,而不用关心后面具体有 多少个真实的Redis或Memcached实例,从而实现了基于Redis和 Memcached的集群服务.当某个节点宕掉时,Twemproxy可以自 动将它从集群中剔除,而当它恢复服务时,Twemproxy也会自动连接. 由 于是代理,

redis+twemproxy+keepalive集群搭建

redis集群简介: Redis集群是一个实现分布式并且允许单点故障的Redis高级版本. Redis集群没有最重要或者说中心节点,这个版本最主要的一个目标是设计一个线性可伸缩(可随意增删节点?)的功能. Redis集群为了数据的一致性可能牺牲部分允许单点故障的功能,所以当网络故障和节点发生故障时这个系统会尽力去保证数据的一致性和有效性.(这里我们认为节点故障是网络故障的一种特殊情况) 为了解决单点故障的问题,我们同时需要masters 和 slaves. 即使主节点(master)和从节点(s

基于twemproxy和vip实现redis集群的无感知弹性扩容

目标是实现redis集群的无感知弹性扩容 关键点 1.是无感知,即对redis集群的用户来说服务ip和port保持不变 2.弹性扩容,指的是在需要时刻可以按照业务扩大redis存储容量. 1.业务场景 1.redis集群某个业务容量不足,需要扩容 2.redis集群需要一个为一个新业务分配存储容量 3.redis集群在扩容的时候服务不是停止的,而是服务中,即无感知 最好的解决方式 对客户端无感知,即客户端不需要任何操作就实现了redis集群的扩容 2.最朴素的twemproxy+redis集群架

生产环境ehcache迁移到集中式redis集群

原先项目中使用的ehcache分布式缓存,缺点是浪费内存,并且ehcache使用的是jvm进程的内存,因此内存使用很受限制. 还有就是业务中有时希望更新一个业务实体来使对应的缓存失效的场景,这种情况下如果对应业务实体缓存有多台机子那更新实体后更新缓存只能是其中一台,无法全部更新. 基于以上几点,项目希望切换成集中式缓存. 集中式缓存服务端架构是:网易LBS+Twemproxy+redis集群. 缓存客户端使用的是spring Data Redis. 由于Twemproxy代理本身不支持multi

Redis 集群方案

根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redis 版本:2.6.9 客户端机器使用redis-benchmark 简单GET.SET操作: 1. 1单实例测试 1. Value大小:10Byte~1390Byte 处理速度: 7.5 w/s,速度受单线程处理能力限制 2. Value 大小:1400 左右 处理速度突降到5w/s 样子,网卡未能

redis安装与集群配置

Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数

redis集群(主从配置)

市面上太多kv的缓存,最常用的就属memcache了,但是memcache存在单点问题,不过小日本有复制版本,但是使用的人比较少,redis的出现让kv内存存储的想法成为现实.今天主要内容便是redis主从实现简单的集群,实际上redis的安装配置砸门ttlsa之前就有个文章,废话少说,进入正题吧 Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset(有序

Redis 集群方案(转:Little彭)

原文地址:http://www.cnblogs.com/lulu/archive/2013/06/10/3130878.html 根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redis 版本:2.6.9 客户端机器使用redis-benchmark 简单GET.SET操作: 1. 1单实例测试 1. Value大小:10Byte~1390Byte 处

(转)Redis 集群方案

根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redis 版本:2.6.9 客户端机器使用redis-benchmark 简单GET.SET操作: 1. 1单实例测试 1. Value大小:10Byte~1390Byte 处理速度: 7.5 w/s,速度受单线程处理能力限制 2. Value 大小:1400 左右 处理速度突降到5w/s 样子,网卡未能