`
石開猶
  • 浏览: 6309 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

CentOS 6.5 安装 libevent、Memcached、magent 及测试集群环境

阅读更多

一、安装 libevent

 
1、安装 gcc
yum install gcc
 
2、设置安装路径
./configure -prefix=/home/wangzh/work/libevent-2.0.22
 
3、编译
make
 
4、安装
make install

 
二、安装 Memcached 
 
 
1、设置安装路径
./configure --prefix=/home/wangzh/work/memcached-1.4.25 --with-libevent=/home/wangzh/work/libevent-2.0.22
 
2、编译
make
 
3、安装
make install
 
4、建立软连
ln -s /home/wangzh/work/memcached-1.4.25/bin/memcached /usr/bin/memcached
 
 
三、安装 magent
 
1、解压 magent 到指定文件夹下。
 
2、/sbin/ldconfig
 
3、sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
 
4、修改文件 Makefile
 LIBS = /home/wangzh/work/libevent-2.0.22/lib/libevent.a /usr/lib64/libm.a
CFLAGS = -Wall -g -O2 -I/home/wangzh/work/libevent-2.0.22/include $(M64)
 
5、make
 
6、cp magent /usr/bin/magent
 
报错1:
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
magent.c: In function 'writev_list':
magent.c:729: error: 'SSIZE_MAX' undeclared (first use in this function)
magent.c:729: error: (Each undeclared identifier is reported only once
magent.c:729: error: for each function it appears in.)
make: *** [magent.o] Error 1
解决办法:
[root@centos6 memcached]# vi ketama.h 
#在开头加入
#ifndef SSIZE_MAX 
#define SSIZE_MAX      32767
#endif
报错2:
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o magent.o magent.c
gcc -Wall -g -O2 -I/usr/local/include -m64 -c -o ketama.o ketama.c
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
gcc: /usr/lib64/libevent.a: No such file or directory
gcc: /usr/lib64/libm.a: No such file or directory
 
 
解决办法:
[root@centos6 memcached]# ln -s /usr/lib/libevent*  /usr/lib64/
[root@centos6 memcached]# make
 
报错3:
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
gcc: /usr/lib64/libm.a: No such file or directory
make: *** [magent] Error 1
 
 
解决办法:
yum install glibc glibc-devel
如果是64bit的系统则不会在/usr/lib64/libm.a 生成,如果是32bit即会有。
 
[root@centos6 memcached]# cp /usr/lib64/libm.so /usr/lib64/libm.a
 
报错4:
gcc -Wall -g -O2 -I/usr/local/include -m64 -o magent magent.o ketama.o /usr/lib64/libevent.a /usr/lib64/libm.a 
/usr/lib64/libevent.a(event.o): In function `detect_monotonic':
event.c:(.text+0xc79): undefined reference to `clock_gettime'
/usr/lib64/libevent.a(event.o): In function `gettime':
event.c:(.text+0xd60): undefined reference to `clock_gettime'
collect2: ld returned 1 exit status
make: *** [magent] Error 1
 
 
解决办法:
[root@centos6 memcached]# vi Makefile 
CFLAGS = -Wall -g -O2 -I/usr/local/include $(M64)
改为:    
CFLAGS = -lrt -Wall -g -O2 -I/usr/local/include $(M64)
 
 
四、使用 Java 客户端连接测试集群
 
1、导入maven 包
mvn install:install-file -Dfile=java_memcached-release_2.6.6.jar -DgroupId=com.danga -DartifactId=memcached -Dversion=2.6.6 -Dpackaging=jar -DgeneratePom=true
<dependency>
  <groupId>com.danga</groupId>
  <artifactId>memcached</artifactId>
  <version>2.6.6</version>
</dependency>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.19</version>
</dependency>
<dependency>
  <groupId>commons-pool</groupId>
  <artifactId>commons-pool</artifactId>
  <version>1.6</version>
</dependency>
 
2、启动集群
/usr/bin/memcached -d -m 10 -u root -l 192.168.253.128 -p 1111 -c 256 -P /tmp/memcached1.pid
/usr/bin/memcached -d -m 10 -u root -l 192.168.253.128 -p 2222 -c 256 -P /tmp/memcached2.pid
/usr/bin/memcached -d -m 10 -u root -l 192.168.253.128 -p 3333 -c 256 -P /tmp/memcached3.pid
/usr/bin/magent -u root -n 5120 -l 192.168.253.128 -p 11211 -s 192.168.253.128:1111  -s 192.168.253.128:2222 -b 192.168.253.128:3333
 
3、Java 客户端代码
public class CachedHelper {

    private static MemCachedClient mcc =new MemCachedClient();

    private CachedHelper(){}

    static {
        String[] servers ={"192.168.253.128:11211"};
        Integer[] weights ={2};
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(servers);
        pool.setWeights(weights);
        pool.setInitConn(5);
        pool.setMinConn(5);
        pool.setMaxConn(250);
        pool.setMaxIdle(1000 * 60 * 60 * 60);

        // 禁用 nagle 算法
pool.setNagle(false);
        pool.setSocketConnectTO(0);
        pool.setSocketTO(3000);
        // 设置为一致性 hash算法
//        pool.setHashingAlg(3);
pool.initialize();
    }

    public static MemCachedClient getMemCachedCilent(){
        return mcc;
    }

    public static void main( String[] args ) throws InterruptedException {
        MemCachedClient mcc1=CachedHelper.getMemCachedCilent();
//        mcc1.add("key1","value1");
//        mcc1.add("key2","value2");
//
//        System.out.println("key1=" + mcc1.get("key1"));
//        System.out.println("key2="+mcc1.get("key2"));
for(int i=0;i<10;i++){
            mcc1.set("key"+i,"value"+i);
        }
        for(int i=0;i<10;i++){
            Object  obj=mcc1.get("key"+i);
            System.out.println( "key"+i+"=="+obj );
        }

    }
}
 
 注:
启动 Java 主程序总是连接不上 magent,
解决方法:卸载 libevent-2.0.22 ,安装低版本的 libevent-1.4.15,后重新安装 Memcached、magent。
 
 
五、安装 libevent-1.4.15
 
1、安装 libtool
yum install libtool
 
2、生成 configure 文件
./autogen.sh
 
3、设置安装路径
./configure -prefix=/home/wangzh/work/libevent-1.4.15
 
4、编译
make
 
5、安装
make install
分享到:
评论

相关推荐

    Centos6.5下安装Memcached完整示例

    在本文中,我们将深入探讨如何在CentOS 6.5操作系统上安装和配置Memcached,一个流行的、高性能的分布式内存对象缓存系统。这个过程对于优化数据库读取速度,减轻数据库负载,以及提升Web应用程序的整体性能至关重要...

    Centos6.5 镜像文件下载

    ### Centos6.5镜像文件下载与安装详解 #### 一、CentOS 6.5简介 CentOS是Community ENTerprise Operating System的缩写,是一个基于Linux内核的操作系统,它主要提供了企业级的计算环境。CentOS 6.5作为CentOS 6...

    CentOS6.5一键安装Mysql5.6

    本文将详细介绍如何在CentOS 6.5上进行MySQL 5.6的一键安装过程,包括必要的环境准备、安装步骤、配置优化以及安全设置。 一、环境准备 在开始安装之前,确保你的CentOS 6.5系统已经更新到最新,运行以下命令进行...

    Centos6.5安装教程for oracle

    本文将详细介绍如何在服务器上安装并配置CentOS 6.5系统,特别是针对Oracle数据库环境的优化和配置方法。CentOS 6.5是一款稳定且广泛使用的Linux发行版,尤其适合企业级应用,包括Oracle数据库部署。 #### 二、安装...

    ansible centos6.5安装及配置详细教程

    ansible centos6.5安装及配置详细教程,亲测可运行。

    centos6.5安装教程,绝对详细,内附centos镜像等资源

    CentOS 6.5 安装教程详解 CentOS 6.5 是一个稳定、功能强大且广泛应用的 Linux 发行版,本文将详细介绍 CentOS 6.5 的安装步骤,包括虚拟机的安装、CentOS 镜像文件的下载和使用、连接工具的配置等内容。 一、...

    centos6.5安装oracle12c(图形化安装)

    CentOS 6.5 安装 Oracle 12c 图形化安装教程 本教程将指导您如何在 CentOS 6.5 操作系统上安装 Oracle 12c 数据库管理系统,旨在帮助读者熟悉 Oracle 数据库安装和配置过程。 一、 安装图形化基础包 在安装 ...

    CentOs 6.5 telnet 客户端 linux 64(离线安装)

    centos 6.5 telnet 客户端 安装文件 rpm包 centos 6.5 telnet 服务端 安装文件 rpm包 http://vault.centos.org/6.5/os/x86_64/Packages/ 从官网下载亲测可以用

    CentOS6.5离线安装openssh8.6p1软件包-步骤及依赖.rar

    在本案例中,我们有"CentOS6.5离线安装openssh8.6p1软件包-步骤及依赖.rar"这个压缩包文件,它应该包含了openssh 8.6p1以及所有必需的依赖项。在拥有互联网连接的机器上,你需要访问OpenSSH的官方网站或者通过yum...

    Lancger#opslinux#Centos6.5安装node_exporter1

    一、安装 二、启动脚本 三、设置开机启动

    centos6.5安装手册

    - **桌面环境安装**:默认情况下,CentOS 6.5 是最小化安装,可以选择安装桌面环境 (如 GNOME),以获得图形用户界面。 - **开始安装**:点击开始安装按钮,等待安装程序完成安装过程。这个过程可能需要一段时间。 #...

    VMware安装CentOS6.5教程1.pdf

    在本教程中,我们将深入探讨如何使用VMware安装CentOS6.5,这是一个适用于初学者的详细步骤指南。首先,了解Linux操作系统的基本概念是至关重要的。Linux是一个开源操作系统,其核心是Linux内核,而CentOS是基于...

    centOS6.5安装Oracle记录

    - CentOS 6.5安装时可以选择安装基础服务器并自定义,取消Java和Perl,但根据需求,可能需要安装Emacs和互联网应用程序,甚至桌面环境。 10. **Oracle数据库安装**: - 安装Oracle之前,必须先执行预安装脚本,这...

    CentOS6.5x64下安装19实体节点Hadoop2.2.0集群配置指南

    资源名称:CentOS 6.5 x64下安装19实体节点Hadoop 2.2.0集群配置指南内容简介: CentOS 6.5 x64下安装19实体节点Hadoop 2.2.0集群配置指南主要讲述的是CentOS 6.5 x64下安装19实体节点Hadoop 2.2.0集群配置指南;...

    CentOS 6.5 安装说明.docx

    ### CentOS 6.5 安装说明 #### 创建虚拟机 在进行CentOS 6.5的安装之前,首先需要创建一个虚拟机环境。这里假设使用的是常见的虚拟化软件如VMware Workstation或者VirtualBox。 - **配置硬件资源**:在创建虚拟机...

    CentOs6.5镜像源

    CentOs6.5镜像源

    VMware创建安装CentOS6.5(配截图)

    "VMware创建安装CentOS6.5(配截图)" VMware 是一款功能强大且流行的虚拟机软件,用户可以在 VMware 中创建多个虚拟机,每个虚拟机都可以独立运行不同的操作系统。CentOS6.5 是一个基于 Linux 的开源操作系统,...

    CentOS 6.5 最新可用的 Yum 源

    CentOS 6.5 的 软件源很多官方已经停止维护,该文件包内配置好的yum源是可以正常使用的。将原/etc/yum.repos.d/目录下原来的 .repo 备份, 然后把本文件包内的repo文件复制过去, yum clean all 后,再 yum ...

    CentOS6.5安装jdk,Tomcat,MYsql.doc

    以下是如何在CentOS 6.5上一步步进行这些安装的详细步骤。 首先,我们来讨论如何使用`yum`安装JDK。`yum`是Yellow dog Updater, Modified的简称,是Fedora、Red Hat和CentOS系统中的一个前端软件包管理器,它能自动...

Global site tag (gtag.js) - Google Analytics