天天看点

[jjzhu学hadoop]之hadoop2.7.3源码编译eclipse项目编译环境必须的安装包可选的安装包ProtocolBuffer版本问题解决办法编译好的源码(eclipse可直接导入)

<a href="#%e7%bc%96%e8%af%91%e7%8e%af%e5%a2%83">编译环境</a>

<a href="#%e5%bf%85%e9%a1%bb%e7%9a%84%e5%ae%89%e8%a3%85%e5%8c%85">必须的安装包</a>

<a href="#%e5%ae%89%e8%a3%85jdk">安装jdk</a>

<a href="#%e5%ae%89%e8%a3%85mvn">安装mvn</a>

<a href="#%e9%85%8d%e7%bd%ae%e6%9c%ac%e5%9c%b0%e4%bb%93%e5%ba%93%e8%b7%af%e5%be%84">配置本地仓库路径</a>

<a href="#%e6%9b%b4%e6%8d%a2%e9%98%bf%e9%87%8c%e4%ba%91maven%e9%95%9c%e5%83%8f%e5%bc%ba%e7%83%88%e6%8e%a8%e8%8d%90%e6%9b%b4%e6%8d%a2">更换阿里云maven镜像强烈推荐更换</a>

<a href="#native-libraries">native libraries</a>

<a href="#protocolbuffer-250">protocolbuffer 250</a>

<a href="#%e5%8f%af%e9%80%89%e7%9a%84%e5%ae%89%e8%a3%85%e5%8c%85">可选的安装包</a>

<a href="#snappy-compression">snappy compression</a>

<a href="#bzip2">bzip2</a>

<a href="#jansson-c-library-for-json">jansson c library for json</a>

<a href="#linux-fuse">linux fuse</a>

<a href="#%e7%bc%96%e8%af%91eclipse-plugin">编译eclipse plugin</a>

<a href="#%e5%88%87%e6%8d%a2%e5%88%b0root%e7%bc%96%e8%af%91hadoop-maven-plugins">切换到root编译hadoop-maven-plugins</a>

<a href="#%e7%94%9f%e6%88%90eclipse%e9%a1%b9%e7%9b%ae">生成eclipse项目</a>

<a href="#protocolbuffer%e7%89%88%e6%9c%ac%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95">protocolbuffer版本问题解决办法</a>

<a href="#%e5%85%88%e5%8d%b8%e8%bd%bdlibbprotoc">先卸载libbprotoc</a>

<a href="#%e4%b8%8b%e8%bd%bdprotobuf-250targz">下载protobuf-250targz</a>

<a href="#%e8%a7%a3%e5%8e%8b%e5%ae%89%e8%a3%85">解压安装</a>

<a href="#%e7%bc%96%e8%af%91%e5%a5%bd%e7%9a%84%e6%ba%90%e7%a0%81eclipse%e5%8f%af%e7%9b%b4%e6%8e%a5%e5%af%bc%e5%85%a5">编译好的源码eclipse可直接导入</a>

ubuntu 16.04 64bit

jdk 1.7.0_79

maven 3.3.9

hadoop-2.7.3-src

这里有坑,安装的2.6.1的

安装好了以后可以查看下具体安装的版本

如果输出的不是

可以看后面的protocolbuffer版本解决办法

[jjzhu学hadoop]之hadoop2.7.3源码编译eclipse项目编译环境必须的安装包可选的安装包ProtocolBuffer版本问题解决办法编译好的源码(eclipse可直接导入)

如果安装的不是2.5.0版本的protocolbuffer,在编译的时候会报错

<a href="https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz">protobuf-2.5.0.tar.gz</a>

查看版本

如果正确安装的话

报错

protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib不在ubuntu体系默认的ld_library_path里,所以就找不到lib

需要让系统找到protobuf

输入一下内容

保存并退出,输入如下命令,重新加载配置文件

再次输入

可以得到输出

eclipse-&gt;import-&gt;existing maven projects