[jjzhu学hadoop]之hadoop2.7.3源码编译eclipse项目

编译环境

  1. ubuntu 16.04 64bit
  2. jdk 1.7.0_79
  3. maven 3.3.9
  4. hadoop-2.7.3-src

必须的安装包

安装jdk

tar zxf jdk-7u79-linux-x64.tar.gz
sudo vim /etc/profile
export JAVA_HOME=/opt/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version

安装mvn

tar zxf apache-maven-3.3.9-bin.tar.gz
sudo vim /etc/profile
export MAVEN_HOME=/opt/maven3.3.9
export PATH=$MAVEN_HOME/bin
source /etc/profilr
mvn -version

配置本地仓库路径

<localRepository>/opt/mava-3.3.9/repository</localRepository>

更换阿里云maven镜像(强烈推荐更换)

<mirrors>
     <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror> 
  </mirrors>

Native libraries

sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

ProtocolBuffer 2.5.0

sudo apt-get -y install libprotobuf-dev protobuf-compiler

这里有坑,安装的2.6.1的
安装好了以后可以查看下具体安装的版本

protoc --verison

如果输出的不是

libprotoc 2.5.0

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

可选的安装包

Snappy compression

sudo apt-get install snappy libsnappy-dev

Bzip2

sudo apt-get install bzip2 libbz2-dev

Jansson (C Library for JSON)

sudo apt-get install libjansson-dev

Linux FUSE

sudo apt-get install fuse libfuse-dev

编译eclipse plugin

切换到root,编译hadoop-maven-plugins

su root
>不切换会报错的(hadoop-maven-plugins/target/antrun/build-main.xml(No sucn file or directory))
cd HADOOP_SRC/hadoop-maven-plugins
mvn install

生成eclipse项目

cd ..
mvn eclipse:eclipse -DskipTests

image

ProtocolBuffer版本问题解决办法

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

protoc version is 'libprotoc 2.6.1', expected version is '2.5.0'

先卸载libbprotoc

sudo apt-get purge libprotobuf-dev protobuf-compiler

下载protobuf-2.5.0.tar.gz

protobuf-2.5.0.tar.gz

解压,安装

sudo tar zxf protobuf-2.5.0.tar.gz
./configure
make
make check
make install

查看版本

protoc --version

如果正确安装的话
报错

protoc: error while loading shared libraries: libprotoc.so.8:cannot open shared object file:No such file or directory

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

cd /etc/ld.so.conf.d/
sudo vim bprotobuf.conf

输入一下内容

/usr/local/lib

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

sudo ldconfig

再次输入

protoc --version

可以得到输出

libprotoc 2.5.0

编译好的源码(eclipse可直接导入)

下载链接:http://pan.baidu.com/s/1kVdk3tH,密码:9q7m
eclipse->import->Existing Maven Projects

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/71862

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。