1. 程式人生 > >memcached單機或熱備的安裝部署

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)在官網下載最新版本安裝包,主頁連結為:

        http://libevent.org

(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的安裝包,頁面連結為:

       http://repcached.lab.klab.org

(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”的軟連結。