** 环境:CentOS-x86_64位系统 hadoop版本:hadoop-2.6.0-src.tar.gz**java
因为hadoop官网只提供32位版本,安装后会出现一个错误,在64系统上运行会出错:apache
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
步骤以下 1.在Linux安装依赖软件: jdk-1.7和maven-3.3.3我是独立安装的 注意:若是用JDK1.8 编译会报错注释标签问题tomcat
yum install -y libprotobuf-dev protobuf-compiler cmake build-essential pkg-config libssl-dev zlib1g-dev llvm-gcc automake autoconf make
2.下载hadoop-2.6.0源码bash
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz
3.下载完成后解压app
tar -zxvf hadoop-2.6.0-src.tar.gz
4.进去入解压后的文件目录,并编译maven
cd hadoop-2.6.0-src mvn package -DskipTests -Pdist,native -Dtar
这一步比较耗时,大概须要15~30分钟。 正确执行的结果以下:oop
编译好的二进制文件包位于: hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0.tar.gz 其余版本编译大概相同 备注: 使用自行编译的Hadoop二进制包安装Hadoop时须要删除.bashrc文件与hadoop-env.sh文件中下面两行(默认不会有这两行,可是尝试解决报错时可能改写了)ui
export HADOOP_COMMON_LIB_NATIVE_DIR="~/hadoop/lib/" export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=~/hadoop/lib/"
------- OK -------code
出现的问题:orm
1.protobuf(2.3)版本太低 需安装protobuf-2.5.0
2.tomcat6下载失败报错 手动下载apache-tomcat-6.0.41.tar.gz 放在hadoop-2.6.0-src/hadoop-common-project/hadoop-kms/downloads/ 目录下
3.同上面第二个问题
由于下载很慢或失败,仍是须要手动下载apache-tomcat-6.0.41.tar.gz后放在 hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads/目录下