首先,hadoop使用protocol buffer进行通信,需要下载和安装protobuf-2.5.0.tar.gz。由于现在protobuf-2.5.0.tar.gz已经无法在官网https://code.google.com/p/protobuf/downloads/list中下载了,本人将protobuf-2.5.0.tar.gz上传到百度云盘供大家下载,地址: http://pan.baidu.com/s/1pJlZubT
安装步骤如下所示:
1>tar -xzf protobuf-2.5.0.tar.gz
//进入目录
cd protobuf-2.5.0
//将protobuf的函数库放在此目录文件下
./configure--prefix=/usr/local/protobuf
ps:注意这一步,如果出现下面一行:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
说明系统缺少相应的库,C++编译器的相关package没有安装。
解决的办法是:
redhat:root登录,终端下执行
#yum install glibc-headers
#yum install gcc-c++
ubuntu:终端下执行 sudo apt-get install build-essential
也可以将redhat方法中的yum改成apt-get,再执行那两句。
//下面的make是操作目录下的一个Makefile文件,如果之前用过此命令,又先重新编译过,可在此之前输 make clean
make
make check
make install //安装protobuf
su ldconfig //root权限,让动态链接生效。
最后输入 protoc --version命令,如显示libprotoc 2.5.0则安装成功
2> sudo vim /etc/profile
添加路径
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
保存并执行下面语句,让添加的路径生效
source /etc/profile
同时在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令