아래의 글을 볼 때 주의점은 글을 쓰기는 하나만 쓰지만
설치는 2개에 똑같이 해줘야 한다는 것이다.
memcached 를 replication 하시려는 분들이니 만큼 그 정도는
당연히 아신다고 생각이 된다.
1. repcached 설치
1-1. http://repcached.lab.klab.org/ 접속 하여 최신판 다운로드
나는 memcached-1.2.8-repcached-2.2.1.tar.gz 를 다운 받았다.
memcached 와 repcached 가 같이 들어가 있는 버전이다.
1-2. tar xvfz memcached-1.2.8-repcached-2.2.1.tar.gz
1-3. cd memcached-1.2.8-repcached-2.2.1
1-4. ./configure --prefix=/usr/local/memcached_rep --enable-replication
=====================================================================
설치가 안될 경우 아래와 같이 libevent-1.4 버전을 설치해 준다
wget https://github.com/downloads/libevent/libevent/libevent-1.4.14b-stable.tar.gz
(repcache 를 설치하려면 libevent-1.4 버전이여야함)
tar xvfz libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
./configure --prefix=/usr/local
make
make install
=====================================================================
또한 이런 에러가 발생 하는데...
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/
로 링크걸어주면 된다. (이걸로 안되면 앞에 memcached 싱글로 깐 글에서
ldconfig 해준 부분 따라 하면 된다.)
그런 다음
make
make install 해주면 된다.
2. 실행
cd /usr/local/memcached_rep
./memcached -d -m 1024 -l local_ip -p 11211 -u user_id -x remote_ip -X11211
netstat -ntlp | grep 11211
로 확인 해 보면 둘 서버 다 11211 포트로 작동되고 있는 것을 볼 수 있다.
그런데 telnet local_ip 또는 remote_ip 11211 로 접속 해보면
한 곳은 접속이 되고 다른 곳은 접속이 안된다.
한 곳은 connect 가 되는 곳이고 다른 곳은 replication 이 되는 곳이라 그런것 같다.
어찌 됐든 정상작동되는지 확인 법은
아래와 같이
telnet local_ip 11211 로 접속 한 다음
set mykey 0 100 2
hello
를 입력 한다음
get mykey 를 입력 하면
set mykey 0 100 2
hello
STORED
get mykey
VALUE mykey 0 2
hello
END
라고 나올 것이다.
quit 을 입력하여 telnet 을 나오고
ps -ef | grep memc 를 입력 하여
kill 로 local 의 memcached 를 죽인 다음
telnet remote_ip 11211
로 붙어서
get mykey 를 입력 해 보면 replication 이
정상적으로 된 것을 확인 해 볼 수 있다.
=============================================
번외로 memcached 의 replication 의 단점을 좀 얘기 해 보겠다.
내가 느끼기에 상용 서비스에 적용하기엔 무리가 있는 점이라고 하겠다.
1. memcached 의 싱글에서는 되는 멀티쓰레드 기능이 replication 을
할 때는 되지 않는다는 점이다.
어떤 분이 비교를 해 놓으셨는데...(출처 : http://seuis398.blog.me/70078268543 )
2배 차이가 난다.
2. 확장성에 문제가 있다.
이게 무슨 말이냐 하면...
replication을 한다는 것은 계속 장비를 늘릴 수 있다는 얘기인데...
여기에선 2대가 연결하면 끝이다. 더이상 연결 할 수 없다.
(이건 굉장히 심각하다고 생각 된다.)
3. 버전 업이 굉장히 느리다.
memcached 는 많이 사용하고 있는 듯 한데...
repcached 의 경우 업데이트가 몇년에 한번씩 되는 것 같다.
그래서 최신의 운영체제 나 라이브러리 상황을 반영 못하는 것으로 보인다.
예를 들어 libevent 만 하더라도 원래 나는 2.0 대를 깔았으나
1.4로 버전을 다운그레이드 해야 하는 불상사가 발생 하였다.(안그러면
컴파일도 안된다..)
3번째야 제쳐놓더라도 1,2번의 경우 상용 프로젝트에서 쓰기에 상당히
치명적이어서 repcached 말고 다른 방법을 찾아봐야 할 것으로 보인다.
'CACHE > memcached' 카테고리의 다른 글
[ memcached ] memcached 설치 (0) | 2012.07.17 |
---|
댓글