1. 程式人生 > >ubuntu thrift 編譯安裝

ubuntu thrift 編譯安裝

1、thrift 的作用:

在ubuntu下安裝了hbase後,如果想用其他語言連線呼叫hbase,需要用到Thrift這一中介軟體。

2、thrift的安裝:

2.1、獲取thrift的方式有兩種:

第一種下載原始碼發行包:thrift.apache.org/download

筆者使用的是thrift-0.8.0.tar.gz

將壓縮包解壓後放到/home/hadoop/目錄下:

tar xvf thrift-0.8.0.tar.gz
mv thrift-0.8.0/ /home/hadoop/
cd /home/hadoop/

第二種是下載git上原始碼

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

2.2、通過thrift-0.8.0.tar.gz發行包安裝thrift

安裝前需要安裝依賴包:

進入terminal:輸入

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

根據想要使用的語言,安裝對應的軟體包:
    Ruby
        ruby-full ruby-dev ruby-rspec rake rubygems libdaemons-ruby libgemplugin-ruby mongrel
    Python
        python-all python-all-dev python-all-dbg
    Perl
        libbit-vector-perl libclass-accessor-class-perl
    Php, install
        php5-dev php5-cli phpunit
    C_glib
        libglib2.0-dev
    Erlang
        erlang-base erlang-eunit erlang-dev
    Csharp
        mono-gmcs mono-devel libmono-system-web2.0-cil nunit nunit-console
    Haskell
        ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev
    Thrift Compiler for Windows
        mingw32 mingw32-binutils mingw32-runtime nsis

譬如筆者就使用PHP與hbase進行通訊,所以

再terminal輸入:

sudo apt-get install php5-dev php5-cli phpunit

安裝後生成配置指令碼:

進入thrift目錄:

cd /home/hadoop/thrift-0.8.0

./configure

部分日誌輸出:
thrift 0.8.0

Building code generators ..... :

Building C++ Library ......... : yes
Building C (GLib) Library .... : no
Building Java Library ........ : yes
Building C# Library .......... : no
Building Python Library ...... : yes
Building Ruby Library ........ : no
Building Haskell Library ..... : no
Building Perl Library ........ : no
Building PHP Library ......... : yes
Building Erlang Library ...... : no
Building Go Library .......... : no

Building TZlibTransport ...... : yes
Building TNonblockingServer .. : yes

Using javac .................. : javac
Using java ................... : java
Using ant .................... : /usr/bin/ant

Using Python ................. : /usr/bin/python

Using php-config ............. : /usr/bin/php-config

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.



thrift需要本地編譯與安裝

#編譯thrift
make

sudo make install

(筆者在編譯和安裝thrift過程中,出現了php編譯安裝的錯誤和警告,但貌似不影響使用,所以筆者就沒有深究,知道原因的小夥伴可以告知筆者。)


2.3、通過git原始碼安裝thrift

//進入thrift目錄
cd /home/hadoop/thrift

<pre><code>// 產生配置指令碼
./bootstrap.sh

// 生成配置資訊
./configure

// 編譯Thrift
make

// 安裝Thrift
sudo make install</code>

2.4、檢視thrift版本

thrift -version

//輸出
//Thrift version 0.8.0



安裝成功

2.5、啟動thrift
//進入hbase目錄
cd /home/hadoop/hbase-0.98

//啟動thrift
bin/hbase-daemon.sh start thrift

8907 SecondaryNameNode
9519 HRegionServer
9288 HQuorumPeer
30061 Jps
9355 HMaster
8716 DataNode
8554 NameNode
29985 ThriftServer

//關閉thrift
<pre name="code" class="plain">bin/hbase-daemon.sh stop thrift




ThriftServer 成功啟動~~