转自:http://blog.csdn.net/u011183653/article/details/21240749

说到twemproxy就不得不说要一下redis,这是因为twemproxy是为redis服务的,当然这里所说的服务是指代理服务。为什么是这么说得呢?如果你之前有接触过redis的话,你应该很熟悉redis集群。虽然redis集群带来了很多的优势,但还有一个问题需要解决,那就是独立的redis集群之间的关联。我们知道redis有16834个slot(槽),当我们创建集群并赋予给定范围的槽后,如果因为业务的需要而又重新创建了另外一个redis集群,虽然可能解决了业务的需求,但这又产生了另外一个问题-->这两个独立的redis集群无法进行信息共享。在一定程度上会增加了不必要的操作,为此提出了twemproxy。何为twemproxy?如果你了解过设计模式中的代理模式,想必对于这个你也知道个7、8分了吧。好了,其余就不多说了,接下来就具体说说如何安装这个软件吧。作为一个运维人员,我想软件安装与配置是我们的基本技能。

今天安装twemproxy时,碰到了很多问题。看了很多的博文和论坛,几乎都是从twemproxy解压开始,又没提出安装过程中出现问题的解决方案。或许他们都是大神,并不曾碰到过类似的问题,或者是其他的原因等等,这些都是我的猜测而已。菜鸟的我总是碰到一些问题,出现问题后,论坛上总是零零散散的说,但有时候又不一定能解决我们的问题,所以我就大海捞针找解决方案。总而言之,我写这篇的只是为记录一下我安装twemproxy过程中解决问题的方法。

1、安装

由于系统redhat6.3有自带autoconf,由于担心其版本过低,所以我就先卸载了它。

  1. yum remove autoconf

卸载完成之后,下载以下的软件包automake、libtool、autoconf、twemproxy。

我选择相应的包如下:

automake-1.12.1.tar.gz 包下载地址:http://ftp.gnu.org/gnu/automake/

autoconf-2.69.tar.gz 包下载地址:http://ftp.gnu.org/gnu/autoconf

libtool-2.2.4.tar.gz 包下载地址:http://ftp.gnu.org/gnu/libtool/

twemproxy-master.zip 包下载地址:http://ftp.gnu.org/gnu/twemproxy/

下载完成之后,依次解压,并安装。(严格依次按以下的顺序解压文件,否则安装失败)

  1. tar -xf autoconf-2.69.tar.gz
  2. ./configure
  3. make && make install
  4. tar -xf automake-1.12.1.tar.gz
  5. ./configure
  6. make && make install
  7. tar -xf libtool-2.2.4.tar.gz
  8. ./configure
  9. make && make install
  10. unzip twemproxy-master.zip
  11. cd twemproxy-master
  12. autoreconf -ivf
  13. ./configure
  14. make && make install

在安装过程中可能会碰到以下问题(均是包的依赖问题):

1、解压twemproxy-master后,cd twemproxy-master,./configure 报错,这是因为要先执行autoreconf -ivf

2、执行autoreconf -ivf,提示

  1. autoreconf: Entering directory `.'
  2. autoreconf: configure.ac: not using Gettext
  3. autoreconf: running: aclocal --force -I m4
  4. Can't exec "automake": No such file or directory at /usr/local/share/autoconf/Autom4te/FileUtils.pm line 326, <GEN2> line 7.
  5. autoreconf: failed to run automake: No such file or directory

解决方法是安装完autoconf包之后,再安装automake包就可以了。

3、执行autoreconf -ivf,提示

  1. configure.ac:36: error: possibly undefined macro: AC_PROG_LIBTOOL

解决方法是安装完autoconf包和automake包之后,再安装libtool包就可以了。

twemproxy 安装与配置的更多相关文章

  1. twemproxy 安装

    twemproxy 安装 1. 获取安装包 shell> wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz shell> ...

  2. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  3. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  4. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  5. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  6. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  7. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  8. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  9. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

随机推荐

  1. PHP5.5下安装配置EcShop

    建议用较旧的PHP版本与EcShop搭配,比如PHP5.3,新版的PHP有很多奇奇怪怪的问题... 错误描述: Deprecated: preg_replace(): The /e modifier ...

  2. 0120Keeplived实现自动切换Mysql服务

    转自http://biancheng.dnbcw.info/mysql/381020.html Keepalived+mysql 自动切换网络结构:VIP 192.168.88.200mysq11 1 ...

  3. UDP bind() IP和prot

    http://blog.csdn.net/qq_28171461/article/details/69523604

  4. SVN提示被锁定的解决方法(转)

    1.(常用)出现这个问题后使用“清理”即"Clean up"功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”. 2.(没试过)有时候如果看到某个包里面的文件夹没 ...

  5. HDU 1912

    坑,直接把公路看成X轴来做,然后,排序扫描一下,你懂的. #include <iostream> #include <algorithm> #include <cstdi ...

  6. hdu - 3498 - whosyourdaddy(反复覆盖DLX)

    题意:N(2 ≤ N ≤ 55)个点,M(0 ≤ M ≤ N*N)条无向边,删除一个点会把与其相邻的点一起删掉.问最少删几次能够删掉全部点. 题目链接:pid=3498">http:/ ...

  7. 基于spark1.4的Spark-Sql

    Author: kwu 基于spark1.4的Spark-Sql,spark1.4.1在7月15刚公布.提供较好sql支持 1.怎样启动Spark-Sql 启动脚本例如以下 #!/usr/bin/en ...

  8. 实战c++中的string系列--CDuiString和string的转换(duilib中的cduistring)

    使用所duilib的人定会知道cduistring类型,先看看这个类是怎么定义的: class UILIB_API CDuiString { public: enum { MAX_LOCAL_STRI ...

  9. 线程同步、死锁和通信——Java多线程(二)

    一.多线程同步 上一篇随笔中,我曾遇到对多线程程序的多次运行结果不一致的情况,这主要是因为没有对这些线程在访问临界资源做必要的控制,而接下来就用线程的同步来解决这个问题. 1.同步代码块 class ...

  10. 利用 Gearman 实现系统错误报警功能

    Gearman 是什么? Gearman是一个用来把工作委派给其他机器.分布式的调用更适合做某项工作的机器.并发的做某项工作在多个调用间做负载均衡.或用来在调用其它语言的函数的系统. Gearman ...