美文网首页
学习Apache Thrift 【DAY 2】

学习Apache Thrift 【DAY 2】

作者: zooeymoon | 来源:发表于2018-04-26 17:56 被阅读0次

    安装运行Apache Thrift

    在linux中安装Thrift

    安装需求

    以下列举了以下依赖工具(这里是用于安装版本0.9.2)

    • g++ 4.2
    • boost 1.53.0
    • autoconf 2.65
    • automake 1.13
    • libtool 1.5.24
    • pkg-configautoconf macros (pkg.4)
    • lex and yacc runtime libraries
    • libssl-dev

    在centos 中安装

    1.更新软件版本

     $ sudo yum -y update
    
    1. 安装开发工具
    $ sudo yum -y groupinstall "Development Tools"
    
    1. 如果你没有安装过wget,则安装wget
    $ sudo yum -y install wget
    
    1. 安装C++依赖包:
    $ sudo yum -y install libevent-devel zlib-devel openssl-devel boost-devel bzip2-devel
    
    1. 升级boost版本,这个boost版本需要比yum源安装的版本高:
    $ wget http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz
    $ tar -xvzf boost_1_58_0.tar.gz
    $ cd boost_1_58_0
    $ sudo ./bootstrap.sh
    $ sudo ./b2 install
    
    1. 根据需要安装对应的开发语言

    在ubuntu中安装

    1. 更新软件包
    $ sudo apt-get update
    $ sudo apt-get upgrade
    
    1. 安装和升级必要的依赖包
    $ sudo apt-get install libboost1.54-all-dev libevent-dev g++ bison libssl-dev 
    
    1. 如果没有wget,则安装wget
    $ sudo apt-get install wget 
    
    1. 根据需要安装对应的开发语言

    安装Apache Thrift

    安装流程:

    $ wget http://www.eu.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz
    $ tar -xvzf thrift-0.9.2.tar.gz
    $ cd thrift-0.9.2
    $ ./configure
    
    • 如果你不想编译某些语言。可以采用以下方式:

      $ ./configure --without-php
      
    • 如果出现lua版本错误的话,可以采用解决问题:

      $ ./configure --without-lua
      
    • 需要需要编译lua的话,需要升级lua语言到5.2版本,同时使用以下命令:

      $ whereis boost 
      boost: /usr/include/boost
      

    之后在配置中指定boost地址:

      $ ./configure -with-boost=/usr/include/boost
    

    之后执行:

    make
    

    最后执行:

    sudo make install 
    

    验证Thrift是否安装成功:

    [root@Lserv-114 ~]# thrift
    Usage: thrift [options] file
    
    Use thrift -help for a list of options
    

    则说明成功。

    测试Thrift

    创建一个文件test.thrift:

    1   namespace php mytest
    2 # this is just a Test service, which contains two methods
    3 service Test {
    4 # this method probably does nothing
    5     void donothing(),
    6 # this method probably multiplies two numbers
    7     i32 multiply(1:i32 number1, 2:i32 number2),
    8 }
    

    运行指令:

    thrift -r --gen php test.thrift
    

    如果在当前文件夹下存在gen-php文件夹,则说明成功。

    相关文章

      网友评论

          本文标题:学习Apache Thrift 【DAY 2】

          本文链接:https://www.haomeiwen.com/subject/rudmlftx.html