** 环境:CentOS-x86_64位系统 hadoop版本:hadoop-2.6.0-src.tar.gz**
由于hadoop官网只提供32位版本,安装后会出现一个错误,在64系统上运行会出错:
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 编译会报错注释标签问题
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源码
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz
3.下载完成后解压
tar -zxvf hadoop-2.6.0-src.tar.gz
4.进去入解压后的文件目录,并编译
cd hadoop-2.6.0-src
mvn package -DskipTests -Pdist,native -Dtar
这一步比较耗时,大概需要15~30分钟。 正确执行的结果如下:
编译好的二进制文件包位于: hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0.tar.gz 其他版本编译大概相同 备注: 使用自行编译的Hadoop二进制包安装Hadoop时需要删除.bashrc文件与hadoop-env.sh文件中下面两行(默认不会有这两行,但是尝试解决报错时可能改写了)
export HADOOP_COMMON_LIB_NATIVE_DIR="~/hadoop/lib/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=~/hadoop/lib/"
------- OK -------
出现的问题:
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/目录下