龙空技术网

头发掉了10来根,搞了“Hadoop源码编译全流程”,不拿走可就亏了

大数据市场观察 221

前言:

现时各位老铁们对“protobufcentos编译”大概比较珍视,大家都需要知道一些“protobufcentos编译”的相关文章。那么小编在网摘上网罗了一些对于“protobufcentos编译””的相关文章,希望朋友们能喜欢,兄弟们一起来了解一下吧!

- 阅读编译文档 -

首先准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码包的根目录下有一个文档叫做BUILDING.txt,这其中说明了编译hadoop所需要的一些编译环境相关的东西。不同的hadoop版本的要求都不一样,对应的版本参照BUILDING.txt

- 安装对应软件(必须联网) -

安装openssl-devel

yum -y install svn

yum -y install autoconf automake libtool cmake zlib-devel lzo-devel

yum -y install ncurses-devel

yum -y install openssl-devel

yum -y install zlib1g-dev libssl-dev

安装gcc

检测gcc是否已经安装:gcc -v

如果最后一行出现gcc版本信息日志,表示已经安装成功过了

命令安装:

yum install -y gcc

安装gcc-c++

命令安装:yum -y install gcc-c++

安装JDK

安装包:jdk-7u80-linux-x64.tar.gz

解压安装:tar -zxvf /root/jdk-7u80-linux-x64.tar.gz -C /root/apps/

配置环境变量:

vi /etc/profile

加以下内容:

export JAVA_HOME=/root/apps/jdk1.7.0_80

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:/root/apps/jdk1.7.0_80/lib/dt.jar:/root/apps

/jdk1.7.0_80/lib/tools.jar

环境变量生效:source /etc/profile

检查安装是否成功:java -version

安装Maven

安装包:apache-maven-3.5.3-bin.tar.gz

解压安装:tar -zxvf /root/apache-maven-3.5.3-bin.tar.gz -C /root/apps/

修改配置文件:

进入到maven的conf目录:cd /root/apps/apache-maven-3.5.3/conf

修改配置文件settings.xml:

在配置文件的中部找到localRepository这个标签,是被注释掉的,将其放出 来自己添加路径:

<localRepository>

/root/mavenlocalrepo/

</localRepository>

配置环境变量:

vi /etc/profile

追加一下内容:

export M2_HOME=/root/apps/apache-maven-3.5.3

export PATH=$PATH:$M2_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:mvn -version

设置maven仓库:鉴于远程maven仓库的网络连接不稳定,可以设置成阿里的

安装Ant

安装包:apache-ant-1.9.9-bin.tar.gz

解压安装:tar -zxvf /root/apache-ant-1.9.9-bin.tar.gz -C /root/apps/配置环境变量:

vi /etc/profile

加以下内容:

export ANT_HOME=/root/apps/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:ant -version

安装FindBugs

安装包:findbugs-3.0.0.tar.gz

解压安装:tar -zxvf /root/findbugs-3.0.0.tar.gz -C /root/apps/

配置环境变量:

vi /etc/profile

加以下内容:

export FINDBUGS_HOME=/root/apps/findbugs-3.0.0

export PATH=$PATH:$FINDBUGS_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:findbugs -version

安装make

先检测是否安装:

make -version

没有安装使用yum安装:

yum install -y make

安装Cmake

安装包:cmake-2.8.12.2.tar.gz

解压安装:tar -zxvf /root/cmake-2.8.12.2.tar.gz -C /root/apps/

编译安装:

进入根目录:cd /root/apps/cmake-2.8.12.2/

依次执行一下命令(比较耗时):

./bootstrap

gmake & gmake install

检查安装是否成功:cmake -version

安装Protobuf

安装包:protobuf-2.5.0.tar.gz

解压安装:tar -zxvf /root/protobuf-2.5.0.tar.gz -C /root/apps/

编译安装:

首先进入到根目录:cd /root/apps/protobuf-2.5.0/

然后依次执行以下命令(比较耗时):

./configure --prefix=/root/apps/protobuf # 表示安装到这个目录

make

make check

make install

配置环境变量:

vi /etc/profile

加以下内容:

目录就是./configure

export PROTOBUF_HOME=/root/apps/protobuf

export PATH=$PATH:$PROTOBUF_HOME/bin

环境变量生效:source /etc/profile

检查安装是否成功:protoc -version

安装Snappy

安装包:snappy-1.1.1.tar.gz

解压安装:tar -zxvf /root/snappy-1.1.1.tar.gz -C /root/apps/

编译安装:

cd ~/apps/snappy-1.1.1/

然后依次执行以下命令(比较耗时):

./configure --prefix=/root/apps/protobuf # 表示安装到这个目录

make

make check

make install

查看sanppy lib库:ls -lh /usr/local/lib |grep snappy

- 编译Hadoop -

步骤一

解压hadoop源码包tar -zxvf /root/hadoop-2.7.7-src.tar.gz -C /root/apps/

步骤二

在编译之前防止 java.lang.OutOfMemoryError: Java heap space 堆栈问题,在centos系统中执行命令

export MAVEN_OPTS="-Xms256m -Xmx512m"

步骤三

切换工作目录到hadoop-2.7.7根目录下cd /root/apps/hadoop-2.7.7-src

步骤四

执行编译:

mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib - Dbundle.snappy -Drequire.openssl

如果中途编译失败,请重复执行这个命令,直到成功。如果编译过程中,发现卡住了,请停止这个命令,然后重新再执行一遍就可以了。

步骤五

静静等待编译……. 第一次编译预估一个小时左右,最后编译成功,jar包所在位置于/root/apps/hadoop-2.7.7-src/hadoop-dist/target

喜欢可以加关注❤️ ,一起进步!

标签: #protobufcentos编译