tar -zxf memcached-1.2.8-repcached-2.2.tar.gz
二、編譯:
系統應安裝了libevent,libevent-1.4.13-stable.tar;
./configure --enable-replication --prefix=/home/taiyue/repcached --with-libevent=/home/taiyue/libevent
報錯:checking build system type... Invalid configuration `i686-pc-linux-': machine `i686-pc-linux' not recognized
./configure --enable-replication --build=i686-pc-linux-gnu --prefix=/home/usd/repcached --with-libevent=/usr/lib
報錯:configure: error: no acceptable C compiler found in $PATH //缺乏gcc編譯器
經過界面進行gcc的安裝。
./configure --enable-replication --build=i686-pc-linux-gnu成功以後:make
報錯:-bash: make: command not found;須要安裝make。
make install(必須使用root才能安裝??不是非root用戶編譯的時候指名--prefix安裝地址便可,啓動的時候不要直接memcached-。。。必須加上安裝路徑)
make報錯:error while loading shared libraries: libmpc.so.2: cannot open shared object file 。。。。
添加:export LD_LIBRARY_PATH=/usr/local/mpc-0.8.1/lib
注意:make的時候報錯linux
memcached.c: 在函數‘add_iov’中: memcached.c:696:30: 錯誤: ‘IOV_MAX’未聲明(在此函數內第一次使用) memcached.c:696:30: 附註: 每一個未聲明的標識符在其出現的函數內只報告一次 make[2]: *** [memcached-memcached.o] 錯誤
須要修改 memcached.c 文件:bash
/* 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
三、運行:
主:/home/taiyue/repcached/bin/memcached -v -d -u usd -p 11211
從:/home/taiyue/repcached/memcached -v -d -u usd -x 127.0.0.1 -p 11213
紅色的目錄必定要帶上,由於使用非root帳戶安裝的軟件沒有在系統環境變量地下,於是直接使用memcached命令將提示command not
found。
主宕掉之後重啓:
/home/taiyue/repcached/memcached -v -d -u usd -x 127.0.0.1 -p 11211
四、網上不少對repcached啓動的參數理解不正確,repcached 新添加的兩個參數-x以及-X應該這麼理解:
-x爲要監聽的另外一臺機器的IP,-X爲本機的複製端口()(A和B兩臺機子必須複製端口相同)
例如本機爲:133.96.93.107,另外一臺機子爲133.96.93.108
那麼 133.96.93.107啓動的時候:memcached -d -v -p 44444 -x 133.96.93.108 -X 66666
-p表明133.96.93.107對外提供服務的地址,-x 133.96.93.108爲要監聽複製的地址, -X 66666聲明要133.96.93.107打開此端口供賦值打開的是133.96.93.107上的端口或者理解爲133.96.93.108要提供的複製端口,由於端口是必須相同的。
那麼 133.96.93.108啓動的時候:memcached -d -v -p 44444 -x 133.96.93.107 -X 66666 只須要改變-x的參數便可