Hadoop從2.x版本開始,底層的RPC遠程調用使用ProtocolBuffer格式來傳遞數據,所以在編譯Hadoop的過程中有可能出現提示缺少Protocol服務的異常信息,類似:'protoc --version' did not return a version,具體異常如下:
解決方案即安裝對應版本的Protocol Buffer服務
安裝步驟如下:
============================================================
一、選擇對應版本
ProtocolBuffer官方地址為:https://developers.google.com/protocol-buffers/
Google的所有插件/軟件的代碼管理全部放到了GitHub上,所以源碼相關的下載路徑為:https://github.com/google/protobuf
其中Hadoop對ProtoBuf的版本要求一般為[2.5,+), 也就是最少是2.5的版本(hadoop內部使用的是2.5的版本),故這里介紹2.5版本的安裝
二、軟件下載
方式一:進行源碼編譯
下載對應版本的源碼,可以通過git進行源碼的下載,然后進行tag的切換,再進行源碼編譯,最后進行編譯好的文件安裝操作;但是這個步驟中在進行源碼編譯的時候,由於需要從Google的服務器下載一些服務,國內的網絡基本上沒法下載成功,故該方式建議大家不要使用
方式二:直接下載編譯的壓縮包進行安裝(半編譯)
對應版本的介紹地址:https://github.com/google/protobuf/releases/tag/v2.5.0
下載地址:https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
下載命令:wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
三、軟件安裝(安裝用戶root)
1. cd /opt/softwares
2. wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
3. tar -zxvf ./protobuf-2.5.0.tar.gz -C /opt/modules
4. cd /opt/modules/protobuf-2.5.0
5. ./configure
6. make
7. make install
8. protoc --version
四、其他
在安裝過程中需要依賴gcc編譯環境,所以如果您的環境沒有安裝過gcc,建議在安裝前先安裝gcc編譯環境
yum install -y autoconf automake libtool curl make g++ unzip
==========================================
備注:
安裝環境:
centos 6.5 64位 1核2G