hadoop是什么?

解决的问题:

  海量数据的存储(HDFS):供hbase,mapreduce进行处理

  海量数据的分析(MapReduce)

  资源管理调度(YARN)

搜索引擎:

  爬虫系统+站内搜索

  爬虫对html网页进行抓取,数据量较大,需要进行海量数据存储,传统存储手段已经无法满足需求

 

hadoop具体能干什么

1.擅长海量日志分析

海量数据存储的解决方案:

程序执行相关命令:

向hdfs中上传文件至根目录:hadoop fs -put filename hdfs://hostname:port/
从hdfs中下载文件:hadoop fs -get hdfs://hostname:port/filename
创建目录:hadoop fs -mkdir hdfs://hostname:port/wordcount
查看目录下的类容: -ls
查看某个文件的类容: -cat
执行mapreduce程序:
hadoop jar filename.jar pi 5 5

2.hdfs的实现机制

hdfs通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式,就是一个虚拟的工作目录

文件存储到hdfs集群中去的时候是被切分成block的

文件的block存放在若干台datanode节点上

hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理

namenode记录每个文件在datanode所存放的位置

每个block在集群中会存储多个副本,好处是可以提高数据的可靠性和访问的吞吐量

 

3.mapreduce

hadoop fs -mkdir hdfs://hostname:9000/wordcount

hadoop fs -mkdir /wordcount/input

hadoop fs -mkdir /wordcount/output

hadoop fs -put test.txt /wordcount/input  将文件放到hdfs中

hadoop jar filename.jar  wordcount /wordcount/input /wordcount/output

 

4.hdfs实现机制

将文件分块放置于不同的DataNode下:DataNode的路径如下/hadoop/data/dfs/data/,每个block在集群中会存储多个副本

NameNode中记录了元数据所存放的位置,客户端通过namenode对分布式的数据进行操作

hdfs文件的内容不能修改

 

posted on 2018-03-09 23:57  sonofthesea  阅读(116)  评论(0编辑  收藏  举报