一、部署准备
1、安装Java
不建议使用系统默认Open JDK版本,需要手工另行安装。JDK版本建议为1.7+,若Java已安装完毕,则无需重复安装。
安装过程如下:
(1)获取JDK安装包;
(2)将JDK包分发到各主机:
scp [-P <port>] <path> [<username>@]<ip | hostname[.domain]>:<path>
(3)解压JDK包到规范路径下(如/opt/jdk<version>/);
(4)设置环境变量,在/etc/profile文件中添加如下内容:
export JAVA_HOME=<path>
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(5)完成对/etc/profile的编辑后,使其生效:
<source | .> /etc/profile
2、安装LibEvent
(1)在官网下载最新版本安装包,主页链接为:
(2)在主机中为LibEvent创建部署路径,如/opt/libevent/<version>,将下载下来的安装包放置其中,解压之;
(3)进入解压路径下,执行初始化配置。指令为:
./configure -prefix=/opt/libevent/<version>/<path> 其中,<path>表示安装路径。
(4)执行安装指令:
make && make install
安装完成后,在预先设置的安装路径<path>下会有bin/、include/和lib/三个路径。
3、安装包准备
【单机版】
(1)在Memcached官网下载安装包,下载页面链接为:
http://memcached.org/downloads
(2)在主机中为Memcache创建部署路径,如/opt/memcached/<version>,将下载下来的安装包放置其中,解压之。
(3)创建安装路径<mc.path>。
【双实例也即热备版】
(1)双实例特性通过RepCached工具实现,在RepCached官网下载内嵌Memcached的安装包,页面链接为:
(2)在主机中为Memcached创建部署路径,如/opt/memcached/<version>,将下载下来的安装包放置其中,解压之。
(3)创建安装路径<mc.path>。
二、产品部署
1、单机版部署
(1)在解压路径下执行初始化配置指令:
./configure -prefix=<mc.path> –with-libevent=/opt/libevent/<version>/<path>
(2)执行安装指令:
make && make install
(3)执行启动指令:
./memcached -d -m <memory.size> -l <host> -u <user.name> -p <port> -vv >> <log.file.path> 2>&1
其中,<memory.size>表示为该实例分配的内存大小,单位为“MB”;<host>表示实例服务的主机地址或主机名;<port>表示实例服务的端口;<log.file.path>表示日志的输出路径。
至此,单机版Memcache部署并启动完成。
2、双实例版部署
(1)选择主备节点主机,不妨设为host1、host2。
(2)在主备节点主机中的解压路径下分别执行初始化配置指令:
./configure -prefix=<mc.path> –enable-replication –program-transform-name=s/memcached/repcached/ –with-libevent=/opt/libevent/<version>/<path>
(3)在主备节点分别执行安装指令:
make && make install
在执行安装指令时,会报如“error: ‘IOV_MAX’ undeclared (first use in this function)”错误,解决方法为:修改memcached.c文件,将代码“#if defined(__FreeBSD__) || defined(__APPLE__)”及其对应的“#endif”注释掉即可。
(4)启动实例。其中,在主节点启动实例的指令为:
./memcached -d -p <port> -l <host1> -u <user.name> [-P <pid1.path>] -vv >> <log.file.path> 2>&1
在备节点启动实例的指令为:./memcached -d -p <port> -l <host2> -u <user.name> -x <hos1> [-P <pid2.path>] -vv >> <log.file.path> 2>&1
在双实例版启动时,会报如“error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory”错误,解决办法为:在/usr/lib64/中创建LibEvent安装路径下的“libevent-2.1.so.6”的软链接。