官方的中文版的Hadoop快速入门教程已经是很老的版本了,新版的Hadoop目录结构发生了变化,因此一些配置文件的位置也略微调整了,例如新版的hadoop中找不到快速入门中提到的conf目录,另外,网上有很多教程也是关于老版本的。本教程主要是针对Hadoop 2.X版本,在Ubuntu系统上的搭建过程。如果要对各个步骤进行深入理解,还需要参考其他资料。

  英文版快速入门:http://hadoop.apache.org/docs/r2.6.2/hadoop-project-dist/hadoop-common/SingleCluster.html

前提条件

(1)Ubuntu操作系统(本教程使用的是Ubuntu 14.04)

(2)安装JDK

$ sudo apt-get install openjdk--jdk
$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.) (7u25-2.3.-4ubuntu3)
OpenJDK -Bit Server VM (build 23.7-b01, mixed mode)
$ cd /usr/lib/jvm
$ ln -s java--openjdk-amd64 jdk

(3)安装ssh

$ sudo apt-get install openssh-server

添加Hadoop用户组和用户(可选)

$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
$ sudo adduser hduser sudo

创建用户之后,使用hduser重新登陆ubuntu

安装SSH证书

$ ssh-keygen -t rsa -P ''
...
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
...
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost

下载Hadoop 2.6.2

$ cd ~
$ wget http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.6.2/hadoop-2.6.2.tar.gz
$ sudo tar vxzf hadoop-2.6..tar.gz -C /home/hduser
$ cd /home/hduser
$ sudo mv hadoop-2.6.2 hadoop
$ sudo chown -R hduser:hadoop hadoop

配置Hadoop环境变量

(1)修改系统环境变量

$cd ~
$vi .bashrc 把下边的代码复制到vi打开的.bashrc文件末尾,如果JAVA_HOME已经配置过,那就不需要再配置了。 #Hadoop variables
#begin of paste
export JAVA_HOME=/usr/lib/jvm/jdk/
export HADOOP_INSTALL=/home/hduser/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
#end of paste

(2)修改hadoop环境变量

$ cd /home/hduser/hadoop/etc/hadoop
$ vi hadoop-env.sh #必改的就一个,那就是修改JAVA_HOME,其他的可以不修改
export JAVA_HOME=/usr/lib/jvm/jdk/

配置完成后,重新登陆Ubuntu(把terminal关掉,再打开)

输入下边的命令检查是否安装成功

$ hadoop version
Hadoop 2.6.
...
...
...

配置Hadoop

(1)core-site.xml

$ cd /home/hduser/hadoop/etc/hadoop
$ vi core-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>

(2)yarn-site.xml

$ vi yarn-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

(3)mapred-site.xml

$ mv mapred-site.xml.template mapred-site.xml
$ vi mapred-site.xml
#把下边的代码复制到<configuration>和</configuration>中间
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

(4)hdfs-site.xml

$ cd ~
$ mkdir -p mydata/hdfs/namenode
$ mkdir -p mydata/hdfs/datanode
$ cd /home/hduser/hadoop/etc/hadoop
$ vi hdfs-site.xml #把下边的代码复制到<configuration>和</configuration>中间
<property>
<name>dfs.replication</name>
<value></value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>

格式化一个新的分布式文件系统:

$ cd ~
$ hdfs namenode -format

启动Hadoop服务

$ start-dfs.sh
....
$ start-yarn.sh
.... $ jps
#如果配置成功的话,你会看到类似下边的信息
DataNode
ResourceManager
Jps
NodeManager
NameNode
SecondaryNameNode

运行Hadoop示例

hduser@ubuntu: cd /home/dhuser/hadoop
hduser@ubuntu:/home/dhuser/hadoop$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6..jar pi
#然后你会看到类似下边的信息
Number of Maps =
Samples per Map =
// :: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Wrote input for Map #
Wrote input for Map #
Starting Job
// :: INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:
// :: INFO input.FileInputFormat: Total input paths to process :
// :: INFO mapreduce.JobSubmitter: number of splits:
// :: INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
...

参考文章:http://codesfusion.blogspot.sg/2013/10/setup-hadoop-2x-220-on-ubuntu.html

脚本代码:https://github.com/ericduq/hadoop-scripts/blob/master/make-single-node.sh

在Ubuntu系统上搭建Hadoop 2.x(2.6.2)的更多相关文章

  1. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  2. 十分钟内在Ubuntu系统上搭建Mono开发环境(Mono软件Ubuntu系统国内镜像源、Mono国内镜像源)

    Mono软件Ubuntu系统国内镜像源.Mono国内镜像源 http://download.githall.cn/repo 替换为国内源(非官方)有利于加快mono的安装速度,一般情况下,完成mono ...

  3. 在ubuntu server上搭建Hadoop

    1. Java安装: Because everything work with java. $ sudo apt-get install openjdk-7-jdk 安装之后,可以查看java的版本信 ...

  4. [Hadoop] 在Ubuntu系统上一步步搭建Hadoop(单机模式)

    1 Hadoop的三种创建模式 单机模式操作是Hadoop的默认操作模式,当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,会保守地选择最小配置,即单机模式.该模式主要用于开发调试M ...

  5. Hadoop 在ubuntu系统上的搭建[图解]

    前言 本文介绍如何在Ubuntu Kylin操作系统上搭建Hadoop平台. 配置 1. 操作系统: Ubuntu Kylin 14.04 2. 编程语言: JDK 1.8 3. 通信协议: SSH ...

  6. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

    首先要了解一下Hadoop的运行模式: 单机模式(standalone)        单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选 ...

  7. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)

    Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...

  8. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)【转】

    [转自:]http://blog.csdn.net/hitwengqi/article/details/8008203 最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文. 首先要了 ...

  9. 64位的Ubuntu系统上使用汇编nasm和C语言

    64位的Ubuntu系统上使用汇编nasm和C语言 $ nasm -f elf foo.asm -o foo.o$ gcc -c bar.c -o bar.o$ ld -s  foo.o bar.o ...

随机推荐

  1. IOS NSLog 打印bool值

    输出BOOL值的方法:NSLog(@"%@",YES?@"YES":@"NO");%@输出字符串. NSLog(@"ifReadO ...

  2. Cocos2d-x之Schedule

    Cocos2dx的定时器 from://http://blog.linguofeng.com/archive/2012/11/14/cocos2d-x-Schedule.html 一.schedule ...

  3. ExtJS 4.2 教程-03:使用Ext.define自定义类

    转载自起飞网,原文地址:http://www.qeefee.com/extjs-course-3-define-classes ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4. ...

  4. .NET零基础入门之02:源码控制管理器的使用

    一:概述 源码控制管理器,也叫"版本控制"软件,用于存储.追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是专业软件公司的基础工具.它主要是协助在多人团队中控制代码,防 ...

  5. H2:开源内存数据库引擎

    本资源由 伯乐在线 - 刘立华 整理 H2是一个开源的内存数据库.Java编写.快速.小巧(1.5MB jar包)还提供了Web控制台管理数据库内容. 主要功能 非常快速的数据库引擎. 开源. Jav ...

  6. 聊聊React的路由React-Router、react-router-dom

    关于二者的区别 参见:https://github.com/mrdulin/blog/issues/42 直接使用react-router-dom好了,react-router-dom封装了react ...

  7. Asp.net5 Session Set扩展

    关于Asp.net 5 如何使用Session大家可以参考http://www.mikesdotnetting.com/article/270/sessions-in-asp-net-5 和http: ...

  8. easyui datagrid列使用按钮的一些心得 .

    以前,用easyui的datagrid,有时候会用到一些操作选项,比如代码如下: $('#datagrid').datagrid({ border:false, fitColumns:true, si ...

  9. fatal error LNK1104: 无法打开文件“libc.lib”的问题 (转)

    今天,编译程序的时候,意外遇到了一个错误,就是VS2008一直提示:fatal error LNK1104: 无法打开文件“libc.lib”,后来在网上查找了很多资料,终于知道原因了... 如果将用 ...

  10. TextureView SurfaceView 简介 案例

    简介 Android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重绘一次,因此效率相对较低.视频或者opengl内容往往是显示在SurfaceView中的 ...