安装repcached memcached

分别在两台服务器中安装libevent与repcachedmemcached

一、安装libevent

1.先用:ls-al/usr/lib|greplibevent查看是否已安装,如果已安装且版本低于1.3,则先通过:rpm-elibevent—nodeps进行卸载。

2.下载libevent安装包:libevent-1.4.13-stable.tar.gz,然后解压。

3.切换到解压后的libevent主目录:cdlibevent-1.4.13-stable

4.依次执行:

./configure --prefix=/usr (或 ./configure --program-prefix=/usr)  
make  
make install

注意:

1)执行makeinstall时可能需要root权限。

2)libevent会安装到/usr/lib下。

5.测试libevent是否安装成功:ls-al/usr/lib|greplibevent

出现类似下图结果则表示安装成功:

lrwxrwxrwx.  1 root root     21 Jun 17 00:35 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3
-rwxr-xr-x.  1 root root 373214 Jun 17 00:35 libevent-1.4.so.2.1.3
-rw-r--r--.  1 root root 603890 Jun 17 00:35 libevent.a
lrwxrwxrwx.  1 root root     26 Jun 17 00:35 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.3
-rwxr-xr-x.  1 root root 137329 Jun 17 00:35 libevent_core-1.4.so.2.1.3
-rw-r--r--.  1 root root 228968 Jun 17 00:35 libevent_core.a
-rwxr-xr-x.  1 root root    860 Jun 17 00:35 libevent_core.la
lrwxrwxrwx.  1 root root     26 Jun 17 00:35 libevent_core.so -> libevent_core-1.4.so.2.1.3
lrwxrwxrwx.  1 root root     27 Jun 17 00:35 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x.  1 root root 295868 Jun 17 00:35 libevent_extra-1.4.so.2.1.3
-rw-r--r--.  1 root root 469074 Jun 17 00:35 libevent_extra.a
-rwxr-xr-x.  1 root root    867 Jun 17 00:35 libevent_extra.la
lrwxrwxrwx.  1 root root     27 Jun 17 00:35 libevent_extra.so -> libevent_extra-1.4.so.2.1.3
-rwxr-xr-x.  1 root root    825 Jun 17 00:35 libevent.la
lrwxrwxrwx.  1 root root     21 Jun 17 00:35 libevent.so -> libevent-1.4.so.2.1.3

6.如果libevent的安装目录为/usr/local/lib下,则还需要建立libevent-1.4.so.2到/usr/lib的软连接,这样其他程序运行时才能找到libevent库:ln-s/usr/local/lib/libevent-1.4.so.2/usr/lib/libevent-1.4.so.2

二、安装repcachedmemcached

1.下载repcached安装包:memcached-1.2.8-repcached-2.2.1.tar.gz,然后解压。

2.切换到解压后的repcachedmemcached主目录:cdmemcached-1.2.8-repcached-2.2.1

3.依次执行:

./configure --enable-replication 
make  
make install

4.如果在64位系统中运行memcached可能会出现如下错误:

/usr/local/bin/memcached:errorwhileloadingsharedlibraries:libevent-1.4.so.2:cannotopensharedobjectfile:Nosuchfileordirectory

则使用libs参数调试:

LD_DEBUG=libs/usr/local/bin/memcached-v

可以看到以下输出:

10641:     find library=libevent-1.4.so.2 [0]; searching
     10641:      search cache=/etc/ld.so.cache
     10641:      search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64                (system search path)
     10641:       trying file=/lib64/tls/x86_64/libevent-1.4.so.2
     10641:       trying file=/lib64/tls/libevent-1.4.so.2
     10641:       trying file=/lib64/x86_64/libevent-1.4.so.2
     10641:       trying file=/lib64/libevent-1.4.so.2
     10641:       trying file=/usr/lib64/tls/x86_64/libevent-1.4.so.2
     10641:       trying file=/usr/lib64/tls/libevent-1.4.so.2
     10641:       trying file=/usr/lib64/x86_64/libevent-1.4.so.2
     10641:       trying file=/usr/lib64/libevent-1.4.so.2
     10641:
/usr/local/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

可知memcached并没有在/usr/lib中加载libevent-1.4.so.2,而是在/usr/lib64中。

故在/usr/lib64中创建/usr/lib/libevent-1.4.so.2的软链接:

ln-s/usr/lib/libevent-1.4.so.2/usr/lib64/libevent-1.4.so.2

三、验证

1.在第一个服务器执行:

[root@localhost ~]# /usr/local/bin/memcached -u nobody -l 192.168.73.201 -p 22122 -m 64 -x 192.168.73.202 -v
replication: connect (peer=192.168.73.202:11212)
replication: marugoto copying
replication: close
replication: listen

2.在第二个服务器执行:

[root@localhost ~]# /usr/local/bin/memcached -u nobody -l 192.168.73.202 -p 22122 -m 64 -x 192.168.73.201 -v
replication: connect (peer=192.168.73.201:11212)
replication: marugoto copying
replication: start

这时在第一个服务器中会输出:

replication:accept

3.在第一个服务器中设置keyvalue对:

[root@localhost ~]# telnet 192.168.73.201 22122
Trying 192.168.73.201...
Connected to 192.168.73.201.
Escape character is '^]'.
set hey 0 0 4
dude
STORED
get hey
VALUE hey 0 4
dude
END
quit
Connection closed by foreign host

4.在第二个服务器中取出keyvalue对:

[root@localhost ~]# telnet 192.168.73.202 22122
Trying 192.168.73.202...
Connected to 192.168.73.202.
Escape character is '^]'.
get hey
VALUE hello 0 4
dude
END
quit
Connection closed by foreign host.

5.好了,repcachedmemcached已经安装配置完成。

另外,安装telnet客户端的命令是:

yum-yinstalltelnet

#后台运行:

/usr/local/bin/memcached-d-m128-uroot-p11211-P/tmp/memcached.pid

#结束memcache进程

kill`cat/tmp/memcached.pid`

参数:

-d启动守护进程(后台运行)

-m分配给memcache使用的内存,单位是MB

-u运行memcached的用户

-l监听的服务器IP

-p监听的服务器端口,默认是11211

-c最大运行的并发连接数,默认是1024

-P(大写)保存Memcache的pid文件,后面跟路径

相关推荐