本文所有用到的软件都在此可以下载 分别在gcc 和 protobuf文件夹下。
安装 protobuf主要是用于 hbase 的 coprocessor
其中 gcc 的安装部分是 按照 http://www.cnblogs.com/skey_chen/p/5749094.html 来做的,很详细。感谢这位skey 朋友。
下面的命令可以全部复制,直接安装,笔者已尝试过,可行。
rpm -ivh /home/setups/gcc/ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/cpp-4.4.7-17.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/kernel-headers-2.6.32-642.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/glibc-headers-2.12-1.192.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/glibc-devel-2.12-1.192.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/libgomp-4.4.7-17.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/gcc-4.4.7-17.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/libstdc++-devel-4.4.7-17.el6.x86_64.rpm
rpm -ivh /home/setups/gcc/gcc-c++-4.4.7-17.el6.x86_64.rpm
tar zxvf /home/setups/protobuf/autoconf-2.69.tar.gz -C /usr/local/ && cd /usr/local/autoconf-2.69 && ./configure && make && make install
tar zxvf /home/setups/protobuf/automake-1.15.tar.gz -C /usr/local/ && cd /usr/local/automake-1.15 && ./bootstrap.sh && ./configure && make && make install
tar Jxvf /home/setups/protobuf/texinfo-6.3.tar.xz -C /usr/local/ && cd /usr/local/texinfo-6.3 && ./configure && make && make install
tar Jxvf /home/setups/protobuf/help2man-1.47.4.tar.xz -C /usr/local/ && cd /usr/local/help2man-1.47.4 && ./configure && make && make install
tar zxvf /home/setups/protobuf/libtool-2.4.6.tar.gz -C /usr/local/ && cd /usr/local/libtool-2.4.6 && ./bootstrap --force && ./configure && make && make install
# 安装3.2版本的proto
unzip /home/setups/protobuf/protobuf-3.2.0.zip -d /usr/local/ && cd /usr/local/ && ln -s protobuf-3.2.0 protobuf
# 安装2.5版本的proto,和 hadoop 2.7.3和hbase1.2.4 匹配
tar zxvf /home/setups/protobuf/protobuf-2.5.0.tar.gz -C /usr/local/ && cd /usr/local/ && ln -s protobuf-2.5.0 protobuf
# 下面步骤一样
unzip /home/setups/protobuf/gmock-1.7.0-master.zip -d /usr/local/protobuf/ && cd /usr/local/protobuf/ && ln -s gmock-1.7.0-master gmock
# 安装3.2版本的proto需要做下修改,安装2.5版本的proto跳过
# 这里的metadata.h 通过编译不成功,略微修改了下源码。
# 改动点为line 175 和 204 行,因为是显式的,因此类的构造函数也追加了类的泛型。
# 有兴趣的读者可以先别删除这个文件,对照下。
rm -f /usr/local/protobuf-3.2.0/src/google/protobuf/metadata.h && cp /home/setups/protobuf/metadata.h /usr/local/protobuf-3.2.0/src/google/protobuf/
./autogen.sh && ./configure && make && make install
# 下面代码出现对应的版本号说明安装成功。
protoc --version
cd /home/setups/protobuf && protoc --java_out=. sum.proto
ll
# 若能看到有src目录新建出来即可。新建出的src目录是用官网的coprocessor的例子生成的。其中sum.proto是官网的proto文件,详见http://hbase.apache.org/book.html#_endpoint_example