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. TSP问题[动态规划]

    分析: 有用的量:城市集合V={a,b,c,d,--} 所以我们用 T(i,V) 表示从 城市 i 出发遍历集合 V 中的城市一遍且仅一遍后回到 i 所用的最少费用(这里可能表达不好,底下会看到,但是 ...

  2. PHP批量上传一次点击选中多个

    首先前端部分需要设置好控件,这里使用HTML5 中 input 的新增属性 multiple 可以很好的解决了以往上传多个需要点击多次"上传按钮"的麻烦: <form act ...

  3. JAVA语言中冒号的用法

    近来由于本人要介入android平台的开发,所以就买了本JAVA语言的书学习.学习一段时间来,我的感觉是谭浩强就是厉害,编写的<C编程语言>系列丛书不愧是经典.书中对C语言的介绍既系统又全 ...

  4. Delphi中ShellExecute的妙用

    ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件.打开一个目录.打印一个文件等等),并对外部程序有一定的控制.有几个API函数都可以实现这些功能,但是在大多数情况下Shel ...

  5. JavaScript 扯几句单线程相关

    JavaScript 扯几句单线程相关 众所周知,Javascript是单线程执行的,这也就是说:JavaScript在同一个时间上只能处理一件事.他不像C,Java等这些多 线程的,可以开不同的线程 ...

  6. js如何准确获取当前页面url网址信息

    1.window.location.href(设置或获取整个 URL 为字符串) var test = window.location.href;alert(test);返回:http://i.cnb ...

  7. 添加Action View

    ActionBar上除了可以显示普通的Action Item之外,还可以显示普通的UI组件.为了在ActionBar上添加ActionView,可以使用如下两种方式. 定义ActionItem时使用a ...

  8. 递归求和1到n

    一般的方法 #include<stdio.h> int sum(int n){ if(n==1) return 1; else return n+sum(n-1);} int main(v ...

  9. 记一次DG搭建过程中备库ORA-00210,ORA-00202,ORA-27086错误

    ORA-00210: cannot open the specified control file ORA-00202: control file: '/u01/app/oracle/oradata/ ...

  10. Android常用开发工具的用法

    1.在命令行创建.删除和浏览AVD 在命令行下管理AVD需要借助于android命令(位于Android SDK安装目录的tools子目录下),如果直接执行android子命令将会启动Android ...