大数据实践课——HDFS分布式文件系统

  • 分布式存储

Hadoop大数据部署实战课程设计的摘要_HDFS

Master主节点:
     存放文件系统的目录树状结构,
slave节点:
       放真实的数据
block块:
        版本1:64m
        版本2:128m
replication:
        副本机制,3个
namespace:
         命名空间管理,管理着整个服务器集群的所有文件。


传统解决方案:
 移动数据:将数据向计算移动
 移动计算:将计算向数据移动
 1、任务分解
 2、结果汇总

hadoop是一个开源的、可靠的、可扩展的分布式并行计算框架。
 GFS     MapReduce    BigTable
     HDFS(分布式文件系统)            
          角色:
               1.NameNode:文件系统大管家,监管着文件系统的目录和结构,由他维护文件系统的数据元素(文件名、block location)
                2.DataNode:存放真实数据(block数据)
               3.client:客户端
      MapReduce(计算框架)    
      HBase 数据库,基于列式存储的数据库
  • 分布式计算
  • Hadoop大数据部署实战课程设计的摘要_HDFS_02

  • Hadoop(一种生态/平台)介绍
    Hadoop是一个开源的、可靠的、可扩展的分布式并行计算框架
    -可靠的:主要是副本机制…
    -可扩展的
    -分布式并行计算框架
    分布式文件系统HDFS+计算框架MapReduce
    Hadoop不是数据库,Hbase才是数据库(基于列式存储的数据库)
    底层语言:Java
    面向大数据处理
    大数据:目前的软硬件环境无法处理的数据,只能依靠特殊方式来处理
    离线分析:并不是在生产系统上直接对数据进行处理,需要把生产环境的数据导入到另外的环境中(数据仓库),并不是实时分析
    Hadoop使用行业:电子商务、京东、淘宝
  • Hadoop架构
  • Hadoop大数据部署实战课程设计的摘要_Hadoop_03

·hive是基于Hadoop的一个工具,提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行处理。
·Hbase是一个开源的,基于列存储的分布式数据库
·HDFS是一个分布式文件系统。有着高容错性特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集的应用程序。
·MapReduce是一种编程模式,用于大规模数据集(大于1TB)的并行运算。
    
 HDFS(分布式文件系统)角色:
   1.NameNode:文件系统大管家,监管着文件系统的目录和结构,由他维护文件系统的数据元素(文件名、block location)
   2.DataNode:存放真实数据(block数据)
   3.client:客户端
  • Hadoop的架构1.x
Client:
HDFS:
	NameNode:
	DataNode:
MapReduce中两个核心进程:(JobTacker TaskTacker只存在于1.x版本,2.x版本中为yarn)
	JobTacker:只有一个,主节点,实现作业调度和监视每个节点上的作业执行情况
	TaskTacker:从节点,作业执行情况主动向JobTacker进行汇报
Java基础里的核心知识点:
	1、面向对象
	2、反射机制
	3、IO socket TCP/UDP
	4、Java设计模式
		单例
		工厂(实例、静态)
		观察者
		代理(静态、动态)
	基于接口的代理:jdk
	基于类的代理:cglib
Hadoop的核心设计
	两大核心
	1、MapReduce
		Map:任务分解
		Reduce:结果的汇总
	2、HDFS
		NameNode:文件管理
		DataNode:文件存储
		Client:文件获取

	元数据:描述数据的数据
		例如:表明,字段、数据类型
	真实数据:实际数据
HDFS:
	提供分布式存储机制,提供可线性增长的海量存储能力
	自动数据冗余,无需使用Raid,无需另行备份
	为进一步分析计算提供数据基础

	架构模型:
		文件元数据MetaData,文件数据:
			元数据
			数据本身
		(主)NameNode节点保存文件元数据:单节点
		(从)DataNode节点保存文件Block数据:多节点
		DATaNode与NameNode保持心跳,提交Block列表
		HdfsClient与NameNode交互元数据信息
		HdfsClient与DataNode交互文件Block数据
命令:
 	jps					-查看当前开启的进程
 	start-dfs.sh		-启动Hadoop重点hdfs进程
	stop-dfs.sh			-关闭hdfs进程
	//SecondaryNameNode并不是NameNode的副本
	
	内存受限问题解决办法:
		Fell(联邦机制)
	NameNode单点故障问题解决办法:
		HA模式(高可用模式)