真正的分布式计算实验需要好多台服务器,因此我暂时只在本机做了1和2两种模式,这里做个笔记,发表是最好
的记忆嘛。
apahce的网站上有hadoop的安装文档,非分布式计算安装文档说明:http://hadoop.apache.org/common/docs/current/single_node_setup.html
hadoop的运行模式有三种:
1 单节点模式
2 伪分布式模式
3 分布式模式
关于hadoop配置文件的使用说明和常用命令,这里有篇文章,是中文的哦:
http://www.iteye.com/topic/284849
关于平台的支持
hadoop对linux支持得非常好,但是对于win32,按照apache的说法,可以是开发环境,对于生产环境没有做很好的测试,因此我也是基于linux系统来做实践的,我装的是ubantu。
必须准备的软件
1:jdk1.6以上(包括1.6),必须的
2:ssh,如果没有安装,在ubantu环境下,只需要输入ssh,系统会提示你安装。或者直接执行以下两行命令
sudo apt-get install ssh
sudo apt-get install rsync
3:hadoop发行包,到http://hadoop.apache.org去下载,我下的是hadoop-0.20.2,下载到本地的文件是hadoop-0.20.2.tar.gz,我解压的目录是/home/james/devlopment/hadoop-0.20.2。
单机模式启动
在hadoop根目录依次执行以下命令
mkdir input
cp conf/*.xml input
bin/hadoop jar hadoop-*-examples.jar grep input output
'dfs[a-z.]+'
cat output/*
上面这几个命令的意思是:
第一行,在hadoop根目录新建一个input目录
第二行,将conf目录下的所有xml文件复制到刚才新建的input目录
第三行,执行hadoop命令,统计input目录包含正则表达式'dfs[a-z.]+'匹配的字符串数量,并将结果输出到output目录
第四行,打印出统计结果
单机模式不可能用在实际的分布式环境中,它一般被用来检验MapReduce程序是否有问题。这个比较简单,就不多说了。
执行单机模式的时候,必须保证hadoop的配置文件没有被修改过。
伪分布式启动
所谓伪分布式,其实是模拟分布式。在实际的分布式计算环境中,每个节点都是一台独立服务器,在伪分布式里,只是启动了多个java进程,模拟了几个必须的节点。
在hadoop根目录
修改conf/core-site.xml
,加入以下信息到<configuration>标签对里面:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
加完之后如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改conf/hdfs-site.xml为如下:
<configuration>
<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>
设置没有密码验证的ssh
先测试下,在本机命令行下执行 ssh localhost,如果要求你输入密码,那就要设置没有密码验证的ssh,依次输入如下命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>
~/.ssh/authorized_keys
启动
先格式化hdfs文件系统
bin/hadoop namenode -format
再启动hadoop进程
bin/start-all.sh
如果配置没什么问题,那么hadoop就启动了,启动过程中,有一些信息打印出来,告诉你日志的输出目录。下面做个测试,执行以下命令
bin/hadoop fs -put conf inpu
这个命令的意思是将当前目录下的conf目录的内容拷贝到hdfs文件系统的input目录
再执行这个命令
bin/hadoop jar hadoop-*-examples.jar grep input
output 'dfs[a-z.]+'
再执行这个命令
bin/hadoop fs -get output output
这句意思是将hdfs文件系统的output目录你内容拷贝到本地的output目录
cat output/*
打印本地output目录内容,其实就是打印执行结果拉。
或者直接在hdfs文件系统上查看:
bin/hadoop fs -cat output/*
web界面
下面是默认地址和端口
NameNode
http://localhost:50070/
JobTracker
http://localhost:50030/
NameNode界面,主要显示以下信息:
启动时间
编译时间
版本
HDFS文件目录结构
NameNode日志信息
分布式集群节点信息,如果死亡的节点,活动的节点,HDFS空间大小和使用率以及存储状态
JobTracker界面,其实是一个MapReduce管理界面,里面描述了以下信息
分布式计算的任务调度信息
集群分布式计算信息
如 正在运行的计算
已经完成的计算
失败的计算
本地的日志
分享到:
相关推荐
总结起来,"win下maven创建的hadoop程序demo"是一个涵盖了Windows开发环境、Maven项目管理、Hadoop分布式计算平台以及MapReduce编程模型的实践案例。这个案例旨在帮助开发者了解和掌握在Windows上使用Maven构建...
这个压缩包涵盖了MapReduce、单词统计、HDFS(Hadoop分布式文件系统)的基本操作、web日志分析以及Zookeeper的基础使用,这些都是大数据处理和分布式计算领域的关键知识点。 【MapReduce】是Hadoop的核心之一,它是...
【Hadoop运行DEMO详解】 Hadoop是一款开源的分布式计算...通过这个DEMO,你不仅能学会如何在Hadoop上运行一个简单的并行计算任务,还能了解到分布式计算的基本概念和Hadoop的工作流程,为更高级的Hadoop应用打下基础。
总的来说,"hadoop-demo"这个压缩包是一个宝贵的学习资源,它提供了实际操作Hadoop的机会,有助于开发者和学习者深入理解分布式计算和大数据处理的概念,提升他们在这一领域的技能。通过逐步研究和实践压缩包中的...
【Hadoop Demo WordCount】是Hadoop初学者入门的经典示例,它展示了如何利用Hadoop分布式计算框架处理大规模文本数据。这个程序的核心在于统计文本中各个单词出现的次数,是理解MapReduce编程模型的一个基础应用。 ...
总之,`HadoopDemo`项目通过`Java API`展示了与HDFS交互和使用MapReduce进行分布式计算的实践。理解并掌握这些源码,有助于开发者更高效地利用Hadoop处理大规模数据,从而在大数据分析、机器学习等领域发挥重要作用...
《HadoopDemo:初识与实践》 HadoopDemo是一个专为Hadoop初学者设计的项目,它通过一系列实例展示了Hadoop的核心功能和使用方法。Hadoop,作为大数据处理领域的重要框架,以其分布式、容错性和扩展性著称,是理解和...
Fourinone是淘宝自主研发的一个分布式并行计算框架,它巧妙地整合了Hadoop、ZooKeeper、MQ(消息队列)和分布式缓存这四大关键组件,为开发者提供了全面的分布式计算解决方案。 **Fourinone的功能特性:** 1. **...
通过这个HadoopDemo项目,初学者不仅能掌握Hadoop的基本操作,还能对Hadoop的分布式计算原理有更深入的理解。同时,与Hive的集成展示了如何在大数据处理中结合使用不同的工具,提高数据分析的效率。总之,这是一个...
【正文】 Hadoop是一个开源的...通过这样的实践,开发者可以深入理解分布式计算的原理,以及如何利用Hadoop解决实际问题。同时,这个项目也是学习和提升Java编程技能、MapReduce模型以及大数据分析能力的良好实践。
执行wordcountDemo时,用户需要将输入文件上传到Hadoop分布式文件系统(HDFS),然后提交MapReduce作业。一旦作业完成,Hadoop会输出每个单词及其计数到指定的输出目录。 这个简单的示例展示了Hadoop MapReduce的...
Hadoop是一个开源框架,主要用于处理和存储大量数据,它利用分布式计算模型实现高效的数据处理。 【描述】中的“hadoop test cesi 代码 粒子 例子”可能是指进行Hadoop测试的代码示例,其中“cesi”可能是项目或...
Hadoop是由Apache软件基金会开发的一个分布式计算系统,它设计的初衷是处理和存储海量数据。其核心由两个主要部分组成:Hadoop Distributed File System (HDFS) 和 MapReduce。 1. **Hadoop Distributed File ...
在大数据处理领域,MapReduce是一种分布式计算模型,由Google提出并广泛应用。这个示例是关于如何使用...通过学习和实践这个示例,你可以更好地掌握分布式计算的核心思想,并将其应用到更复杂的大型数据处理项目中。
在大数据处理领域,SpringBoot与Hadoop的整合已经成为一种常见的实践,这主要得益于SpringBoot的轻量级特性以及Hadoop在分布式存储和计算上的强大能力。本案例代码demo旨在帮助开发者更好地理解和应用这一技术组合,...
在这个"**HadoopDemo-master**"项目中,你将有机会实践这些概念,通过实际操作加深理解。MapReduce的编程模型、HDFS的文件操作、Zookeeper的集群管理以及Hive的数据分析都将是你探索的重点。这不仅有助于提升你的...
在当前的数字化时代,数据量呈爆炸性增长,传统的数据处理方式...通过学习和实践这样的项目,你可以深入了解分布式计算、大数据管理和实时搜索分析的综合应用,这对于在人工智能领域工作的人来说是非常有价值的技能。
它基于分布式文件系统HDFS(Hadoop Distributed File System),并采用MapReduce计算模型进行数据处理。本实例将深入探讨Hadoop的核心组件、工作原理以及如何通过"hadoop_demo"这个示例来实践Hadoop的操作。 首先,...
"hadoop"指代的是Apache Hadoop,一个开源的分布式计算框架,常用于大规模数据处理;"demo"表示演示或示例,暗示用户将有机会亲手运行和分析代码;"源码"则意味着用户可以深入理解代码结构,这对于深入学习Hadoop和...