欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:977
  2. 浏览总数:11,944,989
  3. 评论:3936
  4. 分类目录:106 个
  5. 注册用户数:6113
  6. 最后更新:2018年12月13日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

在CentOS下编译安装Protobuf类库

Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。

Protocol Buffers 是一种序列化数据结构的方法。对于通过管线(pipeline)或存储数据进行通信的程序开发上是很有用的。这个方法包含一个接口描述语言,描述一些数据结构,并提供程序工具根据这些描述产生代码,用于将这些数据结构产生或解析数据流。

proto2 提供一个程序产生器,支持C++、Java和Python,第三方类库支持JavaScript;而到了proto3,支持C++、Java (包含JavaNano)、Python、Go、Ruby、Objective-C和C#,并且从 3.0.0 Beta 2 版开始支持JavaScript,第三方类库支持Perl、PHP、Scala和Julia。

Google Protocol Buffer
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

目前版本的hadoop各种server、client RPC端通信协议的实现是基于google的protocol buffers的,所以我们在编译Hadoop源码(《Hadoop源码编译与调试》)之前需要安装好protobuf类库,否则会出现以下的错误:

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did not return a version -> [Help 1]

或者

[ERROR] Could not find goal 'protoc' in plugin org.apache.hadoop:hadoop-maven-plugins:2.2.0 among available goals -> [Help 1]

我们可以通过下面的几个步骤安装protobuf。

wget https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz -O protobuf-2.5.0.tar.gz

tar -zxf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/home/iteblog/protobuf-2.5.0
make && make install
export PATH=/home/iteblog/protobuf-2.5.0/bin:$PATH
protoc --version

如果输入 protoc --version 命令输出 libprotoc 2.5.0 则说明安装成功。

注意,如果你需要别的版本protobuf,请访问https://github.com/google/protobuf/releases

本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.iteblog.com/)
本文链接: 【在CentOS下编译安装Protobuf类库】(https://www.iteblog.com/archives/2167.html)
喜欢 (5)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!