Thrift 설치 매 뉴 얼

9564 단어 Thrift 설치software
1.Thrift 의 환경 요구
1.Apache Thrift 의 컴 파일 러 는 C++로 작 성 된 것 으로 이식 이 가능 하도록 설계 되 었 으 나 사용 하기 전에 시스템 요구 사항 을 설치 해 야 합 니 다.아래 에서 운영 체 제 를 선택 하여 시스템 설정 에 대한 안내 서 를 가 져 오 십시오.
  • Centos 6.5 Install
  • Debian/Ubuntu install
  • OS X Install
  • Windows Install

  • 2.기본 요구
    POSIX 와 호 환 되 는*NIX 시스템
    Windows 에서 Cygwin 이나 MinGW 를 사용 할 수 있 습 니 다.
  • g++4.2(thrift 컴 파일 러 플러그 인 지원 은 4.8 또는 더 높 은 버 전이 필요 합 니 다)
  • boost 1.53.0
  • 컴 파일 러 는 lex 와 Ycc 의 런 타임 라 이브 러 리 가 필요 할 수 있 습 니 다

  • 3.소스 구축 에 대한 요구
    GNU 구축 도구:
  • autoconf 2.65
  • automake 1.13
  • libtool 1.5.24

  • pkg-config autoconf macros (pkg.m4)
  • lex 와 Ycc(주로 flex 와 bison 으로 개발)
  • libssl-dev

  • 4.윈도 우즈 에서 원본 에서 컴 파 일 러 를 구축 하 는 요구
  • Visual Studio C ++
  • Flex 와 Bison(예:WinFlexBison package)
  • 5.언어 요구 사항
    주어진 언어 로 라 이브 러 리 를 구축 할 때 만 필요 합 니 다.
  • C++
  • Boost 1.53.0
  • libevent (optional, to build the nonblocking server)
  • zlib (optional)

  • Java
  • Java 1.7
  • Apache Ant

  • C#: Mono 1.2.4 (and pkg-config to detect it) or Visual Studio 2005+
  • Python 2.6 (including header files for extension modules)
  • PHP 5.0 (optionally including header files for extension modules)
  • Ruby 1.8
  • bundler gem

  • Erlang R12 (R11 works but not recommended)
  • Perl 5
  • Bit::Vector
  • Class::Accessor

  • Haxe 3.1.3
  • Go 1.4
  • Delphi 2010

  • 2.자바 구축 라 이브 러 리
    JDK 와 Apache antApache Ant 버 전 설치:1.9.x 버 전 은 실행 할 때 자바 1.5 에서 자바 1.7 이 필요 하고 1.10.x 는 실행 할 때 자바 1.8 이 필요 합 니 다.http://mirrors.shu.edu.cn/apache//ant/binaries/apache-ant-1.9.12-bin.tar.gzhttp://mirrors.shu.edu.cn/apache//ant/binaries/apache-ant-1.10.4-bin.tar.xz 는 jdk 1.7 과 ant 1.9 를 예 로 들 면
    1.스트레스 해소
    [root@node1 ~]# tar -xf jdk-7u80-linux-x64.tar.gz
    [root@node1 ~]# tar xf apache-ant-1.9.12-bin.tar.gz

    2.환경 변수 설정
    [root@node1 ~]# vim /etc/profile.d/java_version.sh 
    # java
    export JAVA_HOME=/opt/jdk1.7.0_80
    export PATH=${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
    export CLESSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
    
    [root@node1 ~]# vim /etc/profile.d/ant_version.sh 
    # ant
    export ANT_HOME=/opt/apache-ant-1.9.12
    export PATH=${PATH}:${ANT_HOME}/bin
    [root@node1 ~]# source /etc/profile                     #         

    3.검증
    [root@node1 ~]# java -version
    java version "1.7.0_80"
    Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
    [root@node1 ~]# 
    
    [root@node1 ~]# ant
    Buildfile: build.xml does not exist!
    Build failed
    [root@node1 ~]# ant -version
    Apache Ant(TM) version 1.9.12 compiled on June 19 2018

    3.CentOS 6.5 에 Apache Thrift 구축
    CentOS 7.*일반 yum 에 설치 하면 됩 니 다.최소 설치 부터 Centos 6.5 에 Apache Thrift 를 구축 하려 면 다음 과 같은 절차 가 필요 하 다.이 예제 에 서 는 현재 개발 의 주요 지점 을 원본 에서 구축 합 니 다.이 설명 들 은 0.9.2 부터 시 작 된 아파 치 Thrift 버 전에 도 적용 된다.
    1.시스템 업데이트(작 동 하지 않 음)
    sudo yum -y update

    2.플랫폼 개발 도구 설치
    sudo yum -y groupinstall "Development Tools"

    3、autoconf 업그레이드
    sudo yum install -y wget
    wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
    tar xvf autoconf-2.69.tar.gz
    cd autoconf-2.69
    ./configure --prefix=/usr
    make
    sudo make install
    cd ..

    4.업 그 레이 드 된 automake
    wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz
    tar xvf automake-1.14.tar.gz
    cd automake-1.14
    ./configure --prefix=/usr
    make
    sudo make install
    cd ..

    5、bison 승급
    wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
    tar xvf bison-2.5.1.tar.gz
    cd bison-2.5.1
    ./configure --prefix=/usr
    make
    sudo make install
    cd ..

    6.선택 가능 한 C+언어 라 이브 러 리 의존 항목 추가
    모든 언어 는 Apache Thrift IDL 컴 파 일 러 가 필요 합 니 다.이 때 IDL 컴 파 일 러 에 필요 한 모든 것 이 설치 되 어 있 습 니 다.(컴 파 일 러 만 필요 하 다 면 Build 단계 로 넘 어 갈 수 있 습 니 다.)
    C++를 사용 하여 Apache Thrift 클 라 이언 트/서버 를 개발 하려 면 C++공유 라 이브 러 리 구축 을 지원 하 는 다른 패키지 가 필요 합 니 다.C++Lib 의존 항목 설치
    sudo yum -y install libevent-devel zlib-devel openssl-devel

    7、Boost 승급>=1.53
    yum install  bzip2  bzip2-devel python python-devel -y      #   
    #apt-get install libbz2-dev                     # Ubuntu  
    wget http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz
    tar xvf boost_1_53_0.tar.gz
    cd boost_1_53_0
    ./bootstrap.sh
    sudo ./b2 install

    8.Apache Thrift IDL 컴 파 일 러 구축 및 설치
    Centos 6 의존
    # centos6  libevent-devel   2.0.21   (  )
    # http://libevent.org/
    wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
    tar xf libevent-2.0.22-stable.tar.gz  
    cd libevent-2.0.22-stable
    ./configure --prefix=/usr
    make
    make install

    Centos 7 의존
    yum install libevent libevent-devel -y

    소스 코드 설치 Thrift
    [root@node1 thrift-0.11.0]# yum install libtool pkgconfig -y
    #http://archive.apache.org/dist/thrift/              #     
    [root@node1 thrift-0.11.0]# wget http://archive.apache.org/dist/thrift/0.11.0/thrift-0.11.0.tar.gz
    [root@node1 thrift-0.11.0]# tar xf thrift-0.11.0.tar.gz
    [root@node1 thrift-0.11.0]# cd thrift-0.11.0
    [root@node1 thrift-0.11.0]# ./bootstrap.sh

    configure 이 단 계 는 terminal 에서 서로 다른 언어 에 대한 지원 정 보 를 출력 합 니 다.자신의 요 구 를 만족 시 키 는 지,만족 하지 않 으 면 해당 언어 를 설치 하 십시오.
    [root@node1 thrift-0.11.0]# ./configure --with-lua=no          #   lua  ,      :./configure --help,
    
    thrift 0.11.0
    
    Building C (GLib) Library .... : no
    Building C# (Mono) Library ... : no
    Building C++ Library ......... : yes
    Building D Library ........... : no
    Building Dart Library ........ : no
    Building dotnetcore Library .. : no
    Building Erlang Library ...... : no
    Building Go Library .......... : no
    Building Haskell Library ..... : no
    Building Haxe Library ........ : no
    Building Java Library ........ : yes
    Building Lua Library ......... : no
    Building NodeJS Library ...... : no
    Building Perl Library ........ : no
    Building PHP Library ......... : no
    Building Plugin Support ...... : no
    Building Python Library ...... : yes
    Building Py3 Library ......... : no
    Building Ruby Library ........ : no
    Building Rust Library ........ : no
    
    C++ Library:
       C++ compiler .............. : g++
       Build TZlibTransport ...... : yes
       Build TNonblockingServer .. : yes
       Build TQTcpServer (Qt4) ... : no
       Build TQTcpServer (Qt5) ... : no
       C++ compiler version ...... : g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
    
    Java Library:
       Using ant ................. : /root/apache-ant-1.9.12/bin/ant
       Using java ................ : java
       Using javac ............... : javac
       Using ant version ......... : Apache Ant(TM) version 1.9.12 compiled on June 19 2018
       Using java version ........ : java version "1.7.0_80"
    
    Python Library:
       Using Python .............. : /usr/bin/python
       Using Python version ...... : Python 2.6.6
    
    If something is missing that you think should be present,
    please skim the output of configure to find the missing
    component.  Details are present in config.log.
    
    [root@node1 thrift-0.11.0]# make
        ./src/thrift/protocol/TProtocolTypes.h:30:   :        
    In file included from src/thrift/transport/THeaderTransport.cpp:20:
    ./src/thrift/transport/THeaderTransport.h:50:   :        
    ./src/thrift/transport/THeaderTransport.h:169:   :        
    ./src/thrift/transport/THeaderTransport.h: In constructor ‘apache::thrift::transport::THeaderTransport::THeaderTransport(const boost::shared_ptr<:thrift::transport::ttransport>&)’:
    ./src/thrift/transport/THeaderTransport.h:79:   : ‘apache::thrift::transport::THeaderTransport’    ‘TVirtualTransport’   
    ./src/thrift/transport/THeaderTransport.h: In constructor ‘apache::thrift::transport::THeaderTransport::THeaderTransport(boost::shared_ptr<:thrift::transport::ttransport>, boost::shared_ptr<:thrift::transport::ttransport>)’:
    ./src/thrift/transport/THeaderTransport.h:93:   : ‘apache::thrift::transport::THeaderTransport’    ‘TVirtualTransport’   
    At global scope:
    cc1plus:   :          “-Wno-c++11-long-long”
    make[4]: *** [src/thrift/transport/libthriftz_la-THeaderTransport.lo]    1
    make[4]: Leaving directory `/root/thrift-0.11.0/lib/cpp'
    make[3]: *** [all-recursive]    1
    make[3]: Leaving directory `/root/thrift-0.11.0/lib/cpp'
    make[2]: *** [all-recursive]    1
    make[2]: Leaving directory `/root/thrift-0.11.0/lib'
    make[1]: *** [all-recursive]    1
    make[1]: Leaving directory `/root/thrift-0.11.0'
    make: *** [all]    2
    
    #  make   ,   C++  ,    C++,   C++  :
    [root@node1 thrift-0.11.0]# ./configure --with-lua=no --with-cpp=no
    [root@node1 thrift-0.11.0]# make
    [root@node1 thrift-0.11.0]# sudo make install

    검증 하 다.
    [root@node1 thrift-0.11.0]#  thrift -version
    Thrift version 0.11.0

    컴 파일 러(thrift/copiler/cpp/thrift-version)와 지원 하 는 언어 라 이브 러 리 를 구축 합 니 다.make install 절 차 는 경로 에 컴 파 일 러 를 설치 합 니 다./usr/local/bin/thrift 를 사용 할 수 있 습 니 다./configure--enable-libs=no 스위치 는 lib 가 구축 되 지 않 은 상태 에서 만 아파 치 Thrift IDL 컴 파 일 러 를 구축 할 수 있 습 니 다.테스트 를 실행 하려 면"make check"을 사용 하 십시오.
    이 세 션 은 Apache Thrift 의 소스 트 리 문서 로 생 성 됩 니 다:doc/install/centos.md

    좋은 웹페이지 즐겨찾기