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

简介: 编译环境必须的安装包安装jdk安装mvn配置本地仓库路径更换阿里云maven镜像强烈推荐更换Native librariesProtocolBuffer 250可选的安装包Snappy compressionBzip2Jansson C Library for JSONLinux FUSE编译eclipse plugin切换到

编译环境

  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

目录
相关文章
|
6月前
|
Java 关系型数据库 MySQL
SSM度假村管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 度假村管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
36 0
|
5月前
|
应用服务中间件 Android开发
Eclipse启动tomcat项目乱码而终端启动tomcat正常的解决办法
Eclipse启动tomcat项目乱码而终端启动tomcat正常的解决办法
|
3月前
|
Java Android开发
用eclipse中打开Java项目
用eclipse中打开Java项目
40 1
|
3月前
|
Java Android开发
如何用eclipse中打开已存在的Java项目
如何用eclipse中打开已存在的Java项目
37 0
|
4月前
|
关系型数据库 MySQL 应用服务中间件
Intellij IDEA 导入公司老web项目 从eclipse里
Intellij IDEA 导入公司老web项目 从eclipse里
42 0
|
4月前
|
数据可视化 Java 编译器
Eclipse项目环境配置
Eclipse项目环境配置
52 0
|
5月前
|
Java Android开发
eclipse项目报错的解决方案
eclipse项目报错的解决方案
41 0
|
5月前
|
Java 应用服务中间件 Android开发
IDEA导入Eclipse Web项目
IDEA导入Eclipse Web项目
54 0
|
5月前
|
Java 应用服务中间件 Android开发
IDEA Eclipse项目如何导入tomcat里面的jar包
IDEA Eclipse项目如何导入tomcat里面的jar包
63 0
|
5月前
|
Java 应用服务中间件 Maven
IDEA如何导入Eclipse项目(非Maven项目)
IDEA如何导入Eclipse项目(非Maven项目)
87 0

相关实验场景

更多

推荐镜像

更多