您的位置:首页 > 运维架构 > Apache

Apache Thrift 配置环境

2015-09-19 14:28 666 查看

Apache Thrift 配置环境

安装Thrift的官方文档地址:

http://thrift.apache.org/docs/install/

当我看到windows安装需要Cygwin或MinGW时,我就直接放弃在windows中配置的想法了,直接打开虚拟机用CentOS进行安装,使用一堆命令安装毕竟比windows方便。

CentOS安装Thrift

官方文档地址:

http://thrift.apache.org/docs/install/centos

基本上按照官方的操作,可以一直进行到最后一组命令,就是下面这个地方:

Build and Install the Apache Thrift IDL Compiler

git clone https://git-wip-us.apache.org/repos/asf/thrift.git

cd thrift

./bootstrap.sh

./configure –with-lua=no

make

sudo make install

这一步需要特别注意,有两种途径可以选择。

由于这里使用git下载了源码,因此你当前目录使用的最新版本,在2015-9-19号写这篇文档的时候,master下面是最新的1.0.0版本,这个版本还没有发布,因此我说提供两种途径:

使用
git checkout 0.9.2
切换到当前已经发布的0.9.2版本再继续

在当前master(未发布的1.0.0版本)上继续

注:用git下载源码比较费时间,最快的方式就是直接从官方下载指定版本的压缩包。

我个人由于是事后才发现的这个问题,因此我是在第二种情况下操作的。

我个人建议选择已经发布的稳定的版本进行操作。如果操作过程中出现错误,也许下面针对第二种情况的解决办法同样适用于第一种情况。

在当前master(未发布的1.0.0版本)上继续

由于我是直接按照官方文档的操作,在master的情况下执行了上面的命令,因此出现了一些错误。

在继续上面最后的这一部分操作前,你需要先安装一些必备的依赖。如果没有事先安装这些依赖,可能会出现下面这个错误:

make
出现Error:
TNonblockingServer.h:41:33: error: event2/event_compat.h ...


类似上面这样的错误,解决方法是从下面的地址:

http://libevent.org/

下载libevent,我直接下载的最新版本libevent-2.0.22-stable.tar.gz,这个版本可以解决上面的问题,其他版本没有尝试。

安装完成后,如果你之前已经执行了
make
,那么建议你
git gc
清理目录。

然后再继续下面的操作:

./bootstrap.sh

./configure –with-lua=no

make

sudo make install

正常情况下应该就能顺利安装完成了(如果出错,你是否没有执行
git gc
?)。

打包1.0.0版本jar包

由于当前还没发布1.0.0版本,因此如果你使用0.9.2版本会有一些错误,所以还要自己手动打包。

进入
thrift/lib/java
目录,你需要先配置好jdk和ant。然后在这个目录打开终端,执行
ant
命令。

执行成功后,在
build
目录下就能看到
libthrift-1.0.0.jar
libthrift-1.0.0.pom
文件。

这里需要手动修改
libthrift-1.0.0.pom
文件,将
<packaging>pom</packaging>
改为
<packaging>jar</packaging>
,这里如果不修改为
jar
,就没法通过下面的命令用最简单的方式导入本地仓库(安装打包类型为
pom
的时候不会上传jar包,所以要改成
jar
,但是官方的打包类型确实就是奇葩的
pom
,谁能解释为什么?)。

将这两个文件复制到你要使用的电脑上,然后使用如下命令安装到本地仓库:

mvn install:install-file -Dfile=libthrift-1.0.0.jar -DpomFile=libthrift-1.0.0.pom

安装到本地后,在maven中就可以使用:

<dependency>
    <groupId>org.apache.thrift</groupId>
    <artifactId>libthrift</artifactId>
    <version>1.0.0</version>
</dependency>


到这里就可以开始使用thrift了。

我个人是在虚拟机中生成java代码,然后再拷贝代码到我开发电脑上使用。

下一篇文章会讲如何按照官方J***A教程,将Java的例子跑起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: