大数据源码编译系列——通用编译环境

  |   0 评论   |   2,824 浏览

操作系统

[root@nn1 local]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \\r on an \\m
[root@nn1 local]# uname -a
Linux nn1 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

安装JDK

下载地址

JDK8

准备压缩包

[root@nn1 local]# tar zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/
[root@nn1 local]# ln -s /usr/local/jdk1.8.0_131/ /usr/local/jdk

修改环境变量

vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
[root@nn1 local]# source /etc/profile

验证

[root@nn1 local]# java -version
java version \"1.8.0_131\"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

安装Scala

Scala下载地址

获取安装包

[root@nn1 src]# wget https://downloads.lightbend.com/scala/2.10.5/scala-2.10.5.tgz
[root@nn1 src]# tar zxvf scala-2.10.5.tgz -C /usr/local/
[root@nn1 src]# ln -s /usr/local/scala-2.10.5/ /usr/local/scala

设置环境变量

[root@nn1 src]# vim /etc/profile
export SCALA_HOME=/usr/local/scala
export PATH=$SCALA_HOME/bin:$PATH
[root@nn1 src]# source /etc/profile

验证

[root@nn1 src]# scala -version
Scala code runner version 2.10.5 -- Copyright 2002-2013, LAMP/EPFL

安装NodeJS

下载地址

准备安装包

[root@nn1 local]# wget https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz 
[root@nn1 local]# tar xvf node-v6.11.0-linux-x64.tar.xz -C /usr/local/
[root@nn1 local]# ln -s /usr/local/node-v6.11.0-linux-x64 /usr/local/node

添加环境变量

[root@nn1 local]# vim /etc/profile
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
[root@nn1 local]# source /etc/profile

验证

[root@nn1 local]# node -v
v6.11.0

安装brunch

[root@nn1 src]# npm install -g brunch@1.7.20

验证

[root@nn1 src]# brunch -V
1.7.20

安装Maven

下载地址

Maven

准备安装包

[root@nn1 local]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz
[root@nn1 local]# tar zxvf apache-maven-3.5.0-bin.tar.gz -C /usr/local/
[root@nn1 local]# ln -s /usr/local/apache-maven-3.5.0 /usr/local/maven

修改环境变量

[root@nn1 local]# vim /etc/profile
export MAVEN_OPTS=\"-Xmx2G -XX:MaxMetaspaceSize=500M -XX:ReservedCodeCacheSize=500M\"
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH
[root@nn1 local]# source /etc/profile

验证

[root@nn1 local]# mvn -version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T12:39:06-07:00)
Maven home: /usr/local/maven
Java version: 1.8.0_131, vendor: Oracle Corporation
Java home: /usr/local/jdk1.8.0_131/jre
Default locale: en_US, platform encoding: UTF-8
OS name: \"linux\", version: \"2.6.32-642.el6.x86_64\", arch: \"amd64\", family: \"unix\"

替换Maven中央仓库为aliyun的私服

[root@nn1 src]# wget -O ~/.m2/settings.xml http://cxy7.com/upload/file/20170624/1498293364825026508.xml

settings.xml

安装Ant

下载地址

ANT

安装

[root@nn1 bin]# wget http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.10.1-bin.tar.gz 
[root@nn1 bin]# tar -zxvf apache-ant-1.10.1-bin.tar.gz -C /usr/local/
[root@nn1 bin]# ln -s /usr/local/apache-ant-1.10.1/ /usr/local/ant

修改环境变量

[root@nn1 local]# vim /etc/profile
export ANT_HOME=/usr/local/ant
export PATH=$ANT_HOME/bin:$PATH
[root@nn1 local]# source /etc/profile

验证

[root@nn1 bin]# ant -version
Apache Ant(TM) version 1.10.1 compiled on February 2 2017

安装GIT

[root@nn1 snappy-1.1.3]# yum install -y  git

验证

[root@nn1 snappy-1.1.3]# git version
git version 1.7.1

安装GCC

[root@nn1 protobuf-2.5.0]# yum -y install gcc-c++

升级GCC7

查看现在的版本

[root@hadoop-test-5 ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

升级

cd /usr/local/src/
wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz
tar zxvf gcc-7.4.0.tar.gz
cd gcc-7.4.0
./contrib/download_prerequisites

down_pre.png

./configure --prefix=/opt/gcc7 --disable-multilib
make -j4
make install

添加软链接

cd /opt/gcc7/bin/
ln -s gcc cc
ln -s g++ g++-7
ln -s gcc gcc-7
ln -s /opt/gcc7/bin/* /usr/local/bin/

添加环境变量

vim /etc/profile
export GCC7_HOME=/opt/gcc7
export PATH=$GCC7_HOME/bin:$PATH
export CC=gcc-7
export CXX=g++-7
source /etc/profile

验证

[root@hadoop-test-4 ~]# gcc --version
gcc (GCC) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

可能遇到的问题

/usr/local/src/gcc-7.4.0/missing: line 81: makeinfo: command not found
yum install texinfo

安装CMake

安装

[root@nn1 hadoop-2.6.0-cdh5.11.1]# yum install cmake

否则会报以下错误

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-common: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in directory "/usr/local/src/hadoop-2.6.0-cdh5.11.1/hadoop-common-project/hadoop-common/target/native"): error=2, No such file or directory
[ERROR] around Ant part ...<exec failonerror="true" dir="/usr/local/src/hadoop-2.6.0-cdh5.11.1/hadoop-common-project/hadoop-common/target/native" executable="cmake">... @ 4:141 in /usr/local/src/hadoop-2.6.0-cdh5.11.1/hadoop-common-project/hadoop-common/target/antrun/build-main.xml
[ERROR] -> [Help 1]
[ERROR]

升级CMake3

查看现在的版本

[root@hadoop-test-4 ~]# cmake --version
cmake version 2.8.12.2

准备安装包

wget https://cmake.org/files/v3.14/cmake-3.14.5-Linux-x86_64.tar.gz
tar zxvf cmake-3.14.5-Linux-x86_64.tar.gz -C /opt
ln -s cmake-3.14.5-Linux-x86_64 cmake

添加环境变量

vim /etc/profile
export CMAKE_HOME=/opt/cmake
export PATH=$CMAKE_HOME/bin:$PATH
source /etc/profile

验证

cmake.png

安装PhantomJS

下载压缩包

PhantomJS官方网站

[root@plat1 local]# wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

解压至/usr/local

[root@plat1 local]# tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local
[root@plat1 local]# ln -s /usr/local/phantomjs-2.1.1-linux-x86_64 /usr/local/phantomjs

添加环境变量

[root@plat1 local]# vim /etc/profile
export PHANTOMJS_HOME=/usr/local/phantomjs
export PATH=$PHANTOMJS_HOME/bin:$PATH
[root@plat1 phantomjs]# source /etc/profile

验证

[root@plat1 phantomjs]# phantomjs -v 
2.1.1

安装ninja

wget https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip
unzip ninja-linux.zip -d /usr/local/bin/

验证

image.png

安装fpm

yum install ruby-devel gcc gcc-c++ make rpm-build rubygems
# 切换gem源
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
gem sources -l
gem install --no-ri --no-rdoc fpm
fpm --version

安装boost

wget https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
tar zxvf boost_1_70_0.tar.gz
cd boost_1_70_0/
./bootstrap.sh
./b2 install

修改环境变量

vim /etc/profile
export BOOST_ROOT=/data2/boost_1_70_0
export BOOST_INCLUDE=/usr/local/include/boost
export BOOST_LIB=/usr/local/lib
source /etc/profile
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... not found.
Generating Boost.Build configuration in project-config.jam for gcc...
Bootstrapping is done. To build, run:
    ./b2
To generate header files, run:
    ./b2 headers
To adjust configuration, edit 'project-config.jam'.
Further information:
   - Command line help:
     ./b2 --help
   - Getting started guide:
     http://www.boost.org/more/getting_started/unix-variants.html
   - Boost.Build documentation:
     http://www.boost.org/build/

安装thrift

wget http://mirror.bit.edu.cn/apache/thrift/0.12.0/thrift-0.12.0.tar.gz
tar zxvf thrift-0.12.0.tar.gz
cd thrift-0.12.0/
./configure --enable-libs=no
make && make install


读后有收获可以支付宝请作者喝咖啡