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

hdfs的特性、命令、安全模式、基准测试的更多相关文章

  1. 009 HDFS的shell命令(里面有一个安全模式)

    一:dfs的命令 1.所有的领命 2.解释 -appendToFile <localsrc> ... <dst>   :追加文件 -checksum <src> . ...

  2. Hadoop 2.x HDFS新特性

    Hadoop 2.x HDFS新特性 1.HDFS联邦    2. HDFS HA(要用到zookeeper等,留在后面再讲)    3.HDFS快照 回顾: HDFS两层模型     Namespa ...

  3. hadoop系列二:HDFS文件系统的命令及JAVA客户端API

    转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...

  4. 因磁盘空间不足导致HDFS的NameNode进入安全模式问题记录

    因磁盘空间不足导致HDFS的NameNode进入安全模式问题记录,调用API上传及下载文件时报如下错误信息: org.apache.hadoop.ipc.RemoteException(org.apa ...

  5. hdfs经常使用命令

    hadoop hdfs经常使用命令 hadoop fs -ls /user/deploy/recsys/workspace/ouyangyewei 查看ouyangyewei文件夹文件 hadoop ...

  6. Hadoop HDFS的shell(命令行客户端)操作实例

    HDFS的shell(命令行客户端)操作实例 3.2 常用命令参数介绍 -help 功能:输出这个命令参数手册 -ls                  功能:显示目录信息 示例: hadoop fs ...

  7. HDFS中的命令行

    HDFS中的命令行 本文介绍了HDFS以命令行执行的时候.几个经常使用的命令行的作用和怎样使用~ 1. fs fs是启动命令行动作,该命令用于提供一系列子命令. 使用形式为hadoop fs –cmd ...

  8. Hadoop_04_Hadoop 的HDFS客户端shell命令

    1.Hdfs shell客户端命令操作: 1.1.查看命令列表:hadoop fs 帮助如下: Usage: hadoop fs [generic options] [-appendToFile &l ...

  9. 解决因block的损坏而导致hdfs启动后进入安全模式

    问题描述: 以单机伪分布式方式安装了hadoop2.7.1,并在该机器上安装了hive1.2.1.首先执行 sbin/start-dfs.sh 启动hdfs服务,然后执行hive,这时hive脚本启动 ...

随机推荐

  1. hdu1584(状态压缩DP)

    蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  2. HDU 3037 Saving Beans (数论,Lucas定理)

    题意:问用不超过 m 颗种子放到 n 棵树中,有多少种方法. 析:题意可以转化为 x1 + x2 + .. + xn = m,有多少种解,然后运用组合的知识就能得到答案就是 C(n+m, m). 然后 ...

  3. 【黑金教程笔记之007】【建模篇】【Lab 06 SOS信号之二】—笔记

    控制模块的协调角色. 实验六用到了实验四的按键消抖模块debounce_module.v和实验五的sos_module.v. 设计思路: debounce_module.v看成一个输入,sos_mod ...

  4. Linux 系统管理命令 - mpstat - CPU信息统计

    命令详解 重要星级: ★★★★☆ 功能说明: mpstat 是 Multiprocessor Statistics 的缩写,是一种实时系统监控工具.mpstat 命令会输出 CPU 的一些统计信息,这 ...

  5. python 面向对象四 继承和多态

    一.继承 class Animal(object): def run(self): print('Animal is running...') class Dog(Animal): def run(s ...

  6. [ZPG TEST 111] 奶牛的新家【DP】

    3.奶牛的新家 [问题描述] 由于奶牛们纷纷表示破旧的房子实在是太丑陋了,DD决定给他们建造新家.现在有许多奶牛决定将家建造在n*m的城市中.然而奶牛们分成了k帮派,不同帮派的奶牛不能住在同列或同行上 ...

  7. magento 自建插件通道服务

    首先建立如下的目录结构 在channel.xml中如此写上 <channel> <name>local</name> <uri>http://local ...

  8. set和get方法

    package day02; public class Person { /**为了封装,一般的属性都设置成为private(私有的),所以你无法用 .属性 的方式来得到属性值, * 因此此时用两个p ...

  9. jmeter(十五)Jmeter默认报告优化

    一.本文目的: 之前写了两篇文章搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)和ANT批量执行Jmeter脚本,功能实现上都没有什么问题,但是最后生成的报告有一点小问题,虽然不影响使 ...

  10. 173 Binary Search Tree Iterator 二叉搜索树迭代器

    实现一个二叉搜索树迭代器.你将使用二叉搜索树的根节点初始化迭代器.调用 next() 将返回二叉搜索树中的下一个最小的数.注意: next() 和hasNext() 操作的时间复杂度是O(1),并使用 ...