Hadoop-2.7.1 编译

一、下载源文件

1. 登录hadoop官网下载相应的版本。官网地址:http://hadoop.apache.org

2. 下载的文件一般在当前用户的下载文件夹。我的位置是:/home/penglaozi/下载

3. 进入/usr/local/新建一个空文件夹:sudomkdir hadoop

  将下载的文件拷贝到新建的文件夹里:sudo cp /home/penglaozi/下载/hadoop-2.7.1-src.tar.gz/usr/local/hadoop/

  将该文件解压:sudotar xzvf hadoop-2.7.1-src.tar.gz

  解压后得到文件:hadoop-2.7.1-src

二、下载编译所需软件

1. jdk下载、解压、配置环境变量

(1)下载jdk1.7以后的版本,按上面所述的步骤解压。这里我的jdk文件路径为:/usr/local/jdk1.8.0_101

(2)配置环境变量:

sudo vim /etc/profile

在done和unset i中间配置环境变量(在vim中插入文本要先按i,编辑完成后按esc,然后输入:wq即可退出)

export JAVA_HOME=/usr/local/jdk1.8.0_101

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

检验是否安装成功:java -version         如果有出现java版本,则安装成功

2. 安装maven

sudo apt-get install maven

验证安装是否成功:mvn -version

3. 安装protobuf

(1)先安装g++

sudo apt-get install g++

(2)下载protobuf-2.5.0.tar.gz,解压

进入protobuf-2.5.0文件夹,进行如下操作:

sudo ./configure

sudo make

sudo make check

sudo make install

sudo ldconfig

(3)修改环境变量

sudo vim /etc/profile

export LD_LIBRARY_PATH=~/protobuf-2.5.0

退出后输入source /etc/profile

(4)验证:protoc --version

4. 安装openssl库

sudo apt-get install libssl-dev

5. 安装cmake

sudo apt-get install cmake

6. 安装ant

(1)下载ant-1.9.4-bin.tar.gz并解压

(2)配置环境变量:

sudo vim /etc/profile

export ANT_HOME=/usr/local/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

退出后输入source /etc/profile使其生效

三、编译hadoop-2.7.1

为避免一直出现权限错误,先切换到root

sudo -s

mvn package -Pdist,native -DskipTests -Dtar

编译成功后在hadoop-2.7.1-src/hadoop-dist/target下有文件hadoop-2.4.0.tar.gz

 

四、这里讲一些我碰到的错误

1. 在切换到root后执行mvn命令,出现warning:JAVA_HOME environment virable is not set。但是在/etc/profile中已经设置了JAVA_HOME,并且在普通用户下是不会出现些警告的。

原因是我的系统有默认的jdk,与后面下载的jdk版本不一致。解决办法是先在root下管理jdk,设置自己要用的jdk为默认jdk;

update-alternatives --config java然后选择相应版本的jdk

此时改变的是java,若要改变javac,则要执行update-alternatives --config javac

update-alternatives --install注解:

update-alternatives --install

priority表示的是优先级,在auto mode时起作用。eg:

update-alternatives --install /usr/bin/javajava /usr/local/jdk1.8.0_101/bin/java 1234

update-alternatives --install/usr/bin/javac javac /usr/local/jdk1.8.0_101/bin javac 1234

然后在/etc/profile不作修改,退出后source /etc/profile即可。

2. 多次报类似Could not resolve dependencies for projectorg.apache.hadoop:hadoop-minikdc:jar:2.7.0之类的错误,一般是因为没有下载完,重新执行之前的mvn命令即可。

你可能感兴趣的:(大数据)