hadoop2笔记

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,创始人是Doug Cutting。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Apache Hadoop起源:
  1. Apache Lucene开源的高性能全文检索工具包
  2. Apache Nutch开源的Web搜索引擎
  3. Google三大论文MapReduce/GFS/BigTable
  4. Apache Hadoop海量数据处理

Hadoop 项目的四大模块
  1. Hadoop Common
  2. Hadoop Distributed File System (HDFS):
  3. Hadoop YARN
  4. Hadoop MapReduce

YARN是云的操作系统,作用如下:
  1. 给部署在YARN上的应用,分配资源。
  2. 管理资源
  3. JOB/APPLICATION 调度

YARN是相当于Win7,XP系统,给QQ、YY、播放器等等,分配一些资源(CPU、内存、网络IO、磁盘IO等),管理资源。

Hadoop 版本:
  1. 以0.20.x和1.x.x 版本为主
  2. 0.23.x 版本为主
  3. 2.x.x 版本为主 2.2.0比较好的版本


需要掌握的技能如下:
  1. 云计算,Hadoop 2.x
  2. 服务总线,SOA/OSB,Dubble
  3. 全文检索,Lucunce、Solr、Nutch

比较稳定的cenOS版本:cenOS6.4

HDFS模块功能
  1. NameNode是主节点,存储文件的元数据如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在DataNode等。
  2. DataNode在本地文件系统存储文件块数据,以及块数据的校验和。
  3. Secondary NameNode用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

YARN模块功能
  1. ResourceManager
     1)处理客户端请求
     2)启动/监控ApplicationMaster
     3)监控NodeManager
     4)资源分配与调度
  2. NodeManager
     1)单个节点上的资源管理
     2)处理来自ResourceManager的命令
     3)处理来自ApplicationMaster的命令
  3. ApplicationMaster
     1)数据切分
     2)为应用程序申请资源,并分配给内部任务
     3)任务监控与容错
  4. Container
     1对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

离线计算框架MapReduce
  1. 将计算过程分为两个阶段,Map和Reduce
     1)Map阶段并处理输入数据
     2)Reduce阶段对Map结果进行汇总'
  2. Shuffle连接Map和Reduce两个阶段
     1)Map Task将数据写到本地磁盘
     2)Reduce Task从每个Map Task上读取一份数据
  3. 仅适合离线批处理
     1)具有很好的容错性和扩展性
     2)适合简单的批处理任务
  4. 缺点明显
     1)启动开销大、过多使用磁盘导致效率低下等

日志文件
  1. 启动日志文件目录$HADOOP_HOME/logs
  2. 分析日志文件的格式【log】和【out】
     1).log:通过log4j记录的,记录大部分应用程序的日志信息
     2).out:记录标准输出和标准错误日志,少量记录
  3. 日志文件的命名规则
     【框架名称-用户名-进程名-主机名-日志格式后缀】

bin/hdfs dfs -put
bin data etc include lib libexec LICENSE.txt logs NOTICE.txt README.txt

bin/hdfs dfs -put ./wc.txt /data01   把wc.txt复制到/data01目录下
bin/hdfs dfs -ls /data01             查看/data01目录下的文件
bin/hdfs dfs -cat /data01/wc.txt     查看wc.txt内容
bin/hdfs dfs text /data01/wc.txt     查看wc.txt内容
bin/hdfs dfs tail /data01/wc.txt     查看wc.txt文件尾部1K字节的内容,一般用于查看日志

hdfs常用命令如下:
cat   将路径指定文件的内容输出到stdout。
chgrp 改变文件所属的组
chmod 改变文件的权限
chown 改变文件的拥有者,即权限
copyFromLocal  除了限定源路径是一个本地文件外,和put命令相似。
copyToLocal    除了限定目标路径是一个本地文件外,和get命令类似。
cp    将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录
du    显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。
dus   显示文件的大小。
expunge   清空回收站。
get   复制文件到本地文件系统。
getmerge  接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件连接成本地目标文件。
ls    ls命令的递归版本。类似于Unix中的ls -R。
mkdir 接受路径指定的uri作为参数,创建这些目录。其行为类似于Unix的mkdir -p,它会创建路径中的各级父目录。
movefromLocal   输出一个”not implemented“信息。
mv   将文件从源路径移动到目标路径。
put  从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。
rm   删除指定的文件。只删除非空目录和文件。
rmr  delete的递归版本。
setrep  改变一个文件的副本系数。
stat 返回指定路径的统计信息。
tail 将文件尾部1K字节的内容输出到stdout。支持-f选项,行为和Unix中一致。
    test 选项:
      -e 检查文件是否存在。如果存在则返回0。
      -z 检查文件是否是0字节。如果是则返回0。 
      -d 如果路径是个目录,则返回1,否则返回0。
   示例:hadoop fs -test -e filename
text   将源文件输出为文本格式。
touchz 创建一个0字节的空文件。
jps    查看已经启动的服务,例如:nameNode、dataNode等
clear  清屏

hadoop-yarn.dragon.org:50070/dfshealth.jsp
hadoop-yarn.dragon.org:8088/cluster

启动HDFS和YARN方式
  1. 方式一,逐一启动(推荐)
     hadoop-daemon.sh、yarn-daemon.sh
  2. 方式二,分开启动(使用了ssh协议)
     start-dfs.sh、start-yarn.sh
  3. 方式三,一起启动(不推荐,hadoop1启动方式,使用了ssh协议)
     start-all.sh

hadoop的四个默认配置文件
core-default.xml、hdfs-default.xml、yarn-default.xml、mapred-default.xml

一般企业配置:两个主节点,分别是1个NameNode,1个ResourceManager

              N个从节点,分别是DataNode和NodeManager

 

HDFS系统架构图

 


NN与SNN关系

 

 

 

 

 

 

YARN框架架构图

 

YARN框架架构图2

 

以下是我精心整理的文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值