HDFS的简介及基本操作(常用的命令参数介绍)

  • 目录
    • 前言:
    • 1、HDFS基本概念
    • 2、HDFS基本操作
    • 总结:

目录

前言:

总算有空来接着写大数据的学习笔记了,今天就把之前学过的HDFS的基础知识详细的介绍一下,如有哪点写的不足希望大家多多指教。

1、HDFS基本概念

1.1、前言:
设计思想
分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析。
在大数据系统中作用:
为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务。

重点概念:文件切块,副本存放,元数据。

1.2、 HDFS的概念和特性:
首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件;

其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色;

重要特性如下:
(1)HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M

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

(3)目录结构及文件分块信息(元数据)的管理由namenode节点承担
——namenode是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的block块信息(block的id,及所在的datanode服务器)

(4)文件的各个block的存储管理由datanode节点承担
—- datanode是HDFS集群从节点,每一个block都可以在多个datanode上存储多个副本(副本数量也可以通过参数设置dfs.replication)

(5)HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改
(注:适合用来做数据分析,并不适合用来做网盘应用,因为,不便修改,延迟大,网络开销大,成本太高)

2、HDFS基本操作

2.1、HDFS的shell(命令行客户端)操作
HDFS提供shell命令行客户端,使用方法如下:
这里写图片描述
2.2 常用命令参数介绍

  • -help 功能:输出这个命令参数手册
  • -ls 功能:显示目录信息 示例: hadoop fs -ls hdfs://hadoop-server01:9000/ 备注:这些参数中,所有的hdfs路径都可以简写 –>hadoop fs -ls / 等同于上一条命令的效果
  • -mkdir 功能:在hdfs上创建目录 示例:hadoop fs -mkdir -p /aaa/bbb/cc/dd
  • -moveFromLocal 功能:从本地剪切粘贴到hdfs 示例:hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd
  • -moveToLocal 功能:从hdfs剪切粘贴到本地 示例:hadoop fs - moveToLocal /aaa/bbb/cc/dd /home/hadoop/a.txt
  • –appendToFile 功能:追加一个文件到已经存在的文件末尾示例:hadoop fs -appendToFile ./hello.txt hdfs://hadoop-server01:9000/hello.txt可以简写为:Hadoop fs -appendToFile ./hello.txt /hello.txt
  • -cat 功能:显示文件内容 示例:hadoop fs -cat /hello.txt
  • -text 功能:以字符形式打印一个文件的内容 。示例:hadoop fs -text /weblog/access_log.1
  • -chgrp -chmod -chown 功能:linux文件系统中的用法一样,对文件所属权限 示例: hadoop fs -chmod 666 /hello.txt hadoop fs -chown someuser:somegrp /hello.txt
  • -copyFromLocal 功能:从本地文件系统中拷贝文件到hdfs路径去 示例:hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/ -copyToLocal 功能:从hdfs拷贝到本地 示例:hadoop fs
  • -copyToLocal /aaa/jdk.tar.gz
  • -cp 功能:从hdfs的一个路径拷贝hdfs的另一个路径 示例: hadoop fs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
  • -mv 功能:在hdfs目录中移动文件 示例: hadoop fs -mv
    /aaa/jdk.tar.gz /
  • -get 功能:等同于copyToLocal,就是从hdfs下载文件到本地 示例:hadoop fs -get /aaa/jdk.tar.gz -getmerge 功能:合并下载多个文件 示例:比如hdfs的目录
    /aaa/下有多个文件:log.1, log.2,log.3,… hadoop fs -getmerge /aaa/log.*
    ./log.sum
  • -put 功能:等同于copyFromLocal 示例:hadoop fs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2
  • -rm 功能:删除文件或文件夹 示例:hadoop fs -rm -r /aaa/bbb/
  • -rmdir 功能:删除空目录 示例:hadoop fs -rmdir /aaa/bbb/ccc
  • -df 功能:统计文件系统的可用空间信息 示例:hadoop fs -df -h / -
  • -du 功能:统计文件夹的大小信息 示例: hadoop fs -du -s -h /aaa/*
  • -count 功能:统计一个指定目录下的文件节点数量 示例:hadoop fs -count /aaa/
  • -setrep 功能:设置hdfs中文件的副本数量 示例:hadoop fs -setrep 3 /aaa/jdk.tar.gz <这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量>

总结:

对于HDFS来讲,如果想达到博主一样的菜鸟级别的水平,必须得知道以下的几个知识点:
首先知道HDFS是什么;其次知道三个主要概念即文件切块、副本存放、元数据;然后要知道HDFS中对应的角色即NameNode、Datanode的工作机制和职责以及HDFS读写数据的原理;最后要掌握常用的HDFS-shell命令行。个人感觉如果知道以上的一些知识点,HDFS应该算是入门了吧。

接下来将介绍下HDFS的客户端应用开发等。(
详见:https://blog.csdn.net/qq_16633405/article/details/78403316)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TensorFlow训练单特征和多特征的线性回归

线性回归 线性回归是很常见的一种回归&#xff0c;线性回归可以用来预测或者分类&#xff0c;主要解决线性问题。相关知识可看“相关阅读”。 主要思想 在TensorFlow中进行线性回归处理重点是将样本和样本特征矩阵化。 单特征线性回归 单特征回归模型为&#xff1a;ywxb 构建模…

大数据之HDFS应用开发(java API)

目录1、搭建开发环境2、获取api中的客户端对象3、DistributedFileSystem实例对象所具备的方法4、HDFS客户端操作数据代码示例 目录 1、搭建开发环境 window下开发的说明: A、在windows的某个目录下解压一个hadoop的安装包 B、将安装包下的lib和bin目录用对应windows版本平…

shell脚本执行方式,更方便更快捷。

在进行linux测试时编写脚本是必不可少的。最近经常使用Linux&#xff0c;感觉太频繁地敲击键盘有些累了&#xff0c;于是想到了Shell脚本。可以把太多的命令写成一个脚本&#xff0c;这样每次执行一遍 shell文件&#xff0c;就可以省去了敲击键盘的时间。于是在网上搜了一些有…

慕课网_《Java实现对称加密》学习总结

时间&#xff1a;2017年4月11日星期二说明&#xff1a;本文部分内容均来自慕课网。慕课网&#xff1a;http://www.imooc.com教学示例源码&#xff1a;https://github.com/zccodere/s...个人学习源码&#xff1a;https://github.com/zccodere/s... 第一章&#xff1a;对称加密算…

大数据之MapReduce详解(MR的运行机制及配合WordCount实例来说明运行机制)

目录前言&#xff1a;1、MapReduce原理2、mapreduce实践&#xff08;WordCount实例&#xff09; 目录 今天先总体说下MapReduce的相关知识&#xff0c;后续将会详细说明对应的shuffle、mr与yarn的联系、以及mr的join操作的等知识。以下内容全是个人学习后的见解&#xff0c;如…

20155222 2016-2017-2 《Java程序设计》第8周学习总结

20155222 2016-2017-2 《Java程序设计》第8周学习总结 教材学习内容总结 Java NIO(New IO)是一个可以替代标准Java IO API的IO API&#xff08;从Java 1.4开始)&#xff0c;Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers&#xff08;通道和缓冲区&…

BAT经典面试题精简版(基础知识附答案)

文章目录目录J2SE基础JVM操作系统TCP/IP数据结构与算法目录 J2SE基础 九种基本数据类型的大小&#xff0c;以及他们的封装类。 原始类型封装类 booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble Switch能否用string做参数&…

使用2to3.py 转换 python2.x 代码 到python3

1.使用Windows 命令提示符&#xff08;cmd&#xff09;cd到2to3.py 脚本所在位置&#xff0c;如下图&#xff1a; 找不到的2 to 3.py的去 pycharm中双击shift搜索一下 2.紧接着运行 2to3.py 脚本&#xff08;可省略&#xff09; 3.执行你想要转换的文件 python 2to3.py -w H:…

iis6.0与asp.net的运行原理

这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客&#xff0c;学的有点零零散散&#xff0c;花了好长时间做了一个小结&#xff08;虽然文字不多&#xff0c;但也花了不少时间呢&#xff09;&#xff0c;鄙人不才&#xff0c;难免有理解不道的地方&#xff0c;还望…

Android学习笔记进阶十之Matrix错切变换

刚开始我也不懂啥叫错切变换&#xff0c;一看效果图你就恍然大悟。 对图像的错切变换做个总结&#xff1a; x x0 b*y0; y d*x0 y0; 与之对应的方法是&#xff1a; [java] view plaincopyMatrix matrix new Matrix(); matrix.setSkew(0.0f, 0.5f);

Django中的核心思想ORM---元类实现ORM

1. ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想&#xff0c;“Object Relational Mapping”&#xff0c;即对象-关系映射&#xff0c;简称ORM。 一个句话理解就是&#xff1a;创建一个实例对象&#xff0c;用创建它的类名当做数据表名&#xff0c;用创建它…

移动互联网广告 - 第十更 - 广告投放运营 DashBoard - 2016/12/10

广告投放运营 DashBoard设计 移动互联网互联网广告投放&#xff0c;数据监控DashBoard&#xff0c;基础样例示意&#xff0c;下图仅供参考&#xff08;来自于互联网&#xff09;。 转载于:https://www.cnblogs.com/pythonMLer/p/6154700.html

微信小程序中使用emoji表情相关说明

2019独角兽企业重金招聘Python工程师标准>>> 本帖将聚合一些跟emoji表情有关的知识&#xff1b;相关文章&#xff1a;“i爱记账” 小程序后端开发小结 第7条经验前端传过来的昵称和备注信息一定要经过严格的正则表达式过滤&#xff0c;放置出现XSS等攻击&#xff0c…

WSGI直观形象的了解一下

1. 浏览器请求动态页面过程 2. WSGI 怎么在你刚建立的Web服务器上运行一个Django应用和Flask应用&#xff0c;如何不做任何改变而适应不同的web架构呢&#xff1f; 在以前&#xff0c;选择 Python web 架构会受制于可用的web服务器&#xff0c;反之亦然。如果架构和服务器可以…

安装Hbase(分布式)遇到一些问题及解决方法

问题一&#xff1a;安装完成后在Hbase shell 命令行执行list命令时&#xff0c;爆出如下错误&#xff1a; hbase(main):001:0> list TABLE …

PyCharm光标变粗的解决办法

pycharm中光标变粗&#xff0c;如下&#xff1a; 此时变成了改写模式&#xff0c;只需要按下键盘的insert键即可 转载于:https://www.cnblogs.com/uglyliu/p/6159839.html

SparkRDD常用算子实践(附运行效果图)

目录1、简单算子说明2、复杂算子说明 目录 SparkRDD算子分为两类&#xff1a;Transformation与Action. Transformation&#xff1a;即延迟加载数据&#xff0c;Transformation会记录元数据信息&#xff0c;当计算任务触发Action时&#xff0c;才会真正开始计算。 Action&am…

Kali-linux使用Nessus

Nessus号称是世界上最流行的漏洞扫描程序&#xff0c;全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务&#xff0c;并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件&#xff0c;Nessus可同时在本机或远端上遥控&#xff0c;进行系统的漏洞分析扫描…

HDFS读写数据的原理

目录1 概述2 HDFS写数据流程3 HDFS读数据流程 目录 最近由于要准备面试&#xff0c;就把之前学过的东西好好整理下&#xff0c;权当是复习。 下面说下HDFS读写数据的原理。 1 概述 HDFS集群分为两大角色&#xff1a;NameNode、DataNode NameNode负责管理整个文件系统的元数…

理解列存储索引

版权声明&#xff1a;原创作品&#xff0c;谢绝转载&#xff01;否则将追究法律责任。 优点和使用场景 SQL Server 内存中列存储索引通过使用基于列的数据存储和基于列的查询处理来存储和管理数据。 列存储索引适合于主要执行大容量加载和只读查询的数据仓库工作负荷…