小白学数据,只为记录学习进程,对每个问题有新的理解会及时更正。
一、Hadoop 1.x 和 Hadoop 2.x的区别:
1.x使用 MapReduce进行调度和数据的计算
2.x使用 MapReduce进行数据的计算,使用Yarn进行资源的调度
二、Hadoop的主要组成:
1.Hadoop Common:是Hadoop的底层模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。
2.HDFS:主要用于存储数据,里面有NameNode和DataNode,Namenode主要用来存储元数据,相当于数据的目录;DataNode用来存储真正的数据。
3.MapReduce:分为两部分,Map和Reduce。Map主要用于将一个任务拆分成很多个子任务,让后面的节点分布进行运算,Reduce将节点计算的结果合并成最终的输出。
4.Yarn:由四个部分组成,ResourceManager(RM),NodeManager(NM),ApplicationMaster(AM),Container。RM相当于部门经理,是全局的资源管理器,负责整个资源的管理和分配;NM相当于小组的组长,负责某个节点上的资源的管理和分配;AM相当于项目经理,用户每提交一个应用程序,AM接到这个程序,负责和RM,NM沟通,去获得相应的资源;Container是一个资源抽象,封装某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
三、Linux的压缩和解压命令
tar包:
解压:tar zxvf filename.tar
压缩:tar czvf filename.tar dirname
gz命令
解压:gunzip filename.gz
压缩:gzip filename.tar,gz
bz2命令
解压:bz2 -d filename.bz2
解压:bunzip2 filename.bz2
压缩:bz2 -z filename
zip命令
解压:unzip filename.zip
压缩:zip filename.zip dirname
四、分布式系统
由多个节点(电脑)共同组成一个节点(电脑)去解决问题。但用户感知不到这是很多个节点组成的单个节点,相当于一个节点。
分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。