1linux 2c++ 3memcached 4函數 5測試 6優化 7ui |
|
1、基礎環境準備
這裏安裝以前須要下載兩個包libevent-2.0.22-stable.tar.gz,memcached-1.4.22.tar.gz
1 |
|
2、Memcached安裝
一、安裝libevent
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
二、安裝memcached
1 2 3 4 5 6 7 8 9 |
|
注意:若是中間出現報錯,請仔細檢查錯誤信息,按照錯誤信息來配置或者增長相應的庫或者路徑
3、repcached安裝
方式一:使用repcached版本
1 2 3 |
|
方式二:使用patch版本
1 2 3 4 5 6 |
|
以上操做,咱們須要針對主節點和備節點都操做!這裏我僅僅以主節點的部署爲例!切記!
注意:make的時候報錯
memcached.c: 在函數‘add_iov’中:
memcached.c:696:30: 錯誤: ‘IOV_MAX’未聲明(在此函數內第一次使用)
memcached.c:696:30: 附註: 每一個未聲明的標識符在其出現的函數內只報告一次
make[2]: *** [memcached-memcached.o] 錯誤 1
須要修改 memcached.c 文件:
複製代碼
/* FreeBSD 4.x doesn't have IOV_MAX exposed. */
#ifndef IOV_MAX
#if defined(__FreeBSD__) || defined(__APPLE__)
# define IOV_MAX 1024
#endif
#endif
改爲:
/* FreeBSD 4.x doesn't have IOV_MAX exposed. */
#ifndef IOV_MAX
# define IOV_MAX 1024
#endif
4、啓動配置
一、啓動master
1 2 3 4 |
|
注意:memcached啓動的時候會去/usr/lib64/目錄下尋找libevent-2.0.so.5文件而該文件安裝後是存在/usr/lib/目錄的,因此啓動時候報錯:memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
這裏須要作一個軟鏈接:若是安裝目錄跟我不同請根據本身的目錄來
ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
二、啓動salve
1 2 3 4 5 6 |
|
三、回到master節點
1 |
|
5、測試
因爲咱們主節點和從節點的memcached服務都騎起來了,而且監聽也都正常,因此如下的測試操做所有放到master節點進行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
以上就是咱們作的關於memcached基於repcached的主從複製實驗了。經過實驗,咱們能夠看出,經過他咱們實現了主從中任何一個宕機,都不會影響另一臺機器上的數據。
在文章最後,咱們再來總結如下基於 Repcached 的 Memcached 主從的優缺點:
1 2 3 4 5 |
|