分布式系统设计原理与方案

下载并安装Memcache服务器端
服务器端主要是安装memcache服务器端.
下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://www.monkey.org/~provos/libevent/
下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz

用wget指令直接下载这两个东西.下载回源文件后。
1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install;
2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:

1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz

2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install

3.测试libevent是否安装成功:
# ls -al /usr/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 /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# 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

启动Memcached服务
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid

-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,

2.如果要结束Memcache进程,执行:

# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

测试Memcached:

[[email protected] /]# telnet 192.168.141.64 12000
Trying 192.168.141.64...
Connected to 192.168.141.64 (192.168.141.64).
Escape character is ‘^]‘.
set key1 0 60 4
zhou
STORED
get key1
VALUE key1 0 4
zhou
END

至此Memcached安装成功!

常见问题:

1.如果启动Memcached服务的时候遇到了

/usr/local/bin/memcached: error while loading shared libraries:
libevent-1.2.so.1: cannot open shared object file: No such file or
directory;

解决方案:

[[email protected] bin]# LD_DEBUG=libs memcached -v 
[[email protected] bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[[email protected] bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid
[[email protected] bin]# ps -aux

可以看到启动的Memcached服务了.

2.把Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了.

假如启动Memcache的服务器端的命令为:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid容来自17jquery

想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令
/usr/local/memcached/bin/memcached -d -m 10 -p 12000 -u apache -c 256
上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache 或 deamon
这样,也就是属于哪个用户的服务,由哪个用户启动。

时间: 2024-10-11 21:59:15

分布式系统设计原理与方案的相关文章

分布式系统设计系列 -- 基本原理及高可用策略

转自:http://blog.csdn.net/gugemichael/article/details/36688043 ==> 分布式系统中的概念==> 分布式系统与单节点的不同==> 分布式系统特性==> 分布式系统设计策略==> 分布式系统设计实践 [分布式系统中的概念] 三元组 其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统.如果按"实体"来划分的话,就是如下这几种:       

分布式系统设计系列 -- 概要

在现在的"大数据"."云平台"这些前沿技术的背景下,衍生了很多平台型技术点,Nosql.Hadoop.Storm等层出不穷.这些华丽的技术后面其实处处都离不开"分布式"这个虽然提出了很久,但是大数据.云计算带火了的技术.以致于开个玩笑说,如果不懂一些"分布式"下的技术和原理的,会有点不好意思说自己是后端开发 -- (玩笑而已!! ^_^). 本人从事分布式系统相关设计.开发也有一段时间了,在做很多系统的设计.架构时,惯性的会多

分布式系统设计系列 -- 总结

在今天的"大数据"."云平台"背景下,这些尖端技术,从一个非常多平台技术派生点,Nosql.Hadoop.Storm和其他新兴.技术落后,这些华丽是分不开的,其实无处不在"分散式"虽然这做了一个很长的时间,但是大数据.云计算技术与火.玩笑说.假设不懂一些"分布式"下的技术和原理的,会有点不好意思说自己是后端开发 -- (玩笑而已!! ^_^). 本人从事分布式系统相关设计.开发也有一段时间了,在做非常多系统的设计.架构时,惯性

Python分布式爬虫原理

转载 permike 原文 Python分布式爬虫原理 首先,我们先来看看,如果是人正常的行为,是如何获取网页内容的. (1)打开浏览器,输入URL,打开源网页 (2)选取我们想要的内容,包括标题,作者,摘要,正文等信息 (3)存储到硬盘中 上面的三个过程,映射到技术层面上,其实就是:网络请求,抓取结构化数据,数据存储. 我们使用Python写一个简单的程序,实现上面的简单抓取功能. [python] view plain copy #!/usr/bin/python #-*- coding: 

分布式MySQL集群方案的探索与思考

转载:http://www.infoq.com/cn/articles/exploration-of-distributed-mysql-cluster-scheme?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text 背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.Pos

U-Mail邮件系统分布式+双机热备方案确保同步稳定传输

眼下随着企业信息化建设如火如荼的推进,越来越多的企业选择自建邮件系统作为信息中转枢纽和储存档案库.员工对邮件系统的依赖和信任也带来了潜在隐患,那就是假如该系统服务器发生宕机或不可控因素而停止服务,会出现难以估量的后果. 首先让我们来看看都有哪些情况困扰着企业的通联,具体来说有这么几种: 1.停电等故障频繁发生: 2.服务器所在地互联网基础设施建设严重落后: 3.两地网络互通问题(比方说南方电信网与北方联通之间出现龃龉): 4.国际出入口带宽不稳定.延时大: 5.国家与国家之间防火墙干扰: 6.当

2017-2018-2 20155228 《信息安全系统设计原理》 动态库的生成和调用

2017-2018-2 20155228 <信息安全系统设计原理> 动态库的生成和调用 不得不说一下关于环境的问题 只要我打一个响指,一半的安装在win7上的VC6.0都会因为兼容性问题直接崩掉 懒得研究怎么解决兼容性的问题了,直接开一个winXP虚拟机完美运行vc6.0,省时省心,岂不美哉 研究大佬的博客的时候 Windows下静态库与动态库的创建与使用 尝试使用.def文件生成动态库并使用隐式链接到工程时,发现这个方法仅适用于动态库所在的工程和调用动态库的工程同时处于一个工作空间 如图所示

分布式事务原理解析

1. 分布式事务原理解析 1.1. TCC分布式事务 了解过TCC分布式事务的都知道它有三个阶段:try,confirm,cancel,但很多文章就只有原理图,和对原理图的解释,看一遍也留不下印象,这里用实际场景举个例子,说明TCC分布式事务原理 try阶段:假设我们又订单系统,它需要调用库存和积分系统,try阶段我们进行的是预处理,比如下单1个商品,在try操作中,我们在库存表设置个冻结字段,表示冻结1个商品,商品的存量先不扣除,而积分表同样添加个预增加积分字段,添加个预积分比如10 conf

《从PAXOS到ZOOKEEPER分布式一致性原理与实践》pdf

下载地址:网盘下载 内容简介  · · · · · · <Paxos到Zookeeper:分布式一致性原理与实践>从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了Paxos和ZAB协议.同时,本书深入介绍了分布式一致性问题的工业解决方案--ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法.内部实现及运维技巧,旨在帮助读者全面了解ZooKeeper,并更好地使用和运维ZooKeeper.全书共8章,分为五部分:第一