Hadoop学习过程中的一些笔记
参考书籍《Hadoop大数据技术原理与应用》清华大学出版社 黑马程序员/编著
1.什么是大数据?大数据的四个特征是什么?
答:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合
具有海量数据规模、快速数据流转、多样数据类型一级价值密度四大特征。
2.另外,在Hadoop架构里面,元数据的含义是什么?
答:文件的大小、位置、权限
3.本书里面使用的Hadoop是哪个发行版本?
答:apache版本,优点:版本更迭快; 缺点:更迭快带来的版本维护、兼容性、补丁不周到。
4.在1.x版本中,namenode和datanode作用?
答:namenode:集群中的主节点,管理元数据,主要用于管理集群中的各种数据;
datanode:集群当中的从节点,主要用于储存集群当中的各种数据。
配置集群时的一些命令:
ssh-keygen -t rsa //启用ssh
ssh-copy-id hadoop01
chkconfig iptables off //关防火墙
mac地址文件
# vi /etc/udev/rules.d/70-persistent-net.rules
第三章HDFS
Hadoop的核心是HDFS和MapReduce。其中,HDFS是解决海量大数据文件存储的问题,是目前应用最广泛的分布式文件系统。
HDFS 源于 Google 在2003年10月份发表的GFS(Google File System)论文。
解决传统文件储存瓶颈问题--》纵向扩容:加磁盘和内存。横向扩容:增加服务器数量。
基本概念:HDFS(Hadoop Distributed Filesystem)是一个易于扩展的分布式文件系统,运行在成百上千台低成本的机器上。它与现有的分布式文件系统有许多相似之处,都是用来存储数据的系统工具,而区别于HDFS具有高度容错能力,旨在部署在低成本机器上。HDFS主要用于对海量文件信息进行存储和管理,也就是解决大数据文件(如TB乃至PB级)的存储问题。
Namenode:NameNode是HDFS集群的主服务器。一旦NameNode关闭,就无法访问Hadoop集群。NameNode主要以元数据的形式进行管理和存储,用于维护文件系统名称并管理客户端对文件的访问;NameNode记录对文件系统名称空间或其属性的任何更改操作;HDFS负责整个数据集群的管理,并且在配置文件中可以设置备份数量,这些信息都由NameNode存储。
Datanode:DataNode是HDFS集群中的从服务器。文件系统存储文件的方式是将文件切分成多个数据块,这些数据块实际上是存储在DataNode节点中的,因此DataNode机器需要配置大量磁盘空间。它与NameNode保持不断的通信,DataNode在客户端或者NameNode的调度下,存储并检索数据块,对数据块进行创建、删除等操作,并且定期向NameNode发送所存储的数据块列表。
Block:每个磁盘都有默认的数据块大小,这是磁盘进行数据读/写的最小单位,HDFS同样也有块(block)的概念,它是抽象的块,而非整个文件作为存储单元,在Hadoop2.x版本下,默认大小是128M,且备份3份,每个块尽可能地存储于不同的DataNode中。按块存储的好处主要是屏蔽了文件的大小,提供数据的容错性和可用性。
Rack:是用来存放部署Hadoop集群服务器的机架,不同机架之间的节点通过交换机通信,HDFS通过机架感知策略,使NameNode能够确定每个DataNode所属的机架ID,使用副本存放策略,来改进数据的可靠性、可用性和网络带宽的利用率。
元数据:元数据从类型上分可分三种信息形式,一是维护HDFS文件系统中文件和目录的信息,二是记录文件内容存储相关信息,三是用来记录HDFS中所有DataNode的信息,用于DataNode管理。
HDFS优缺点
优点:高容错、流式数据访问、支持超大文件高数据、吞吐量
缺点:高延迟、不适合小文件存取、不适合并发写入