Windows版本安装

windows 上安装 memcached ,我的理解是一般用于应用程序测试和开发阶段。一般在 windows 上直接应用 memcached 的比较少。本次功能介绍和学习先用 windows

下载二进制版本

 

windows 版本的服务端程序在官方网站上没有找到,官网只有源代码版本。为了方便,直接在网上 google 到对应的二进制版本下载 .

这里使用 1.4.4wind32

下载地址: http://downloads.northscale.com/memcached-win32-1.4.4-14.zip

 

安装单个服务

 

window

本案例使用环境: WINDOWS7 的 64 位 +i5CPU+4G

直接解压到你喜欢的目录,这里我使用 D:\tools\memcached\memcached-win32-1.4.4-14


安装 memcached

D:\>cd D:\tools\memcached\memcached-win32-1.4.4-14

D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d install

D:\tools\memcached\memcached-win32-1.4.4-14>memcached.exe -d start


服务启动后, memcached 默认使用 64M 内存和 11211

\验证安装结果

 


d:\>telnet localhost 11211
add firstKey 0 0 15
Hello Memcached
STORED
get firstKey
VALUE firstKey 0 15
Hello Memcached
END
quit


 


安装多个服务

 

下面的代码是安装三个 memcached 服务在同一 Windows

使用的命令是 sc 命令,详情参考: SC –H. 。分别使用端口号 11211,11212,11213 ,每个服务使用内存 128M ( -m 128

 

sc create memcached-1 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11211"

sc create memcached-2 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11212"

sc create memcached-3 binpath= "D:\tools\memcached\memcached-win32-1.4.4-14\memcached.exe -d runservice -m 64 -p 11213"


 


安装多个 memcached

 

linux 版本的安装在各个发布版本中,大致相同,本案例采用 Red Hat AS5

 

安装方式

Linux 下有 package 方式和 source 方式, package 方式安装是真对具体发行版本和内核的默认安装,如果想自定义或配置一般采用 source 安装方式。本例采用 source

 

下载 source 安装包

本案例使用最新版 memcached-1.4.5.tar.gz 和 libevent-2.0.10-stable.tar.gz 。本案例使用 libevent 作为 memcached 的底层通讯插件,提供非阻塞式的 SOCKET

下载地址:

http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz

 

 

 


[root@hadoop00 /]# cd /opt/

[root@hadoop00 opt]# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

[root@hadoop00 opt]# http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz


环境需求

Source 方式安装需要 GCC




 

[root@hadoop00 opt]# gcc –v

 

安装 libevent


[root@hadoop00 opt]# tar -zxvf libevent-2.0.10-stable .tar.gz 
[root@hadoop00 opt]# cd libevent-2.0.10-stable 
[root@hadoop00 opt]# ./configure --prefix=/usr/ 
[root@hadoop00 opt]# make
[root@hadoop00 opt]# make install
[root@hadoop00 opt]# ls /usr/lib |grep libevent    // 验证安装

 


Memcached服务器安装_hadoop


安装 memecached

 


[root@hadoop00 opt]# tar -zxvf memcached-1.4.5.tar.gz

[root@hadoop00 opt]# cd memcached-1.4.5

[root@hadoop00 memcached-1.4.5]# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/

[root@hadoop00 memcached-1.4.5]# make 

[root@hadoop00 memcached-1.4.5]# make install

[root@hadoop00 memcached-1.4.5]# ls -al /usr/local/memcached/bin


设置防火墙

如果你在内网的网络平面使用,可以关闭防火墙。如果你在公网环境,请配置防火墙忽略 memcached


永久性生效,重启后不会复原

开启:

[root@hadoop00]# chkconfig iptables on 

关闭:

[root@hadoop00]# chkconfig iptables off

即时生效,重启后复原  

开启:

[root@hadoop00]# service iptables start 

关闭:

[root@hadoop00]# service iptables stop 

设置防火墙:

修改 /etc/sysconfig/iptables 文件,

添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT


启动 memcached 服务

 


[root@hadoop00]# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.160.129 -p 11211 -c 256 -P /tmp/memcached.pid


启动参数介绍,其它参数请参见: Memcached

-d 选项是启动一个守护进程, 

-m 是分配给Memcache 使用的内存数量,单位是MB ,我这里是100MB , 

-u 是运行Memcache 的用户,我这里是root , 

-l 是监听的服务器IP 地址,如果有多个地址的话,我这里指定了服务器的IP 地址192.168.36.200 , 

-p 是设置Memcache 监听的端口,我这里设置了11211 ,最好是1024 以上的端口,我们这里统一使用11211-c 选项是最大运行的并发连接数,默认是1024 ,我这里设置了256

-P 是设置保存Memcache 的pid 文件,我这里是保存在/tmp/memcached.pid

 

结束 Memcache 服务

直接采用 kill


[root@hadoop00 bin]# kill cat /tmp/memcached.pid
或
[root@hadoop00 bin]# ps -ax|grep memcached

18007 ?  Ssl    0:00 ./memcached -d -m 100 -u root -l 192.168.221.10 -p 11211 -c 256 -P /tmp/memcached.pid

  [root@hadoop00 bin]# kill -9 18007


 

测试安装

使用 telnet 方式直接连接到 memcached 进行简单测试,注意,这里只能使用你启动时候使用的 IP 进行连接。本例是 192.168.221.10


[root@hadoop00 bin]# telnet 192.168.221.10 11211

Trying 192.168.221.10...

Connected to hadoop00 (192.168.221.10).

Escape character is '^]'.

add key1 0 0 12

hello first!

STORED

get key1

VALUE key1 0 12

hello first!

END

^]

telnet> q

Connection closed.



Memcached 启动参数

-p <num>      TCP 监听端口,默认 11211

-U <num>      UDP 监听端口,默认 11211 ,如果配置 0

-s <file>     UNIX socket path to listen on (disables network support)

-a <mask>     access mask for UNIX socket, in octal (default: 0700)

-l <ip_addr>    监听 IP 。默认是本地所有 IP

-d            启动一个守护进程

-r            maximize core file limit

-u <username>   assume identity of <username> (only when run as root)

-m <num>      max memory to use for items in megabytes (default: 64 MB)

-M            return error on memory exhausted (rather than removing items)

-c <num>      max simultaneous connections (default: 1024)

-k            lock down all paged memory.  Note that there is a

               limit on how much memory you may lock.  Trying to

              allocate more than that would fail, so be sure you

              set the limit correctly for the user you started

              the daemon with (not for -u <username> user;

               under sh this is done with 'ulimit -S -l NUM_KB').

-v            verbose (print errors/warnings while in event loop)

-vv           very verbose (also print client commands/reponses)

-vvv          extremely verbose (also print internal state transitions)

-h            print this help and exit

-i            print memcached and libevent license

-P <file>     save PID in <file>, only used with -d option

-f <factor>   chunk size growth factor (default: 1.25)

-n <bytes>    minimum space allocated for key+value+flags (default: 48)

-L            Try to use large memory pages (if available). Increasing

              the memory page size could reduce the number of TLB misses

              and improve the performance. In order to get large pages

              from the OS, memcached will allocate the total item-cache

              in one large chunk.

-D <char>     Use <char> as the delimiter between key prefixes and IDs.

              This is used for per-prefix stats reporting. The default is

              ":" (colon). If this option is specified, stats collection

              is turned on automatically; if not, then it may be turned on

              by sending the "stats detail on" command to the server.

-t <num>      number of threads to use (default: 4)

-R             Maximum number of requests per event, limits the number of

              requests process for a given connection to prevent

              starvation (default: 20)

-C            Disable use of CAS

-b            Set the backlog queue limit (default: 1024)

-B            Binding protocol - one of ascii, binary, or auto (default)

-I            Override the size of each slab page. Adjusts max item size

              (default: 1mb, min: 1k, max: 128m)

    -p 监听的端口

    -l 连接的 IP 地址 , 默认是本机

    -d start 启动 memcached

    -d restart 重起 memcached

    -d stop|shutdown 关闭正在运行的 memcached

    -d install 安装 memcached

    -d uninstall 卸载 memcached

    -u 以的身份运行 ( 仅在以 root 运行的时候有效 )

    -m 最大内存使用,单位 MB 。默认 64MB

    -M 内存耗尽时返回错误,而不是删除项

    -c 最大同时连接数,默认是 1024

    -f 块大小增长因子,默认是 1.25

    -n 最小分配空间, key+value+flags 默认是 48

-h 显示帮助