• 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示?切换目录用什么命令?

绝对路径: 如/etc/init.d

当前目录和上层目录: ./ ../

主目录: ~/

切换目录: cd

  • 查看文件内容有哪些命令可以使用?

vi 文件名 #编辑方式查看,可修改

cat 文件名 #显示全部文件内容

more 文件名 #分页显示文件内容

less 文件名 #与 more 相似,更好的是可以往前翻页

tail 文件名 #仅查看尾部,还可以指定行数

head 文件名 #仅查看头部,还可以指定行数

  • HDFS为什么不太适合小文件的存储?

不能高效的对大量的小数据进行存储(大量的小文件会很快沾满nameNode的内存空间)大量的小文件,也会影响NameNode的寻址时间。

1. 小文件过多,会过多占用namenode的内存,并浪费block。

文件的元数据(包括文件被分成了哪些blocks,每个block存储在哪些服务器的哪个block块上),都是存储在namenode上的。

HDFS的每个文件、目录、数据块占用150B,因此300M内存情况下,只能存储不超过300M/150=2M个文件/目录/数据块的元数据。

2. 文件过小,寻道时间大于数据读写时间,这不符合HDFS的设计。

HDFS天生就是为存储大文件而生的,一个块的元数据大小大概在150byte左右,存储一个小文件就要占用150byte的内存,如果存储大量的小文件

很快就将内存耗尽,而整个集群存储的数据量很小,失去了HDFS的意义。

解决方案:

可以将数据合并上传,或者将文件append形式追加在HDFS文件末尾。

  • crontab文件的用处,有多少个参数,各是什么含义。

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。

六个。

第一个“*” 一小时当中的第几分钟 0-59

第二个“*” 一天当中的第几小时 0-23

第三个“*” 一个月当中的第几天 1-31

第四个“*” 一年当中的第几月 1-12

第五个“*” 一周当中的星期几 0-7(0和7都代表星期日)

【补充】

crontab -e 设置定时任务

-r 删除任务

-l 列出该用户的定时任务

-u 指定定时器的用户名称

  • Linux系统是一种典型的多用户系统 ,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一-文件(包括目录文件)的权限做了不同的规定。那么文件属性一共有多少个字符,各是什么含义?

10个。

(1)0首位表示类型

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等

- 代表文件

?d 代表目录

?c 字符流,装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

?s socket

?p 管道

?l 链接文档(link file);

?b 设备文件,装置文件里面的可供储存的接口设备(可随机存取装置)

(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User

(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group

(4)第7-9位确定其他用户拥有该文件的权限 ---Other

  • 软链接和硬链接的区别

软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系,不是源文件的内容。

硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。

  • HDFS的存储机制(读写流程)。

HDFS存储机制,包括HDFS的写入过程和读取过程两个部分

1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。

2)namenode返回是否可以上传。

3)客户端请求第一个 block上传到哪几个datanode服务器上。

4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。

5)客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。

6)dn1、dn2、dn3逐级应答客户端

7)客户端开始往dn1上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,dn1收到一个packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答

8)当一个block传输完成之后,客户端再次请求namenode上传第二个block的服务器。(重复执行3-7步)

1)客户端向namenode请求下载文件,namenode通过查询元数据,找到文件块所在的datanode地址。

2)挑选一台datanode(就近原则,然后随机)服务器,请求读取数据。

3)datanode开始传输数据给客户端(从磁盘里面读取数据放入流,以packet为单位来做校验)。

4)客户端以packet为单位接收,先在本地缓存,然后写入目标文件

  • SecondaryNameNode工作机制。

1)第一阶段:namenode启动

(1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。

(2)客户端对元数据进行增删改的请求

(3)namenode记录操作日志,更新滚动日志。

(4)namenode在内存中对数据进行增删改查

2)第二阶段:Secondary NameNode工作

(1)Secondary NameNode询问namenode是否需要checkpoint。直接带回namenode是否检查结果。

(2)Secondary NameNode请求执行checkpoint。

(3)namenode滚动正在写的edits日志

(4)将滚动前的编辑日志和镜像文件拷贝到Secondary NameNode

(5)Secondary NameNode加载编辑日志和镜像文件到内存,并合并。

(6)生成新的镜像文件fsimage.chkpoint

(7)拷贝fsimage.chkpoint到namenode

(8)namenode将fsimage.chkpoint重新命名成fsimage

利剑无意之面试题(二)相关推荐

  1. 利剑无意之面试题(三)

    hive的计算是通过什么实现的 hive是搭建在Hadoop集群上的一个SQL引擎,它将SQL语句转化成了MapReduce程序在Hadoop上运行,所以hive的计算引擎是MapReduce,底层存 ...

  2. 利剑无意之面试题(一)

    下列哪项不是zookeeper的应用场景[D] A 服务器节点动态上下线     B统一配置管理      C负载均衡      D实时数据处理 下列哪个不是hbase的Hmaster的功能[D] A ...

  3. 并查集之面试题 17.07. 婴儿名字

    并查集之面试题 17.07. 婴儿名字 前言 一, 面试题 17.07. 婴儿名字 二,解题思路 1, a和b是朋友, b和c是朋友,那a和c也是朋友.这就是典型并查集类型 2, 字典序 3, 三, ...

  4. 2013年计算机专业对口模拟试题二,计算机对口升学模拟试题全解.doc

    计算机对口升学模拟试题全解 2013年计算机专业对口高考模拟试题二 一.选择题 1.计算机硬件系统由( )组成 A.CPU和内存 B.控制器和运算器 C.主机和外设 D.CPU.内存和外存 2.下列叙 ...

  5. 大学计算机基础实验指导试题,(大学计算机基础实验指导)模拟试题(二)参考答案...

    (大学计算机基础实验指导)模拟试题(二)参考答案 (非计算机专业A卷) 一.填空题(共20分,每空1分) 1.电子管2.分时系统.实时系统3..txt 4.主码 5.实体.参照.用户定义6.同轴电缆. ...

  6. c语言中二次规划函数是哪个好,c语言程序设计规划模拟试题二(含答案).doc

    c语言程序设计规划模拟试题二(含答案) C语言程序设计模拟试题二(含答案)1. 下列电子邮件地址中正确的是(其中□表示空格)A) Malin& B) malin@C) Lin□Ma& ...

  7. 计算机应用基础二00018,2019年10月自学考试00018《计算机应用基础》试题(二)

    2019年10月自学考试00018<计算机应用基础>试题(二) 1. [单选题]在Word中,__D______的作用是能在屏幕上显示所有文本内容. (A).标尺 (B).控制框 (C). ...

  8. 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC

    本资料由广州自考网收集整理,更多自考资料请登录 HYPERLINK "http://www.gzzk.cc" www.gzzk.cc下载 再长的路,一步步也能走完,再短的路,不迈开 ...

  9. c语言程序设计移动字母,C语言程序设计模拟试题二(含答案)

    C语言程序设计模拟试题二(含答案) 1.下列电子邮件地址中正确的是(其中□表示空格) A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc ...

最新文章

  1. Puppet客户端自动安装脚本
  2. MySQL DBA面试全揭秘
  3. wordcloud用来制作中文词云
  4. java实现base64加密解密
  5. cnn 验证集 参与训练吗_一个简单的零基础的机器学习教程之二,字母数字验证码识别...
  6. 9W人脸清洗的问题--20170208
  7. R语言-plyr包中的函数
  8. 使用PyTorch实现CNN
  9. java向上取整和向下取整,万字长文!
  10. Fisher精确检验【转载】
  11. 路由器显示DNS服务器异常,路由器dns异常怎么办
  12. 自学php多久可以工作_php自学要多久,学php难吗,多久能学会?
  13. 2345恶意篡改修复
  14. 【bug】vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to mount component: template or render function
  15. 社区宽带繁忙是什么意思_十年宽带维修工程师给你解读,为什么宽带越用越慢!...
  16. 聚合支付PC端-支付宝
  17. Matlab(4)矩阵
  18. 推荐电影名字列表04.18
  19. MES--仓库管理(采购收货)
  20. python lxml xpath_Python的lxml库学习之XPATH语法

热门文章

  1. 牛客 - 牛牛的mex(主席树/思维)
  2. TensorFlow2-迁移学习
  3. CrashFinder,找到崩溃代码行
  4. 抖音xgorgon0408分析
  5. 最棒 Spring Boot 干货总结
  6. Go 程序是怎样跑起来的
  7. 音视频技术开发周刊 | 225
  8. 音视频领域或将开启”外卷“之路
  9. 大话ion系列(三)
  10. 音视频技术开发周刊 | 140