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

[Hadoop] - Protocol Buffer安装的更多相关文章

  1. Google Protocol Buffer安装编译及使用

    近期玩了玩谷歌的Protocol Buffer.以下就简介下 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准.眼下已经正在使用的 ...

  2. Google Protocol Buffer的安装与.proto文件的定义

    什么是protocol Buffer呢? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准. 我理解的就是:它是一种轻便高效的结构 ...

  3. Hadoop基于Protocol Buffer的RPC实现代码分析-Server端

    http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.google.co ...

  4. Google Protocol Buffer的安装与.proto文件的定义(转)

    转自(https://www.cnblogs.com/yinheyi/p/6080244.html) 什么是protocol Buffer呢? Google Protocol Buffer( 简称 P ...

  5. Hadoop基于Protocol Buffer的RPC实现代码分析-Server端--转载

    原文地址:http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.goog ...

  6. ubnutu 安装protocol buffer

    工作中需要使用protocol buffer,需要编译出protocol buffer的动态链接库,然后在别的makefile中链接它, 我的环境是ubnutu16.04,64bit,使用的proto ...

  7. [原创翻译]Protocol Buffer Basics: C#

    Protocol Buffer 基础知识:c#    原文地址:https://developers.google.com/protocol-buffers/docs/csharptutorial   ...

  8. Google Protocol Buffer 的使用和原理[转]

    本文转自: http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/ Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构 ...

  9. protocol buffer

    下载与说明:https://github.com/google/protobuf Google Protocol Buffer 的使用和原理:http://www.ibm.com/developerw ...

随机推荐

  1. time.setToNow() 取当前时间,月份有误

      [java] view plaincopy Time time = new Time("GMT+8"); time.setToNow(); int year = time.ye ...

  2. java实现——004替换空格

    1.创建新的字符串 public class T004 { public static void main(String[] args){ System.out.println(replaceBlan ...

  3. magento中文语言包的使用

    magento中文语言包的使用,我们在百度上随便就能找到一大堆. 由于本人今天是第一次使用magento,找到目录magento/app/locale  并且用语言包中的locale文件夹替换掉mag ...

  4. Bash's Big Day

    Bash has set out on a journey to become the greatest Pokemon master. To get his first Pokemon, he we ...

  5. hdu 1005解题报告

    这道题目n的取值范围很大,1 <= n <= 100,000,000.因此肯定是需要优化才能AC. 首先我考虑到时是有没有通项公式,研究了一下,没发现什么东西,突然看到两个1时就想到会不会 ...

  6. pipe管道

    回顾: 进程间通信方式: 信号,管道 消息队列,共享内存,信号量 sokcet 信号: 本质就是软中断 signal(信号,函数指针); void func(int); kill(pid,signo) ...

  7. Eclipse tomcat插件

    1. 下载 http://www.eclipsetotale.com/tomcatPlugin.html 2. 解压 解压到Eclipse_Home/dropins 3. 重启Eclipse

  8. http的Max-Forwards头的作用(转)

    请求头的Max-Forwards用来请求特定代理.当代理收到一个允许URI转发的OPTIONS请求,则检查Max-Forwards.如果Max-Forwards值为0,则不能转发该消息:相反,代理会将 ...

  9. Tamper Data 安装与使用

    Tamper Data概览   注意:我将会讲述一些有关Tamper Data的基本常识,包括它的基本功能,如何安装等. Tamper Data是什么?   Tamper Data 的真实含义,即&q ...

  10. 解决xtrabackup command not found no mysqld group 问题

    现象:手动执行xtrabackup没问题,环境变量检查过也没问题.放到执行计划中 会报错: sh: xtrabackup_56: command not found innobackupex: Err ...