Thrift

Slack Docker Pulls GitHub edit source

Mac OS X

Antes que você instale o Apache Thift, primeiro, você precisará
configurar o suporte a linha de comando. Para fazer isso, você irá:

Instalar o Xcode a partir do Mac App Store

Inicie o Xcode, abra a janela Preferences, selecione Downloads e instale o componente “Command Line Tools for Xcode”.

Homebrew

Esta seção explica como instalar o Apache Thrift através do Homebrew.

Primeiro, instale o Homebrew.

Aqui estão os comandos para a instalação do Homebrew:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew doctor

Utilize o Homebrew para instalar o autoconf, automake, libtoole pkg-config:

brew install autoconf automake libtool pkg-config libevent

Utilize o Homebrew para instalar o Boost

brew install boost

Instale o Thrift

brew install thrift

MacPorts

Esta seção explica como instalar o Apache Thrift através do MacPorts.

Se você utiliza o MacPorts, as instruções a seguir irão te ajudar.

Instale o MacPorts a partir do site sourceforge.

Atualize o Port:

sudo port selfupdate

Utilize o Port para instalar o flex, bison, autoconf, automake, libtool e pkgconfig:

sudo port install flex, bison, autoconf automake libtool pkgconfig libevent

Utilize o Port para instalar o Boost

sudo port install boost

Tente utilizar o Port para instalar o Thrift:

sudo port install boost

O último comando PODE falhar, de acordo com o problema. Neste caso, nós recomendamos construir o Thrift 0.9.2 a partir do código fonte (Levando em consideração que você usa o diretório padrão do MacPort em /opt/local):

./configure --prefix=/opt/local/ --with-boost=/opt/local/lib --with-libevent=/opt/local/lib CXXFLAGS="-I/usr/include/4.2.1 -L/opt/local/lib"
make
make install

Você pode modificar o CXXFLAGS. Aqui nós incluímos /usr/include/4.2.1 para std::tr1 no Mavericks e /opt/local/lib para bibliotecas instaladas pelo Port. Sem o -I, a instalação pode falhar com tr1/functional not found. Sem o -L, a instalação pode falhar durante o linking.

Linux

Referência

Debian/Ubuntu

O comando a seguir instala todas as ferramentas e bibliotecas necessárias para instalar o
compilador Apache Thrift em um sistema Debian/Ubuntu Linux

sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev ant python-dev

ou

sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel ant python-dev

Depois, instale o Java JDK de sua escolha. Digite javac para ver a lista de pacotes disponíveis, escolha o de sua preferência e utilize o gerenciador de pacotes para o instalar.

Os usuários Debian Lenny Users podem precisar de alguns pacotes do backports:

sudo apt-get -t lenny-backports install automake libboost-test-dev

Construir o Thrift:

./configure --with-boost=/usr/local
make
make install

CentOS

Os passos a seguir podem ser utilizados para configurar um sistema CentOS 6.4.

Instale as dependências:

sudo yum install automake libtool flex bison pkgconfig gcc-c++ make

Atualize o autoconf para a versão 2.69 (yum provavelmente irá baixar a versão 2.63 que não funciona com o Apache Thrift):

sudo yum install 'ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/monkeyiq:/centos6updates/CentOS_CentOS-6/noarch/autoconf-2.69-12.2.noarch.rpm'

Baixe e instale o código fonte do Apache Thrift:

wget 'https://github.com/apache/thrift/archive/0.9.2.tar.gz'
tar zxvf 0.9.2
cd thrift-0.9.2/
./bootstrap.sh
./configure --enable-libs=no
make
sudo make install

Gerando os arquivos Java files do Thrift

Alluxio define um serviço RPC utilizando o arquivo thrift localizado em:

./common/src/thrift/alluxio.thrift

e gera os arquivos Java deste dentro de:

./common/src/main/java/alluxio/thrift/

Para gerar novamente os arquivos java se o arquivo thrift foi modificado, você pode executar:

./bin/alluxio thriftGen