`
hongtoushizi
  • 浏览: 376932 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Linux_Memcached_Memcachedb_Memcacheq

阅读更多

 

memcached是高性能的分布式内存缓存服务器。

基于libevent的事件处理
libevent是一套跨平台的事件处理接口的封装

软件下载-------------
libevent
官网:http://monkey.org/~provos/libevent/
Memcached
官网:http://danga.com/memcached/download.bml


先安装 libevent
[======Libevent=====]

tar -xvf libevent-1.4.12-stable.tar.gz -C /usr/local/
cd /usr/local/libevent-1.4.12
./configure && make && make install

再安装 Memcached主程序
[======Memcached=====]

tar -xvf memcached-1.4.1.tar.gz -C /usr/local/
cd /usr/local/memcached-1.4.1
./configure --prefix=/usr/local/memcached && make && make install


查看Memcached帮助信息
# /usr/local/memcached/bin/memcached -h
运行 Memcached
目标:使用11211端口、pica-用户、最大占用512M内存、1024个软连接,输出
客户端请求,以守护进程方式运行
# /usr/local/memcached/bin/memcached -d -u root -m 256 -c 1024

错误调试:
如果启动memcached时报下错:/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

解决类似问题的步骤我相信我的做法可以通用。

1. 首先 find / -name libevent-1.4.so.2 找到缺少的链接文件到底在那儿。
2. LD_DEBUG=libs /usr/local/bin/memcached -v
3. 从Debug信息中就知道程序去哪里找链接库了。我这边程序去 trying file=/usr/lib/libevent-1.4.so.2 而我的链接库的实际存储位置是 /usr/local/lib/libevent-1.4.so.2
4. 做一个软连接 ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

如果都做了还不可以,那么执行下  " ldconfig "


Memcached 运行关注基本选项
-p <num> 监听的TCP端口 (缺省: 11211)
-d 以守护进程方式运行Memcached
-u <username> 运行Memcached的账户,非root用户
-m <num> 最大的内存使用, 单位是MB,缺省是 64 MB
-c <num> 软连接数量, 缺省是 1024
-v 输出警告和错误信息
-vv 打印客户端的请求和返回信息
-h 打印帮助信息
-i 打印memcached和libevent的版权信息


检查是否正常启动
# ps auxxww | grep memcached

查看状态:
# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats

 

 

 

==============================================

 

 

 

Memcachedb

 

 

 

Memcachedb = memcache + Berkeley DB

memcachedb是一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是 不需要严格事务约束,能够被持久化保存的应用场景

安装====
memcachedb安装指南
0.下载相关文件
libevent: [url]http://monkey.org/~provos/libevent/[/url]     
berkeleyDB: [url]http://www.oracle.com/technology/products/berkeley-db/index.html[/url]
memcachedb:[url]http://code.google.com/p/memcachedb/[/url]
[======Libevent=====]
1. 先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure --prefix=/usr
# make
# make install

2.测试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
还不错,都安装上了


[======Berkeley Db=====]
3.安装Berkeley Db
tar -zxvf Berkeley-db-4.8.24.tar.gz
#需要进入特定操作系统编译环境,更常规软件的编译有些区别
cd db-4.8.24/build_unix/
#然后才能够开始编译
../dist/configure
make && make install
#如果没有指定特殊安装路径,编译完成,需要将Berkeley Db运行库的路径添加到系统配置里面
echo "/usr/local/BerkeleyDB.4.8/lib/" >> /etc/ld.so.conf
#重载系统Ld运行库
ldconfig

[======Memcachedb=====]
4.安装memcachedb,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar -zxvf memcachedb-1.2.0.tar.gz
# cd memcachedb-1.2.0
# ./configure --prefix=/usr/local/memcachedb --enable-threads --with-bdb=/usr/local/BerkeleyDB.4.8 && make && make install
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcachedb放到 /usr/local/bin/memcachedb ,

5.测试是否成功安装memcachedb:
# ls -al /usr/local/memcachedb/bin/memcachedb
-rwxr-xr-x 1 root root 212459 09-27 16:07 /usr/local/memcachedb/bin/memcachedb

6.启动memcachedb

/usr/local/memcachedb/bin/./memcachedb -p21211 -d -r -u root -H /data/mdb_21211 -m 1024 -N -t 4


检查是否正常启动
# ps auxxww | grep memcachedb




两种启动方式:

#第一种,单进程模式,读写合并模式,即不做辅拷贝,即读又写,不做冗余备份
用于对可用性要求不是太高的场合,例如帖子点击数,回复数。只要定期备份数据,也能提供相当稳定的服务
cd /usr/local/memcachedb/bin/
./memcachedb -p21211 -d -r -u root -H  /data/mdb_11211  -N

#第二种,一主带多从的用法 ,读写分离/备份模式
用于对可用性要求比较高的场合。master可以提供读写服务,slave提供只读服务,如果master服务中断,可以马上启用slave作为master使用,服务中断时间很短

#主服务器(read&write) 192.168.0.1 读写监听 11211 ,同步通过31211的端口完成,不占用繁忙的主服务端口
cd /usr/local/memcachedb/bin/
./memcachedb -p21211 -d -r -u root -H  /data/mdb_11211_m -N -R 127.0.0.1:31211 -M

# 辅服务器(read-only) 192.168.0.2  只读监听 21212,从192.168.0.1 的 31211端口同步数据,同时再开一个31212端口对外提供数据同步服务

memcachedb -p21212 -d -r -u root -H  /data/mdb_11211_from_16801_s -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S
memcachedb -p21212 -d -r -u root -H  /data/mdb_11211_from_16801_s -O 192.168.0.1:31211 -R 192.168.0.2:31212 -S


日志清理
    有两种方法可以清理memcachedb的日志
1、利用memcache协议清理日志
   echo db_archive|nc 127.0.0.1 21201   
2、利用berkeleydb的命令行清理日志
   /usr/local/BerkeleyDB.4.7/bin/db_archive -d -h home

备份及恢复
 备份
    /usr/local/BerkeleyDB.4.7/bin/db_hotbackup [-c] -h home -b backup_dir
 正常恢复
    /usr/local/BerkeleyDB.4.7/bin/db_recover -f -h home
 灾难性恢复,新增一个c参数
    /usr/local/BerkeleyDB.4.7/bin/db_recover -cf -h home

监控
  使用memcache协议的stats, stats bdb, stats rep指令,例如
  echo stats|nc 127.0.0.1 21201
  标准的bdb工具db_stat

故障恢复
  master-slave结构的memcachedb,当master当机的时,可采用以下步骤恢复
  1、停止slave
  2、将slave作为master跑起来
  memcachedb -p21201 -d -r -u root -H ./mdb_11211_m -N -R 127.0.0.1:31201 -M
  3、有充裕的时间恢复原master
 
========================================

 

 

 

Memcacheq

 

 

安装memcacheQ
MEMCACHEQ -------------------------------------------------------------------------------------

首先安装libevent
下载地址: <http://monkey.org/~provos/libevent/>
wget http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz
#tar xvzf libevent-1.4.9-stable.tar.gz
#cd libevent-1.4.9-stable
#./configure
#make
#sudo make install


安装Berkeley DB
Berkeley DB 4.7 or later
下载地址: <http://www.oracle.com/database/berkeley-db/db/index.html>
wget http://download.oracle.com/berkeley-db/db-4.7.25.tar.gz

#tar xvzf db-4.7.25.tar.gz
#cd db-4.7.25/
#cd build_unix/
#../dist/configure
#make
#sudo make install

vi /etc/ld.so.conf:
/usr/local/lib
/usr/local/BerkeleyDB.4.7/lib
wq

执行--  ldconfig


安装   MemcacheQ
下载地址:< http://code.google.com/p/memcacheq/downloads/list >
wget http://memcacheq.googlecode.com/files/memcacheq-0.1.1.tar.gz

#tar xvzf memcacheq-0.1.1.tar.gz
#cd memcacheq-0.1.1
#./configure --prefix=/usr/local/memcacheq --enable-threads --with-libevent=/usr/local/lib --with-bdb=/usr/local/BerkeleyDB.4.7
make && make install

启动
首先创建默认库文件
mkdir -p /data1/memcacheq
/usr/local/memcacheq/bin/./memcacheq -d -r -H /data1/memcacheq -u root -N -v -L 1024 -B 1024 > /data1/my_error.log 2>&1

查看帮助
/usr/local/memcacheq/bin/./memcacheq –h

 

转载自: http://www.verydemo.com/demo_c167_i57018.html

分享到:
评论

相关推荐

    php7 的memcached扩展php_memcached.dll扩展

    Memcached是一种分布式内存对象缓存系统,广泛应用于Web应用程序,以提高数据读取速度,减轻数据库负载。在PHP环境中,使用Memcached扩展可以方便地存储和检索数据,尤其适用于处理高并发场景。 `...

    memadmin+php_memcached+memcached1.4.5

    标题中的"memadmin+php_memcached+memcached1.4.5"暗示了这是一个关于内存缓存管理系统、PHP扩展以及memcached服务器的组合。这里的关键技术包括`memadmin`(一个用于管理memcached的工具)、`php_memcached`(PHP...

    java_memcached-release_2.0.1.jar

    java_memcached-release_2.0.1.jar。jdk5版本适用。使用log4j。

    memcached-1.2.1-win32.zip 和 java_memcached-release_1.6.zip

    `memcached-1.2.1-win32.zip` 提供了Memcached服务端,而`java_memcached-release_1.6.zip` 提供了Java客户端,使得开发者能够轻松地在Java环境中集成和使用Memcached。学习和掌握这些资源,将有助于构建更加快速、...

    java_memcached-release_2.5.1.jar Memcache java jar 包

    Java Memcached是一个流行的Java客户端库,用于与Memcached缓存系统进行交互。Memcached是一种分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的性能。在本例中,我们关注的是`java_memcached-release_...

    php_memcached for windows(是“php_memcached”,最后带有“d”)

    windows 操作系统的 php_memcached 扩展。包含适用于php7.0、php7.1、php7.2、php7.3、php7.4,NTS和TS,x86和x86_64各种版本。 重要说明: 1. 安装说明详见“install for windows.pdf”文档; 2. 该资源是...

    java_memcached-release_2.6.2.jar

    java_memcached-release_2.6.2.jar java缓存工具 memcached

    java_memcached-release_2.6.6.zip

    memcache客户端jar包: 1,java_memcached-release_2.6.6.jar 2,commons-pool-1.5.6.jar 3,slf4j-api-1.6.1.jar 4,slf4j-simple-1.6.1.jar

    java_memcached-release_2.6.6.rar

    Java Memcached客户端是一个高效、轻量级的缓存系统,用于存储和检索数据,通过减少数据库的负载来提高Web应用程序的性能。这个“java_memcached-release_2.6.6.rar”压缩包文件包含了用于与Memcached服务器通信的...

    java_memcached-release_2.6.3.rar 客户端所有包

    Java Memcached客户端是Java开发者用来与Memcached分布式内存缓存系统进行交互的工具。这个`java_memcached-release_2.6.3.rar`压缩包包含了用于Java客户端开发所需的全部依赖库,使得开发者能够轻松地在Java应用中...

    java_memcached-release_2.5.1

    Memcached Cache现在已经被大家广泛使用,但是千万不要认为对Cache的操作是低损耗的,要知道这类集中式Cache对Socket连接数(会牵涉到linux操作系统文件句柄可用数),带宽,网络IO都是有要求的,有要求就意味着会有...

    java_memcached-release_2.5.1.jar

    最新java_memcached-release_2.5.1.jar包

    java_memcached-release_1.3.2的演示工程(JDK1.4)

    Java Memcached是一个基于Java语言的Memcached客户端库,它允许Java开发者轻松地与Memcached缓存服务器进行交互。Memcached是一种高性能的分布式内存对象缓存系统,常用于减轻数据库的负载,提高应用的响应速度。在...

    java_memcached-release_2.6.6

    Java Memcached是一个基于Java的客户端库,用于与Memcached服务器通信。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的响应速度。在这个`java_memcached-release_2.6.6`版本...

    java_memcached-release_2.5.0.zip

    Java Memcached是一个基于Java语言的客户端库,用于与Memcached分布式缓存服务器进行交互。Memcached是一种高性能的、分布式的内存对象缓存系统,广泛应用于Web应用中,以减轻数据库的负载,提高数据读取速度。Java ...

    java_memcached-release_2.6.3.zip

    Java Memcached 客户端是Java开发者用于与Memcached分布式内存缓存系统交互的一个库。在版本2.6.3中,它提供了高效且可靠的连接管理,以及对Memcached服务器的全面支持。这个压缩包“java_memcached-release_2.6.3....

    java_memcached-release_2.6.2.zip

    Java Memcached是一个基于Java的Memcached客户端库,用于在Java应用程序中与Memcached缓存系统进行交互。Memcached是一款高性能、分布式内存对象缓存系统,它能够通过减轻数据库的负载来提高Web应用的性能。Java ...

Global site tag (gtag.js) - Google Analytics