Thrift这里就不介绍了,只说一句——Facebook很牛逼。

我这里安装Thrift主要是为Accumulo数据库作准备,所以java语言为必选项。

具体安装参考官方Apache Thrift Requirements

1,安装ant和ivy ,配置环境变量

下载ant和ivy安装包(我这里北京理工的镜像比较快):

http://mirror.bit.edu.cn/apache/ant/binaries/apache-ant-1.9.1-bin.tar.gz

http://mirror.bit.edu.cn/apache/ant/ivy/2.3.0/apache-ivy-2.3.0-bin.tar.gz

解压:

$ tar -xvzf apache-ant-1.9.1-bin.tar.gz
$ tar -xvzf apache-ivy-2.3.0-bin.tar.gz

把apache-ivy-2.3.0文件夹下的ivy-2.3.0.jar包拷贝到apache-ant-1.9.1/lib文件夹下。

配置环境变量

$ vim ~/.profile

添加下面内容

export JAVA_HOME=/home/hadoop/java/jdk1.6.0_25

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export ANT_HOME=/home/hadoop/java/apache-ant-1.9.1

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$ANT_HOME/bin:$PATH

2,安装必要的依赖包和头文件

$ sudo apt-get install python-dev automake libtool flex bison pkg-config g++

其中,要是不安装python-dev的,后面安装过程中会出现下面的错误

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/protocol/fastbinary.c -o build/temp.linux-x86_64-2.7/src/protocol/fastbinary.o
src/protocol/fastbinary.c:20:20: 致命错误: Python.h:没有那个文件或目录
编译中断。

3,安装boost

$ sudo apt-get install libboost-test-dev

注意,这里是libboost-test-dev不是libboost-dev,否者会提示找不到libboost_unit_test_framework.a。

4,生成Makefile

$ ./configure --without-ruby

其中,我为了参考Accumulo官方说法,加入--without-ruby选项。

5,编译

$ make

期间会卡在某一行很长时间,等待就是。

注意,Thrift官方安装文档里面有“make check”命令,这里跳过。

因为如果运行check命令,有一个已知的bug,见Apache官方JIRA:

https://issues.apache.org/jira/browse/THRIFT-1753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504946#comment-13504946

6,安装

$ sudo make install

注意,这一步一定要加上sudo,否者会出现下面错误:

/usr/bin/install: cannot create regular file `/usr/local/bin/thrift': Permission denied

由于环境变量配置在~目录下的.profile,sudo命令会找不到java命令,修改全局环境变量:

$ vim /etc/environment

加入JAVA_HOME、CLASS_PATH和ANT_HOME三个变量。

让这次修改立即生效:

$ source /etc/environment

再次执行

$ sudo make install

7 OK

测试,OK

Ubuntu 12.04下安装thrift 0.9的更多相关文章

  1. Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

    1.下载angularjs 进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...

  2. Ubuntu 12.04 下安装 Eclipse

    方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...

  3. ubuntu 12.04下安装Qt出现cannot execute binary file的解决方案

    最近在ubuntu 12.04下安装QT的过程中,遇到一个问题. ./qt-opensource-linux-x64-5.7.0.run出现了bash: ./qt-opensource-linux-x ...

  4. Ubuntu 12.04下安装QQ 2012 Beta3(转)

    Ubuntu 12.04下安装QQ 2012 Beta3   由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...

  5. [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法

    如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...

  6. Ubuntu 12.04下安装QQ 2012 Beta3

    Ubuntu 12.04下安装QQ 2012 Beta3   由于wine的发展非常迅速.现在网上的利用老版本的wine来安装QQ2012的教程已经有些过时了.实际上操作起来非常简单: 第一步:Ctr ...

  7. Ubuntu 12.04下安装OpenCV 2.4.2

    http://sourceforge.net/projects/opencvlibrary/files/ Ubuntu 12.04下安装OpenCV 2.4.2 http://blog.csdn.ne ...

  8. Ubuntu 12.04 下安装 VirtualBox 及虚拟机winxp的安装

    参考文档: http://wenku.baidu.com/view/a51ac26c9b6648d7c1c746d7.html 1.首先,先去官网(http://www.virtualbox.org) ...

  9. 在 Ubuntu 12.04 上安装 GitLab6.0

    安装环境: 操作系统:    Ubuntu 12.4 LTS 英文 数据库:        mysql5.5.32 web服务器: nginx1.4.1 首先, 添加git和nginx的ppa,并升级 ...

随机推荐

  1. Underscore.js 的模板功能介绍与应用

    Underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScript的原生对象的情况下提供很多实用的功能,需要了解的朋友可以详细参考下   U ...

  2. MySQL外键的作用和创建

    MySQL外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据.使两张表形成关联,外键只能引用外表中列的值! 我们来建两个表 CREATE TABLE `example1` ( ` ...

  3. shell 中的特殊符号的含义

    来源:http://blog.sina.com.cn/s/blog_62a151be0100x9rn.html 第四章 基本功 - 特殊符号 学习撰写 script 最迅速的捷径是观摩别人的 scri ...

  4. IOS抓包工具paros的使用

    一,环境安装,软件安装 1.下载安装java JDK for Mac,可以从Oracle官网下载(但是一般Oracle的都是最新的版本的),或者从苹果的开发者网站下载,我是从苹果官网下载的javafo ...

  5. POJ 3368/RMQ/线段数

    题目链接 /* 给出一段序列,询问[L,R]区间内最大相同数的个数. 用一个很巧妙地方法,转化成求区间内的最大值的问题. RMQ维护区间最大值. MAX处理: */ for(int i=1;i< ...

  6. Android中用友盟实现QQ的第三方登录

    //首先应该去友盟的官网注册你的账号,创建一个应用,获得它的APPkey,也可以用它的API上的appkey,下载SDK,下面根据API文档一步步实现就行了. //下面是友盟的APi文档 1.  产品 ...

  7. hdu 3345 War Chess

    War Chess Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  8. elasticsearch 性能调优

    所有的修改都可以在elasticsearch.yml里面修改,也可以通过api来修改.推荐用api比较灵活 1.不同分片之间的数据同步是一个很大的花费,默认是1s同步,如果我们不要求实时性,我们可以执 ...

  9. android 内存优化一

    常见内存泄露原因 Context对象泄漏 1.如果一个类持有Context对象的强引用,就需要检查其生存周期是否比Context对象更长.否则就可能发生Context泄漏. 2.View持有其创建所在 ...

  10. 笔记整理--Linux平台MYSQL的C语言

    Linux平台MYSQL的C语言API全列表 - 第三只眼的专栏 - 博客频道 - CSDN.NET - Google Chrome (2013/8/18 22:28:58)   Linux平台MYS ...