为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

为了避免大家走弯路请先看“开始玩hadoop4”,我之前确实犯了不少错误,第四篇都总结了一遍!

重要的事要说三遍!!!

因为网上的教程很多都转载的,

有的说hadoop官网只放出了32位的,所以要运行到64位的机器上必须要在本地重新编译src的那个压缩

但是也有的说现在hadoop为了适应64位的大趋势,从2.5开始就开始放出64位的了,直接使用不带src的那个压缩文件就可以了

我不放心,所以找来了一篇可以识别hadoop到底是多少位的操作的方法:

我在官网上两个压缩包都下载了,先看看不带src的是不是64位,如果是,我就直接解压用,

如果不是,我就继续发布下一篇文章,查查如何本地编译成64位的,实话说,我觉得本地编译不难,就是挺麻烦的,要装好多额外的工具。

我下载的  hadoop-2.6.0-src.tar.gz  hadoop-2.6.0.tar.gz 两个压缩包


#apt-get installsoftwarename的软件 看安装到了哪里

dpkg -L softwarename;

#或者

apt-file list softwarename


#查看Linux是32位还是64位

uname -a 或者 uname –m

#出现x86_64,你安装了64位操作系统

#接着进入hadoop 主目录

cd hadoop-2.6.0/lib/native

file libhadoop.so.1.0.0

#结果里出现 32-bit 或者64-bit 就是对应的版本 了

#这里也附上自己尝试的本地编译的方式,反正我是成功了,中间出的问题也记录下来了。

#一些安装过程,安装过了就可以不用安装了

#安装java

sudo apt-get install default-jdk
java -version

#安装maven

sudo apt-get install maven
mvn –version

#安装ssh

sudo apt-get install openssh-server

#安装依赖库

sudo apt-get install g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev

#安装protobuf

sudo apt-get install protobuf-compiler

protoc –version

#OK开始编译,进入HADOOP源代码目录 hadoop-2.6.0-src,执行:

#一定要加sudo 因为要建立文件夹,所以需要权限;

#否则:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (create-testdirs) on pro…

#而且后面的操作都找不到该文件夹,
sudo 
mvn clean package -Pdist,native -DskipTests -Dtar

#接下来我又碰到这个问题/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java:27: 

error: unexpected end tag: </ul>
[ERROR] * </ul>
[ERROR] ^

#这里要和大家说声sorry,这个地方是因为java版本的问题,java1.8会出现这样的注释错误识别

#当然可以把那一行删掉,但是后面还是会有许多同样的错误

#最好的办法就是替换掉java版本

sudo update-alternatives –config java

#在页面里选择数字,就可以了

sudo update-alternatives –config javac
#两个版本的我都换了,不知道不改会出什么问题


我这里没改环境变量:我不知道在哪里改!

但是直接就可以用

java –version 显示是1.7

但是echo $JAVA_HOME 还是显示的是oracle-java 1.8

mvn –version 的版本也是java -oracle-1.8

update-alternatives –config java
update-alternatives –config javac

只要输入想要切换的编号回车即可,不改的话直接回车,别忘记javac也改一下~
改完之后,
java -version
javac -version    这样就可以改变java -version 辣


补充:在Ubuntu中有如下几个文件可以设置环境变量
1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在 读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile:在登录时用到的第三个文件是.profile文 件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用 户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变游戏量,执 行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该 文件被读取.
4、~/.bashrc:该文件包含专用于你的bash shell的bash信 息,当登录时以及每次打开新的shell时,该该文件被读取。

要使得刚修改的环境变量生效:source XXXX(路径)

查看环境变量:env

可以放到/etc/bash/bashrc,这样就是系统级的


这个本来是应该注意的地方,但是我确实找不到为什么会这样。

ubuntu apt-get 查看了好多环境配置文件,要么是空的,要么我根本看不懂

如果有人真的会,肯定直接告诉我,就好了。谢谢

#中间会出现一些警告……

#整个过程必须联网,经过漫长的等待……

#总算是build success 了

#编译好的 /hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0.tar.gz

tar -zxvf hadoop-2.6.0.tar.gz -C /home/luis



版权声明:本文为yuyi_000原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/yuyi_000/article/details/46680415