memcached單機或熱備的安裝部署
一、部署準備
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”的軟連結。