在Ubuntu上安装hadoop2.2.0的一些记录
之前成功的安装过hadoop2.1.0,但是这次安装又出现了很多问题,主要问题都是出现在版本之间的问题上。
首先是安装protobuf出现了一些问题,由于要求版本要是2.5.0以上,所以出现很多由于版本不够高的错误,下载链接:https://code.google.com/p/protobuf/downloads/list。至于你出现的问题,可以在这里找找:https://code.google.com/p/protobuf/issues/list
安装过程:
tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make
make install
查看是否安装成功:查看是否安装成功:protoc --version 注意是两次横线,不要少了一个而搞错
如果出现编译器错误,说明是没有C++编译器,执行:sudo apt-get install g++
if exists compile problem, try to use :sudo apt-get install build-essential
protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared object file: No such file or directory
The issue is that Ubuntu ** version doesn't include /usr/local/lib in library path.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
to slove the problem.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JDK的安装就不说了,这个一搜一大把,这里说下版本要求:
Requirements: * Unix System * JDK 1.6+ * Maven 3.0 or later * Findbugs 1.3.9 (if running findbugs) * ProtocolBuffer 2.5.0 * CMake 2.6 or newer (if compiling native code) * Internet connection for first build (to fetch all Maven and Hadoop dependencies)
只是要注意好像不能用apt-get一下就搞下来,要自己动手去下载然后安装,最重要的是要注意环境变量的设置。
还是写下安装过程:
sudo mkdir -p /usr/local/java sudo mv /home/john/Downloads/jdk-6u26-linux-x64.bin /usr/local/java cd /usr/local/java sudo chmod 700 jdk-6u26-linux-x64.bin sudo ./jdk-6u26-linux-x64.bin sudo rm jdk-6u26-linux-x64.bin sudo ln -s jdk1.6.0_26 /usr/local/java/latest
在/etc/environment中设置环境:
JAVA_HOME="/usr/local/java/latest" JRE_HOME="/usr/local/java/latest/jre" PATH="/usr/local/java/latest/bin:\ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
确认是否安装成功:java -version
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
接下来最蛋疼的就是Maven的安装了,由于效仿一些博客上的安装方法,用apt-get install maven2安装了2.2.1的版本,然后编译hadoop源码的时候报错说版本低了,又返回尝试apt-get install maven3,发现不行,所以就去
手动下载安装,http://maven.apache.org/download.cgi,下载了apache-maven-3.1.1-src.tar.gz倒腾后发现不是bin版本,所以又重新去下载,最后依照网上各种手动安装发现编译hadoop的时候都会出现错误
无奈下有换到3.0的版本,还是出现问题,搞来搞去,还是没有成功。
doug的博客也说明了这种手动安装存在的问题:http://dougchang333.blogspot.com/2013/11/building-hadoop-cannot-access.html,安装这种方法修改文件,出现开机进入不了桌面等问题。见出错信息板块中
然后就尝试能不能通过apt-get去安装,这样就不会有问题,搜索了好多资源,搜到一个相关文章,http://www.cnblogs.com/gaodong/p/3463924.html,搞了好久,下载安装了3.1.1的版本。
$ mvn package -Pdist,native,docs,src -DskipTests -Dtar 出现了各种报错。。。。。。。。。。。。。。。。。。。。。。。。。。。。
然后发现只要apt-get install maven就可以下3.0的版本,这其中出现了一些很有意思的问题,因为不停的卸载安装maven,问题见我的提问:http://stackoverflow.com/questions/20449836/error-could-not-find-or-load-main-class-org-codehaus-classworlds-launcher-while
最后一次尝试用 mvn install -Pdist -DskipTests 编译成功!