一周知识点回顾

Linux操作指令
1.命令提示符
root:用户名
localhost:主机名
#/$:代表当前用户的权限 #表示的是超级管理员权限 $表示的是普通用户的权限
2.与目录相关
pwd:查看当前目录的具体路径
mkdir:目录创建指令
Touch:文件创建的指令
cd:进行目录切换的指令
—:表示返回当前操作的前一个操作的目录(有点类似于遥控器的返回键)
cp:进行文件的复制 文件:cp 文件名 目标目录 目录 cp -r 目录名 目标目录
改名: cp -r 文件/目录名 要修改的文件/目录名
mv:进行文件或者目录的移动 文件/目录:mv 文件/目录名 目标目录
改名:mv 文件/目录名 要修改的文件或者目录名
注意:cp的改名的操作,先将文件或者目录进行复制然后对复制的文件或者目录进行改名操作
mv是在源文件或者原目录上直接进行修改(重命名操作)
Vi/vim:文件编辑指令
一般模式:具有光标 有内容的主题位置 在左下角有关于当前文件的详细信息(只有只读操作)
编辑模式:小i可以将一般模式切换到编辑模式(对文件内容进行操作)

tar:文压缩指令 tar -xvf 文件压缩包的名字

Rm: 文件/目录删除操作 文件 rm 文件名 目录 rm -rf 目录名
-r:递归操作 -f:强制执行

ssh远程登录:设置免密登录
1.在客户端利用ssh’设置免密登录操作在客户端生成一对密钥对公钥a 私钥a
2.客户端会向服务器发送连接请求—将公钥a发送给服务器端
3.服务器端接收到公钥a,将密码进行加密操作,生成随机字符串
4.服务器将加密的生成的随机字符串返回给客户端
5.接收到服务器端发来的随机字符串,用私钥a进行解密操作
6.将解密之后的内容发送给服务器端
7.接收到解密内容,与未加密之前的内容进行对比,一致则配置成功,反之失败

注意:对于像ssh非对称加密公钥加密只能用私钥解密,对称加密算法则是公钥加密公钥解密

HDFS的技术细节
1、hdfs模块
Block:是hdfs中最想的存储单元
切分规则:模式128M 最大值但不是固定值
存储在datanode
Namenode:维护元数据信息-----block块的存储位置,以及块的容等
元数据信息是存储到内存当中但是为了数据的安全性与完整性,会在磁盘文件进行备份
Datanode:用来存储block的(但是不知道其文件块的具体内容)
snn:用来协助namenode文件合并
2、文件合并:
磁盘内部资源:
fsimage:磁盘文件备份元数据信息
edits:日志文件 记录元数据修改信息
fstime:记录元数据合并的时间
触发文件合并的前提条件:
1.当edits日志文件中的数据达到64M
2.当fstime里记录的时间达到3600s

文件合并的具体操作:
1.在Namenode里将edits日志文件进行复制产生新的日志之文件
Edits.new—原始日志文件不会再记录元数据的修改信息,而是新的日之日志文件进行记录
2.SNN利用http get获取NN中的磁盘文件fsimage以及原始日志文件edits
进行文件合并—产生新的磁盘文件fsimage.ckpt
3.将新的磁盘文件复制给namenode
4.namenode接收大新的磁盘文件,首先会将原始日志文件删除,并将新的日志文件进行重命名操作改名为edits;然后将原始磁盘文件进项删除,将新的磁盘文件进行重命名操作

注意:NN是如何与DN 进行沟通—DN每隔3秒向NN发送心跳报告
如果超过10分钟NN未接收到DN的心跳,会向其他的DN发送文件复制的指令

3.副本存放策略:
1.副本1有一个规则就近原则(如果当前客户端就是一个DN会直接存放在本机)
注意:当前机器是否空闲
2.副本2放置在与副本1不同机架
3.副本3放置于副本2相同机架上的不同机器上
其他的副本随机。。。

HDFS的执行流程
读流程:
1.客户端向服务器端发起请求
2.服务器端–验证当前用户是否具有访问权限 校验当前文件是否存在
3.服务器端会向客户端发送文件的存储地址
4.客户端接收到文件存储地址进行文件的读取操作
5.文件内容读取完毕,向服务器端送读取完毕的信息,释放资源关闭连接

写流程:
1.客户端向服务器端发送连接请求
2.服务器端
验证当前用户是否具有访问权限
验证当前文件是否存在
3.服务器端会向客户端返回文件写入的地址信息
4.客户端接收到地址信息之后–将文件进行切块的操作
5.客户端会拿着这个dn的地址信息,进行block的存储操作
6.block一次存储在dn内部以管道流的(channal)形式进行副本的存储
7.存储完毕之后dn会逐级向上返回ack信息直到返回的给客户端,在执行下一个block的存储操作
8.文件彻底存储完毕,客户端会向服务器端发送文件写入的完成的信息,释放资源,关闭连接
hdfs的优缺点:
优点:
1.支持超大文件
2.具备检测和快速应对硬件故障的机制
3.可以进行流式数据的访问
4.简化的一致性模型
5.具有高容错性
6.可以将集群搭建在廉价的机器上面

HDFS的缺点:
1.具备高吞吐但是不具备低延迟的数据访问(毫秒级别)
2.具有大量的小文件占据内存
3.用户只支持一次写入多次读取,但是不支持行级别的增删改(但是在Hadoop2.0 —添加了追加操作)
4.不支持超强的事务
注意:在面试过程中,hdfs的缺点会经常被问到

JavaAPI操作hdfs
下载:
1.创建文件系统对象
2.创建文件下载输入流
3.创建文件下载输出流
4.对接流
5.释放资源,关闭连接
上传:
1.创建文件系统对象
2.创建文件上传输入流
3.创建文件上传输出流
4.对接流
5.释放资源,关闭连接
删除:
1.创建文件系统对象
2.删除操作(在hadoop2.0默认可以直接将目录进行删除,若要关闭删除权限,添加一个布尔类型的参数false)
创建:
1.创建文件系统对象
2.创建操作

MapReduce的技术细节
执行流程
1.进行数据切片的操作(默认情况下与block块一致,有几个block就有几个数据分片)
2.mapper阶段调用map函数(按行读取k1v1—k1是偏移量 v1是的当前行内容)----数据分片有几行数据就会调用几次map函数
3.经过数据v1的读取以及切分操作输出k2v2(单词读取为例)—k2是切分出来的单词 v2是每行当前单词的数量
4.k2v2经过shuffle的过程执行分区排序的操作
hash取余(模)算法 k2.hashcode( )% rnum(reduce的数量)
输出的是k3v3—键不变,值以数组的形式进行表示
5.k3v3执行reducer阶段调用reduce函数
输出k4v4
序列化与反序列化的操作
将基本数据类型进行打包操作—以包装类的形式进行表示
—实现一个wrtable接口

yarn资源调度

在hadoop2.0之前没有yarn只有jobtracker以及tasktracker
在hadoop2.0引入yarn的概念将job以及task进行合并并改名为
resourmanager以及nodemanager
yarn的执行流程
1.写一个mapreduce程序运行在job客户端上
2.job客户端向jobtracker发送作业的存储请求
3.jobt会向job客户端送一个作业编号以及存储不作业的hdfs地址
4.job客户端会拿着这个hdfs的存储地址将作业上传
5.jobt会回去存储好的作业进行初始化的操作,进行作业的处理
作业的处理:1.遵循本地化策略(将每个任务分发给与当前dn在同一台机器上的nodemanager) 2.验证当前dn是否空闲
6.nodemanager接收到作业任务,会创建一个虚拟机紫子进程(worke)
将 作业任务交给work处理
注意:如果当前work在处理任务时出现异常情况,nodemanager会再次创建一个虚拟子进程work继续处理
7.work处理接收到的作业任务
Sqoop:
连接非机构化工具以及结构化工具的中间件
一般在开发环境中:是连接hive以及mysql的

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值