Hadoop 溝通橋梁之 Thrift 0.7
會建置Thrift是因為我希望用PHP向Hadoop + Hbase 叢集環境溝通。Thrift是全世界第一大國Facebook釋出的開源項目之一,主要用來串接不同語言,讓他們之間能互相溝通。
這裡我就是用來讓PHP也能使用MapReduce和Hbase溝通的。在安裝的時候吃了不少苦頭阿...腦細胞死了不少。就算現在再架設一遍,我相信會再痛苦一次的。
檢查並安裝依賴的函式庫
$ yum search libboostlibboost c++的函式庫
$ yum search yacc
$ yum search flexmake時會用到
$ yum search autoconf
$ yum search automake automake 1.9以上actomake必須安裝2.6以上版本否則Compiler出錯。如果没有可自行編譯安装
$ yum search libtool
$ yum search flex
$ yum search bison
$ yum search g++
$ yum search gcc-c++
$ yum search python-devel
$ yum search libevent-devel
$ yum search zlib-devel
$ yum search ruby-devel
$ yum install automake libtool flex bison pkgconfig g++ gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel安裝全部套件後還是不能用再試試看,這個Compiler會超久
建立Thrift
官網下載或是
沒錯,我通通都放到opt底下囉。
5.0以後的版本應該不用底下的檢查了(可見得我已經記錄多久了) 檢查/opt/thrift/底下有沒有bootstrap.sh,沒有再複製
執行bootstrap.sh
Generate code
檢查環境
檢查hbase-env.sh
檢查.bashrc
忘了的同學請回顧CentOS 5.5 + Hadoop
複製產生的PHP程式碼到專案
複製到/var/www/hbase內
啟動Thrift
要在背景執行請在start加上&
測試
複製DemoClient.php 到測試目錄/var/www/hbase/
發生錯誤
發生過無法啟動的時候,我是重新複製lib
參考教學:
http://blog.sina.com.cn/s/blog_5dce657a0100f0ou.html
Jun 18th, 2013 11:57:00am
Last updated
Was this helpful?