### Hadoop

hadoop.

#@author:       gr
#@date:         2014-07-03
#@email:        forgerui@gmail.com

一、基础概念

1.1. hadoop vs openstack

OpenStack 是云计算平台.说白了就是能够在上面创建虚拟机,管理虚拟机(美其名曰:计算资源虚拟化),管理存储资源(美其名曰:存储资源虚拟化).OpenStack的存储管理包括两个工具:一个是分布式文件系统,一个是为虚拟机创建磁盘的工具.OpenStack可以和hadoop比较的就是分布式文件系统.
Hadoop核心是mapreduce的分布式计算模型。
总的来说:OpenStack和hadoop不是同一个层次的东西,无法比较.

1.2. hadoop vs spark

Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。

二、 安装

网上教程很多,如http://blog.itpub.net/28929558/viewspace-1354180/http://dblab.xmu.edu.cn/blog/install-hadoop/,配置过程中不能一味地照搬,需要根据自己的情况进行修改,这里就不介绍了。

主要讲一下遇到的问题以及测试结果:

2.1. 问题一

问题如下:

15/07/03 18:39:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

网上说是本地库是32位的,但却在64位系统上运行,可以用file命令查看:

$file lib/native/libhadoop.so.1.0.0 
lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ed024ac48c0f542fa36ddc918a75c51e1c647424, not stripped

我下载的版本是2.70的,默认就是64位的了,没有问题。

最后将本地库加入环境变量:

export JAVA_LIBRARY_PATH=/path/to/hadoop-native-libs

2.2. 问题二

问题如下:

java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.

原因是在教程的mapred-site.xml(配置第5步)中配置把yarn写成了Yarn, 改成小写的就可以了。

2.3 问题三

问题如下:

Container launch failed for container_1435914330979_0007_01_000002 : org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist

解决方法是在yarn-site.xml中加入:

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
posted @ 2015-08-23 20:22  bairuiworld  阅读(237)  评论(0编辑  收藏  举报