Apache Thrift环境配置

 更新时间:2017年10月17日 09:53:17   作者:动力节点  
这篇文章主要介绍了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了。

总结

以上所述是小编给大家介绍的Apache Thrift环境配置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Linux目录切换实现代码案例

    Linux目录切换实现代码案例

    这篇文章主要介绍了Linux目录切换实现代码案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Linux实现免密登录的配置方法

    Linux实现免密登录的配置方法

    这篇文章主要介绍了Linux实现免密登录的配置方法,实现的效果是,当前服务器的test账号可以免密登陆15服务器的test账号,需要的朋友可以参考下
    2024-04-04
  • Linux 下安装pip包的方法

    Linux 下安装pip包的方法

    这篇文章主要介绍了Linux 下安装pip包的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Linux打包和压缩工具的使用详解

    Linux打包和压缩工具的使用详解

    对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名 给搞晕。别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar。可是Linux就不同 了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名
    2018-07-07
  • LNMP系列教程之 设置301重定向的方法

    LNMP系列教程之 设置301重定向的方法

    因为LNMP系统环境采用的是Nginx而不是Apache,所以在设置301重定向的时候,不是简单的在根目录.htaccess文件添加代码就可以实现,因为他需要对单独的网站conf文件进行修改配置
    2012-09-09
  • 覆盖原先的PATH导致命令失效提示command not found的解决方法

    覆盖原先的PATH导致命令失效提示command not found的解决方法

    今天小编就为大家分享一篇关于覆盖原先的PATH导致命令失效提示command not found的解决方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • linux对于UDP的学习

    linux对于UDP的学习

    本文将学习linux对于UDP的学习,UDP(用户数据报协议)没有连接的,是面向数据报的,是不可靠,点进来的小伙伴一起来学习吧
    2021-08-08
  • CentOS 设置默认JDK步骤详解及命令

    CentOS 设置默认JDK步骤详解及命令

    这篇文章主要介绍了 CentOS 设置默认JDK步骤详解及命令的相关资料,这里对配置Java的环境进行了详细的介绍,需要的朋友可以参考下
    2016-11-11
  • Linux shell利用sed如何批量更改文件名详解

    Linux shell利用sed如何批量更改文件名详解

    最近在学习shell,为了练习sed,写了个简单的批量修改文件名的脚本,所以下面这篇文章主要给大家介绍了关于Linux shell利用sed如何批量更改文件名的相关资料,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Linux中的进程守护supervisor安装配置及使用

    Linux中的进程守护supervisor安装配置及使用

    supervisor是一个很好的守护程序管理工具,配置方面自动启动,日志输出,自动切割日志等等一系列强大功能,下面是在CentOS下安装使用supervisor的记录,非常不错,感兴趣的朋友跟随小编一起看看吧
    2019-07-07

最新评论