`

配置Memcache服务器并实现主从复制功能

阅读更多
wget指令直接下载这两个东西.下载回源文件后。
1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr/local;然后make;然后make install
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr/local;然后make;然后make install
这样就完成了LinuxMemcache服务器端的安装。详细的方法如下:
1.分别把memcachedlibevent下载回来
# cd /usr/local/src/tarbag
# wget http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
2.先安装libevent
# tar zxvf libevent-1.4.13-stable.tar.gz -C ../software
# cd ../software/libevent-1.4.13-stable
# ./configure –prefix=/usr/local
# make
# make install
3.测试libevent是否安装成功:
# ls -al /usr/local/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
还行,都安装上了。
4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /usr/local/src/tarbag
# tar zxvf memcached-1.4.0.tar.gz -C ../software
# cd memcached-1.4.0
# ./configure –with-libevent=/usr/local
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached 
5.测试是否成功安装memcached
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug
 
安装MemcachePHP扩展(如果是JAVA程序则不需要此步)
1.http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2.安装PHPmemcache扩展
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar vxzf memcache-2.2.5.tgz -C ../software
cd ../software/memcache-2.2.5
/usr/local/php/bin/phpize
./configure -enable-memcache -with-php-config=/usr/local/php/bin/php-config -with-zlib-dir
make
make install
3.上述安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/
4.php.ini中的extension_dir = “./”修改为
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"
5.添加一行来载入memcache扩展:extension=memcache.so
 
memcached的基本设置
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.50.240 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB
-u是运行Memcache的用户,我这里是root
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.50.240
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcachepid文件,我这里是保存在 /tmp/memcached.pid
2.如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.重启apache/sbin/apachectl restart
 
Memcache环境测试
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
<?php
$mem = new Memcache;
$mem->connect("192.168.50.240", 12000);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
 
二、repcached实现memcached的复制功能
repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入
安装:
 
先安装memcached(我安装的1.2.8)
 
有两种方式:
方式一、下载对应的repcached版本
#wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
#tar zxf memcached-1.2.8-repcached-2.2.tar.gz
#cd memcached-1.2.8-repcached-2.2
方式二、下载对应patch版本
#wget http://downloads.sourceforge.net/repcached/repcached-2.2-1.2.8.patch.gz
#gzip -cd ../repcached-2.2-1.2.8.patch.gz | patch -p1
 
#./configure --enable-replication
# make
# make install
 
启动:
启动master
#memcached -v -l 192.168.50.240 -p 11211 -uroot
replication: listen (master监听)
启动salve
#memcached -v -l 192.168.50.241 -p 11213 -uroot -x 127.0.0.1 -X 11212
replication: connect (peer=192.168.50.240:11212)
replication: marugoto copying
replication: start
启动正常后,masteraccept测试:
操作master
#telnet 192.168.50.240 11211
#set key1 0 0 3
111
查看slave
#telnet 192.168.50.241 11213
#get key1
如果正常表示,配置成功
应用:
可以实现cache冗余
注意:如果master down机,slave接管并成为master,这时down机的master只能启用slave,他们之间互换角色,才能保持复制功能。换句话说,master没有抢占功能。
分享到:
评论

相关推荐

    配置Memcache服务器并实现主从复制功能(repcached)

    总结来说,配置Memcache服务器并使用repcached实现主从复制,能有效提升系统可靠性,提供数据安全性。正确安装、配置和测试repcached是关键,同时理解其工作原理和注意事项对于维护高可用的memcached环境至关重要。

    Java开发中的Memcache原理及实现以及Redis的入门

    4. **主从复制与集群**: Redis支持主从复制,可以实现数据备份和读写分离。Redis Cluster是其官方提供的分布式解决方案,能自动将数据分散在多个节点上,实现水平扩展。 5. **高级功能**: Redis还提供了发布/订阅、...

    MemCache和Redis缓存介绍

    - **主从复制**:Redis支持主从复制,可以实现数据的冗余备份和故障切换。 - **网络协议**:Redis使用自定义的二进制协议,提高了网络通信效率。 4. **适用场景**:由于其丰富的数据结构和持久化功能,Redis常...

    session共享之memcache Redis

    标题中的“session共享之memcache Redis”指的是在Web开发中如何使用memcache和Redis来实现会话(session)数据的跨服务器共享。会话管理是Web应用中的关键部分,它允许用户在不同页面间保持状态,例如登录信息、...

    Memcache实践总结【转】

    - Replication:部分实现方式支持主从复制,提高数据可靠性。 5. **故障处理与恢复** - 监控:使用工具如Zabbix、Prometheus监控Memcache的状态,及时发现并解决问题。 - 容错机制:设计健壮的客户端逻辑,当某...

    Discuz!下Memcache缓存实现方法

    此时,单纯的数据表分表或MySQL的主从复制模式并不能有效缓解MySQL负载。MySQL集群虽能提供高可用性和容错性,但成本较高,且非所有情况都适用。 这里,文章提到了MySQL分区(Partition)作为一种潜在解决方案,它...

    包含Redis,memcache,encache的NoSQL入门

    6. **复制与主从模式**:掌握如何配置Redis的主从复制,实现高可用性。 7. **事务处理**:理解Redis和EnCache的事务处理机制,尽管不如传统SQL数据库的ACID特性强大,但在某些场景下仍能提供一致性。 8. **API和...

    搭建nginx+apache+mysql+php+memcached+squid服务器集群.zip_nginx正向代理

    在集群环境中,可以通过主从复制或分布式数据库技术来提高数据安全性与读取性能。 4. **PHP**:PHP是一种广泛使用的开源脚本语言,主要用于Web开发,可以嵌入到HTML中,用于生成动态网页内容。与Apache结合,可以...

    SNS服务端解决方案(原创)

    memcache服务器则着重于大内存配置,以提供高速的数据缓存服务。 #### 五、运维实践与安全监控 为保障SNS平台的持续稳定运行,实施了一系列的运维措施。包括但不限于服务器批量安装、安全策略强化(如密码强度检查...

    LAMP网站架构方案 安装配置详解

    在Apache服务器上,可以通过缓存模块或者集成的Squid来提高访问响应速度,而在极端情况下,可以采用memcache实现分布式缓存。 MySQL是LAMP架构中的数据库组件,它是一个开源的关系型数据库管理系统。MySQL具有高...

    memcached 和 mysql 主从环境下php开发代码详解

    在大型网站或应用中,利用memcached进行数据缓存和MySQL的主从复制来实现读写分离,能够显著提升系统的性能和可用性。对于PHP开发者来说,需要熟悉如何在代码中使用memcached和MySQL主从复制,同时需要考虑到代码的...

    redis&memcache;所需扩展包

    例如,你需要了解如何设置持久化、主从复制、集群配置、安全策略等。此外,熟悉 Redis 的数据结构(如字符串、哈希、列表、集合和有序集合)和命令,以及 Memcached 的基本操作,是高效利用它们的关键。 在提供的...

    memcache与redis

    4. **主从复制**: 支持数据的实时备份,可以构建高可用性集群。 5. **命令丰富的数据类型**: 除了基本的键值对,还有列表、集合、有序集合、哈希表等,适用于更复杂的应用场景。 **对比与应用场景** 1. **性能**: ...

    BAT大厂高频面试题:Redis+JVM+微服务+并发+Spring+MyBatis.docx

    - **主从复制**:支持简单的主从复制功能,提高可用性和负载均衡。 - **丰富的数据结构**:除了基本的键值对之外,还提供了多种数据结构的支持,方便开发人员进行应用设计。 #### 4. Redis 相比 Memcached 有哪些...

    redis安装与配置1

    Redis 还支持主从复制、集群搭建、事务处理、Lua 脚本执行等功能,能够满足大规模分布式系统的需求。其丰富的数据类型和操作使其在很多场景下成为首选的键值存储解决方案。 在日常运维中,Redis 常用命令包括: - `...

    大数据应用案例 大数据培训视频教程-大数据高并发架构实战案例.docx

    再者,课程涵盖MySQL主从复制的安装配置,结合缓存编程实战,确保数据的一致性和高效读取。这包括如何设置MySQL的主从同步,解决授权问题,以及在主服务器有老数据时的初始化步骤。同时,课程还会探讨利用Mysql解决...

    数据库教程PDF

    了解Redis,你需要掌握如何操作这些数据结构,以及如何利用其主从复制、持久化和事务功能。 Memcache是一种分布式内存对象缓存系统,常用来加速动态Web应用程序。与Redis不同,Memcache只支持简单的键值对存储,但...

Global site tag (gtag.js) - Google Analytics