1.第一点:如何理解hdfs分布式文件系统,每台机器出一块磁盘,凑成一个大的硬盘,大的硬盘的容量来自各个服务器的硬盘容量之和。

你出5毛,我出5毛,大家凑成1块。

2. HDFS 是 Hadoop Distribute File System 的简称,意为:Hadoop 分布式文件系统。是 Hadoop 核心组件之一,作为最底层的分布式存储服务而存在。

3.hdfs的特性:

(1)master/slave架构:namenode是我们的主节点,datanode是我们的从节点

namenode主要管理元数据信息  datanode主要存储各种数据

(2)分块存储

(3)名字空间(NameSpace)

(4)HDFS 会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。

(5)Namenode 元数据管理;

(6)Datanode 数据存储;

(7)副本机制;

(8)一次写入,多次读出:频繁的写入会造成元数据的频繁的更新改变,比较麻烦。

3. hdfs常用的操作命令:

hdfs  dfs   -ls  /  查看根路径下面的文件或者文件夹

hdfs dfs  -mkdir  -p   /xx/xxx  在hdfs上面递归的创建文件夹

hdfs  dfs -moveFromLocal  sourceDir(本地磁盘的文件或者文件夹的路径)   destDir(hdfs的路径) (剪切)

hdfs  dfs  -mv  hdfsSourceDir   hdfsDestDir(剪切,从hdfs上的一个位置移动到另一个位置)

hdfs  dfs -put  localDir  hdfsDir   将本地文件系统的文件或者文件夹放到hdfs上面去 (复制)

Usage: hdfs dfs -rm [-f] [-r|-R递归] [-skipTrash跳过垃圾桶永久删除] URI [URI ...] 删除hdfs上的一个或多个文件或文件夹。

hdfs dfs -tail [-f] URI  (Displays last kilobyte of the file to stdout)

hdfs dfs -appendToFile <localsrc> ... <dst> 将本地系统的一个或多个文件追加到hdfs的一个文件中。

hdfs  dfs -cat  hdfsFiles 查看一个或多个hdfs的文件内容

hdfs  dfs  -cp   hdfsSourceDIr   hdfsDestDir   拷贝文件或者文件夹,从hdfs上的一个位置拷贝到另一个位置

hdfs的权限管理两个命令:

hdfs  dfs  -chmod -R  777  /xxx

hdfs  dfs  -chown -R hadoop:hadoop  /xxx

hdfs dfs -expunge 清空回收站

2.hdfs高级命令使用:主要就是用于限制某个路径下面的文件的个数,或者限制某个路径下面文件的大小。

hdfs dfs -mkdir -p /user/root/lisi     #创建hdfs文件夹

hdfs dfsadmin -setQuota 2 lisi      # 给该文件夹下面设置最多上传两个文件,上传文件,发现只能上传一个文件

hdfs dfsadmin -clrQuota /user/root/lisi    # 清除文件数量限制

hdfs dfsadmin -setSpaceQuota 4k /user/root/lisi   # 限制空间大小4KB

hdfs dfs -put  /export/softwares/zookeeper-3.4.5-cdh5.14.0.tar.gz /user/root/lisi

hdfs dfsadmin -clrSpaceQuota /user/root/lisi   #清除空间限额

hdfs dfs -count -q -h /user/root/lisi 查看hdfs文件限额数量

注意:hdfs dfs -count -q -h /user/root/lisi 可以简写为hdfs dfs -count -q -h lisi 这里使用了相对路径,

当前登录用户是root,所以当前路径是/user/root/

3.  hdfs的安全模式:文件系统只接受读数据请求,而不接受删除、修改等变更请求。hdfs集群刚启动的时候,默认30S钟的时间是出于安全期的,去检测datanode了,只有过了30S之后,集群脱离了安全期,然后才可以对集群进行操作

hdfs  dfsadmin  -safemode [ enter | leave | get  ]

4.  hdfs基准测试(压力测试)

测试写入速度:

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO  -write -nrFiles 10 -fileSize 10MB

完成之后查看写入速度结果,写入速度一般在30M/S左右超不多:

hdfs dfs -text /benchmarks/TestDFSIO/io_write/part-00000

测试读取速度:

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -read -nrFiles 10 -fileSize 10MB

查看读取结果,实际工作当中通过MR读取速度大概在100M/s左右:

hdfs dfs -text /benchmarks/TestDFSIO/io_read/part-00000

清除测试数据:

hadoop jar /export/servers/hadoop-2.6.0-cdh5.14.0/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.0-cdh5.14.0.jar TestDFSIO -clean

注:在执行命令时的当前路径下,会生成一个测试报告文件:-rw-r--r-- 1 root root  303 May 23 22:06 TestDFSIO_results.log

转载于:https://www.cnblogs.com/mediocreWorld/p/10941071.html

hdfs的特性、命令、安全模式、基准测试相关推荐

  1. HDFS的特性,hdfs的安全模式,Hdfs的文件权限验证

    HDFS的特性 HDFS的优点 1.海量数据存储: HDFS可横向扩展,其存储的文件可以支持PB级别或更高级别的数据存储. 2.高容错性:数据保存多个副本,副本丢失后自动恢复.可构建在廉价的机器上,实 ...

  2. Apache Durid (HDFS原理 特性 读写测试 集群部署 架构设计)

    Apache Durid (HDFS 集群部署) Apache Durid (HDFS 集群部署) 1. 分布式文件HDFS 1.1 HDFS简介 1.1.1 HDFS发展历史 1.1.2 HDFS设 ...

  3. 大数据_07 【hadoop HDFS的shell命令操作】

    大数据_07 [hadoop HDFS的shell命令操作] 01 基本语法 02 常用普通命令实操 03 HDFS常用高级命令 04 HDFS适用场景 05 HDFS不适用场景 06 hdfs的安全 ...

  4. 2021年大数据Hadoop(八):HDFS的Shell命令行使用

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的Shell命 ...

  5. Hadoop之HDFS常用Shell命令

    Hadoop之HDFS常用Shell命令 启动Hadoop集群 sbin/start-dfs.shsbin/start-yarn.sh -help:输出这个命令参数 hadoop fs -help r ...

  6. Hadoop教程(三)HDFS文件系统Shell命令

    Hadoop教程(三)HDFS文件系统Shell命令 本文链接:https://blog.csdn.net/yuan_xw/article/details/50202381 Hadoop教程(三)HD ...

  7. 大数据——HDFS的常用命令

    标题大数据--HDFS的常用命令 hdfs常用命令行: (1)查看帮助hdfs dfs -help (2)查看当前目录信息hdfs dfs -ls /(3)上传文件hdfs dfs -put /本地路 ...

  8. HDFS的shell命令简介

    一.HDFS的shell命令简介 ​ 我们都知道HDFS 是存取数据的分布式文件系统,那么对HDFS 的操作,就是文件系统的基本操作,比如文件的创建.修改.删除.修改权限等,文件夹的创建.删除.重命名 ...

  9. hadoop/hdfs/yarn 详细命令搬运

    hadoop/hdfs/yarn 详细命令搬运 转载自文章 http://www.cnblogs.com/davidwang456/p/5074108.html 安装完hadoop后,在hadoop的 ...

最新文章

  1. python菜鸟excel教程-Python操作Excel的Xlwings教程(一)
  2. 产后抑郁症的食疗方法有什么
  3. python shell运行当前程序、可以按下_Python下调用Linux的Shell命令的方法
  4. Log4j漏洞?一行代码都不改就能永久修复?
  5. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
  6. Swift3.0语法1
  7. 手机壁纸尺寸android,手机壁纸分辨率怎么选 安卓手机壁大小选择技巧
  8. html5获取蓝牙设备列表,【报Bug】官方H5+示例中 搜索蓝牙设备,部分机型搜索不到任何蓝牙...
  9. 2021年全球乳酸乙酯收入大约88百万美元,预计2028年达到109.3百万美元
  10. 第三方支付企业风控体系简析——拉卡拉支付
  11. Android各种屏,刘海屏,打孔屏满屏显示
  12. 计算机软件的层次结构图,用Word2007制作出精美的层次结构图
  13. 邮箱,手机号,电话号,身份证,中文名称验证
  14. 7.PostgreSQL操作语句
  15. android调取手机相册或打开相机选择图片并显示
  16. UDS安全访问之27服务SecurityAccess
  17. Redis 的 ltrim 命令
  18. 函数图像与MatLab实现(1)
  19. Android智能手机上的音频浅析
  20. 首次试用 NeoSwiff ,用C#开发FLASH版的多国语言翻译

热门文章

  1. web站点性能测试经验点滴
  2. ble连接过程建立_九点之蓝牙连接
  3. python类对象点处折行_史上最全的Python面向对象知识点疏理(对象是类的实例)
  4. 柜员计算机技能,新入职柜员必备软件:柜员技能训练系统最新版
  5. c++ 分页展示_分合相宜 Excel透视报表生成分页和汇总报表
  6. mysql的连接名是哪个文件_mysql连接名是什么
  7. php进度条插件,分享8款优秀的 jQuery 加载动画和进度条插件_jquery
  8. C语言怎么输出百分号%
  9. mysql.sock 111,错误2002(HY000):无法通过套接字’/var/run/mysqld/mysqld.sock’连接到本地MySQL服务器(111)...
  10. MySQL面试准备——64页pdf