Hadoop快速入门

目的

这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等。

先决条件支持平台GNU/Linux是产品开发和运行的平台。 Hadoop已在有2000个节点的GNU/Linux主机组成的集群系统上得到验证。 Win32平台是作为开发平台支持的。由于分布式操作尚未在Win32平台上充分测试,所以还不作为一个生产平台被支持。 所需软件

Linux和Windows所需软件包括:

JavaTM1.5.x,必须安装,建议选择Sun公司发行的Java版本。 ssh 必须安装并且保证 sshd一直运行,以便用Hadoop 脚本管理远端Hadoop守护进程。

Windows下的附加软件需求

Cygwin - 提供上述软件之外的shell支持。 安装软件

如果你的集群尚未安装所需软件,你得首先安装它们。

以Ubuntu Linux为例:

$ sudo apt-get install ssh
$ sudo apt-get install rsync

在Windows平台上,如果安装cygwin时未安装全部所需软件,则需启动cyqwin安装管理器安装如下软件包:

openssh - Net 类 下载

为了获取Hadoop的发行版,从Apache的某个镜像服务器上下载最近的 稳定发行版。

运行Hadoop集群的准备工作

解压所下载的Hadoop发行版。编辑 conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径。

尝试如下命令:
$ bin/hadoop
将会显示hadoop 脚本的使用文档。

现在你可以用以下三种支持的模式中的一种启动Hadoop集群:

单机模式 伪分布式模式 完全分布式模式 单机模式的操作方法

默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。

下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output目录。
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*

伪分布式模式的操作方法

Hadoop可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop守护进程都作为一个独立的Java进程运行。

配置

使用如下的 conf/hadoop-site.xml:

<configuration>  <property>    <name>fs.default.name</name>    <value>localhost:9000</value>  </property>  <property>    <name>mapred.job.tracker</name>    <value>localhost:9001</value>  </property>  <property>    <name>dfs.replication</name>    <value>1</value>  </property></configuration>免密码ssh设置

现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost

如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

执行

格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format

启动Hadoop守护进程:
$ bin/start-all.sh

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://localhost:50070/ JobTracker - http://localhost:50030/

将输入文件拷贝到分布式文件系统:
$ bin/hadoop fs -put conf input

运行发行版提供的示例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output
$ cat output/*

或者

在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*

完成全部操作后,停止守护进程:
$ bin/stop-all.sh

完全分布式模式的操作方法

关于搭建完全分布式模式的,有实际意义的集群的资料可以在这里找到。

Java与JNI是Sun Microsystems, Inc.在美国以及其他国家地区的商标或注册商标。

时间: 2024-10-24 01:07:11

Hadoop快速入门的相关文章

干货|大数据Hadoop快速入门教程

1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效.可伸缩的特点. Hadoop的核心是YARN,HDFS,Mapreduce,常用模块架构如下 2.HDFS 源自谷歌的GFS论文,发表于2013年10月,HDFS是GFS的克隆版,HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障 HDFS简化了文件一致性

《R语言游戏数据分析与挖掘》一2.1 开发环境准备和快速入门

2.1 开发环境准备和快速入门 2.1.1 R语言简介 R语言的前身是S语言,S语言是由AT &T Bell实验室的Rick Becker.John Chambers和Allan Wilks开发的一种用来进行数据探索.统计分析.作图的解释型语言.最初S语言的实现版本主要是S-PLUS.S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善.而R语言最初由来自新西兰大学的Ross Ihaka和Robert Gentleman开发(由于他们的名字都以R开头,所以该软

《Spark 官方文档》Spark快速入门

快速入门 本教程是对Spark的一个快速简介.首先,我们通过Spark的交互式shell介绍一下API(主要是Python或Scala),然后展示一下如何用Java.Scala.Python写一个Spark应用.更完整参考看这里:programming guide 首先,请到Spark website下载一个Spark发布版本,以便后续方便学习.我们暂时还不会用到HDFS,所以你可以使用任何版本的Hadoop.   使用Spark shell交互式分析 基础 利用Spark shell 很容易学

《HBase管理指南》一1.2 快速入门

1.2 快速入门 HBase有两种运行模式:单机运行(Standalone)模式和分布式运行(Distributed)模式.单机运行模式是HBase的默认模式.在单机模式中,HBase会使用一个本地文件系统来代替HDFS,并且在同一个JVM上运行所有的HBase守护进程和HBase管理的ZooKeeper实例. 本节将介绍单机HBase的安装.内容包括:安装HBase.以单机模式启动HBase.在HBase Shell中创建一张表.插入记录.清除记录以及关闭单机模式HBase实例. 1.2.1

Openstack云计算快速入门

Openstack云计算--快速入门(1) http://blog.chinaunix.net/uid-22414998-id-3263551.html OpenStack云计算----快速入门(2)http://blog.chinaunix.net/uid-22414998-id-3265685.html OpenStack镜像管理 http://blog.chinaunix.net/uid-22414998-id-3272059.html   研究了一段时间,看了一些文档终于明白OpenSt

Oozie 快速入门

设想一下,当你的系统引入了spark或者hadoop以后,基于Spark和Hadoop已经做了一些任务,比如一连串的Map Reduce任务,但是他们之间彼此右前后依赖的顺序,因此你必须要等一个任务执行成功后,再手动执行第二个任务.是不是很烦! 这个时候Oozie(驯象人,典故来自评论一楼)就派上用场了,它可以把多个任务组成一个工作流,自动完成任务的调用. 简介 Oozie是一个基于工作流引擎的服务器,可以在上面运行Hadoop的Map Reduce和Pig任务.它其实就是一个运行在Java S

[大数据之Spark]——快速入门

本篇文档是介绍如何快速使用spark,首先将会介绍下spark在shell中的交互api,然后展示下如何使用java,scala,python等语言编写应用.可以查看编程指南了解更多的内容. 为了良好的阅读下面的文档,最好是结合实际的练习.首先需要下载spark,然后安装hdfs,可以下载任意版本的hdfs. Spark Shell 交互 基本操作 Spark Shell提供给用户一个简单的学习API的方式 以及 快速分析数据的工具.在shell中,既可以使用scala(运行在java虚拟机,因

数据库快速入门教程--视频

数据库快速入门教程--视频 下载地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240579 本课程是这个课程体系的核心之一,为软件开发人员所需数据库知识的学习教材,而不是培训一个DBA(数据库管理员),更具体的说是为Web开发程序员所需数据库知识的学习教材.基于培养程序员的目标,本课程对数据库和SQL语句的相关知识进行了深刻地阐明和分析,学习的重点是标准SQL语句的学习的掌握.常用数据库MySQL

json快速入门学习教程

JSON快速入门 计算机语言中三种数据 1.标量 一个单独的字符串或者数字 比如"成都":7  2.序列 若干相关的数据按一定的顺序并列在一起(数组或列表) 比如"北京,成都":7 8 9 3.映射 名/值对 即数据名称与相对应的值 又称散列(hash)或字典 字典等等 比如 "四川省会:成都" JSON(JavaScript Object Notation)是一种轻量级的数据交换格式 JSON的四个基本规则 (1)并列的数据之刘用逗号(&quo