`

hadoop快速入门,初步感受分布式文件系统

阅读更多

很抱歉,本篇文章有误,今(20100225)天已经修正。(请注意官方中文文档已经落后了,请尽量看英文文档)

 

一、准备工作:
Hadoop分布式文件系统,架构和设计 :http://hadoop.apache.org/common/docs/r0.20.2/cn/hdfs_design.html
Hadoop快速入门:http://hadoop.apache.org/common/docs/r0.20.2/cn/quickstart.html
SSH认证登录(可后看):http://www.ibm.com/developerworks/cn/linux/security/openssh/part1/index.html

二、下面实际操作,初步感受分布式文件系统:


1、ssh安装(linux:openssh,windwos:要先安装Cygwin),略过

2、下载Hadoop的发行版,从Apache的某个镜像服务器上下载最近的 稳定发行版:

http://hadoop.apache.org/core/releases.html,解压所下载的Hadoop发行版。

$ wget http://labs.renren.com/apache-mirror/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
$ tar -zxvf hadoop-0.20.2.tar.gz
$ cd hadoop-0.20.2

3、编辑 conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径

4、稍微熟悉下使用文档

$ bin/hadoop //将会显示hadoop 脚本的使用文档。

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

    * 单机模式
    * 伪分布式模式
    * 完全分布式模式

5、单机模式的操作方法

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

 下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output

目录。
 
 $ mkdir input
 $ cp conf/*.xml input

 我们看看下面的查找:

 $ egrep dfs[a-z.]+ input/*

 输出:
 input/hadoop-policy.xml:    dfsadmin and mradmin commands to refresh the security policy in-effect.

 运行hadoop命令:

 $ bin/hadoop jar hadoop-0.20.2-examples.jar grep input output 'dfs[a-z.]+'

 执行上面的命令,会有一些输出日志,随便看看,了解了解。

 $ cat output/*

 结果:
 1       dfsadmin

6、伪分布式模式的操作方法

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

6.1、配置 (中文官方文档落后了,我上面的链接是中文文档,请自己转到英文文档看):

 

conf/core-site.xml

<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

 conf/hdfs-site.xml

<configuration>
        <property>
                <name>dfs.name.dir</name>
                <value>/home/lighttpd/hadoopfs/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/home/lighttpd/hadoopfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

 conf/mapred-site.xml

<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>localhost:9001</value>
        </property>
</configuration>

 


6.2、免密码ssh设置(参考我的另外一篇文章:http://jiajun.iteye.com/blog/621309)

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

$ ssh localhost

如果不输入口令就无法用ssh登陆localhost,执行下面的命令:

$ ssh-keygen -t dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

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

$ bin/hadoop namenode -format

注意看看输出日志哦,有助于理解。

6.4、启动Hadoop守护进程:


$ bin/start-all.sh

如果你设置了ssh的RSA认证,就不用输入密码,不然就要输入三次密码登录

6.5、日志

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

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

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

浏览观察一下,会看懂甚至更好的理解一些东西。


6.7、将输入文件拷贝到分布式文件系统:

$ bin/hadoop fs -put conf input //把本地的文件夹conf拷贝到分布式文件系统input文件夹

$ bin/hadoop fs -ls input //浏览分布式文件系统中的input文件

上面的命令是hadoop的,你可以输入下面命令,获取帮助

$ bin/hadoop fs

6.8、运行发行版提供的示例程序:

$ 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/*

6.9、你可以多试试bin/hadoop fs 下的java FsShell,和操作本地文件差不多,很快能熟悉。

6.10、最后,完成全部操作后,可以停止守护进程:

$ bin/stop-all.sh

bin下面有很多shell脚本这时可以适当看看名称,猜个大概意思。

下面我会继续给大家一个完全分布式模式的操作方法,敬请稍候。

4
1
分享到:
评论
3 楼 iammonster 2010-03-24  
enhydra 写道
请教你们应用它的场景是怎样?

稍作回答:通信协作(分布式计算)、分布式存储(无限扩展廉价存储,解决存储、速度、容错等)、基于Hadoop的分布式并行编程,所谓的云计算可窥一斑。用在爬虫搜索引擎等威力不小。
2 楼 enhydra 2010-03-24  
请教你们应用它的场景是怎样?
1 楼 ccxw1983 2010-03-23  

相关推荐

    第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf

    第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件系统.pdf第四章(Hadoop大数据处理实战)Hadoop分布式文件...

    Hadoop分布式文件系统——翻译

    ### Hadoop分布式文件系统(HDFS):关键技术与实践 #### 摘要 Hadoop分布式文件系统(HDFS)是Hadoop项目的核心组件之一,旨在为大规模数据集提供高效可靠的存储解决方案。HDFS的设计原则强调了数据的分布式存储与...

    《Hadoop大数据开发实战》教学教案—03HDFS分布式文件系统.pdf

    Hadoop 大数据开发实战教学教案—03HDFS 分布式文件系统.pdf 本节课程主要介绍 HDFS 的概念、HDFS 存储架构和数据读写流程、HDFS 的 Shell 命令、Java 程序操作 HDFS、Hadoop 序列化、Hadoop 小文件处理、通信机制 ...

    hadoop分布式云平台基础视频.zip

    01_hadoop_hdfs1分布式文件系统01.mp4 02_hadoop_hdfs1分布式文件系统02.mp4 03_hadoop_hdfs1分布式文件系统03.mp4 04_hadoop_hdfs1分布式文件系统04.mp4 05_hadoop_hdfs1分布式文件系统05.mp4 06_hadoop_hdfs1...

    基于Hadoop HDFS的分布式文件系统备份与恢复系统.zip

    基于Hadoop HDFS的分布式文件系统备份与恢复系统 内容概要 本项目是一个基于Hadoop HDFS的分布式文件系统备份与恢复系统。它包括备份节点(BackupNode)和数据节点(DataNode)的管理,以及与NameNode的通信。...

    基于Hadoop分布式文件系统的分析与研究.pdf

    HDFS(Hadoop Distributed File System)是Hadoop的分布式文件系统,它设计用来运行在普通的硬件上,具有高容错性的特点,能够检测和处理硬件故障。HDFS的核心概念包括NameNode和DataNode,其中NameNode是管理文件...

    hdfs.rar_hadoop_hadoop ubuntu_hdfs_分布式系统_基于hadoop

    描述中提到"基于Java的Hadoop分布式文件系统",意味着Hadoop是用Java语言实现的,这使得它可以在任何支持Java的平台上运行。HDFS的设计目标是提供高吞吐量的数据访问,尤其适合大规模数据集的批处理应用。它的设计...

    云计算应用实验报告 武汉理工大学云计算应用 hadoop单机模式和伪分布式

    同时,实验也强调了SSH在分布式系统中的重要性,以及如何通过配置文件调整Hadoop的行为。 **实验建议:** 为了提高实验效果,学生可以尝试使用更复杂的数据集,或者实现其他MapReduce程序,如PageRank算法,以增强...

    Hadoop分布式文件系统:架构和设计.doc

    Hadoop分布式文件系统架构和设计 Hadoop分布式文件系统是Hadoop生态系统的核心组件之一,负责存储和管理大规模数据集。下面将对Hadoop分布式文件系统的架构和设计进行详细介绍。 一、前提和设计目标 Hadoop分布式...

    Hadoop分布式文件系统:架构和设计要点

    《Hadoop分布式文件系统:架构和设计要点》 Hadoop分布式文件系统(HDFS)是为处理大规模数据而设计的一种可扩展、可靠的分布式文件系统。本文将深入探讨其架构和设计的核心要点。 首先,HDFS的设计目标是针对硬件...

    基于Hadoop与FFmpeg的多媒体分布式处理系统的设计.pdf

    在探讨基于Hadoop与FFmpeg的多媒体分布式处理系统设计的过程中,我们可以从几个关键方面来深入分析系统的设计与实施,这些方面包括Hadoop的分布式文件系统(HDFS)、MapReduce编程模型、FFmpeg在多媒体处理上的应用...

    hadoop分布式文件系统搭建

    ### hadoop分布式文件系统搭建 #### 一、配置hadoop分布式文件系统环境搭建 ##### 1. 准备 在开始搭建Hadoop分布式文件系统之前,首先需要确保环境准备妥当。具体步骤包括: - **检查端口占用情况**:通过`...

    高可用性的HDFS-Hadoop分布式文件系统深度实践.part1.rar

    《高可用性的HDFS——Hadoop分布式文件系统深度实践》专注于Hadoop分布式文件系统(hdfs)的主流ha解决方案,内容包括:hdfs元数据解析、hadoop元数据备份方案、hadoop backup node方案、avatarnode解决方案以及最新...

    分布式文件系统与传统文件系统的比较研究.pdf

    而Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)作为分布式文件系统的一种,被广泛应用于大数据处理领域。在对比传统文件系统与分布式文件系统时,需要从多个维度进行分析,这包括文件系统的架构...

    Hadoop HDFS分布式文件系统 常用命令汇总

    Hadoop HDFS分布式文件系统常用命令汇总 Hadoop HDFS分布式文件系统是大数据存储和处理的核心组件。作为一个分布式文件系统,HDFS提供了高可靠性、高可扩展性和高性能的存储解决方案。在使用HDFS时,经常需要执行...

    分布式文件系统综述.pdf

    同时,分布式文件系统还需要高效的数据定位机制,比如通过分布式哈希表(Distributed Hash Table, DHT)等方式,快速定位存储节点,提升系统响应速度和吞吐量。 随着分布式存储技术的发展,对于存储系统的架构设计...

Global site tag (gtag.js) - Google Analytics