什么是hadoop?
hadoop = teh hadoop projects
hadoop体系架构生态圈主要包含common,avro,mapreduce,hdfs,pig,hive(数据仓库),hbase,zookeeper,oozie(任务调度),sqoop(数据转移hive ↔ mysql)等组件
hadoop核心: hdfs(分布式文件系统)+ mapreduce (计算)+yarn(运算资源调度系统,管理硬件资源,内存/cpu等)。
HDFS架构
hdfs中的一些常见名词
block:一个文件分块,默认64M。当写入一个文件到 HDFS 时,它被切分成数据块,块大小是由配置文件 hdfs-default.xml 中的参数 dfs.blocksize (自 hadoop-2.2 版本后,默认值为 134217728字节即 128M,可以在 hdfs-site.xml 文件中改变覆盖其值。
namenode:保存整个文件系统的目录信息,文件信息以及文件相应的分块信息。(单点,提供服务的namenode只有一个)
datanode:用于存储blocks(文件块)。
hdfs的HA策略:namenode一旦宕机,整个文件系统将无法工作,如果namenode中的数据丢失,整个文件系统也就丢失了,从2.x开始,hdfs支持namenode的active-atandy模式(主从)。
在hdfs上的文件存储
dbossdat1001.txt 600G
同一个文件快在不同节点中有多个副本,当某个节点的数据失效时,可以从另外的节点获取到文件的内容,当数据失效时,副本有效个数会减少,hadoop可以自动侦测到这一点,从有效的副本复制,自动恢复到正常的副本个数。
hdfs中的namenode和datanode
如上图所示,在hdfs中,分为两个部分:namenode和datanode,其中那么node只有一个节点,datanode则有多个节点。但从hadoop2.0版本之后开始,namenode有主从两个节点防止节点挂掉。
hdfs总的架构图mapreduce
mapreduce编程模型总图中可以看到,mapreduce是将大任务分割成若干的小任务,然后在汇总得出结果。
网友评论