linux文件系统

Hadoop(HDFS)常用命令--必须掌握!

匿名 (未验证) 提交于 2019-12-03 00:15:02
文章目录 1.查看HDFS文件系统下所有的文件及目录 2.从本地文件系统中复制单个或多个源路径到目标文件系统 3.从本地文件系统中复制单个文件到目标文件系统 4.从本地文件系统中复制单个文件到目标文件系统并将文件从本地删除 5.将路径指定文件的内容输出到stdout(cat) 6.将路径指定文件的内容输出到stdout(text) 7.其余与Linux Shell命令大致一样 1.查看HDFS文件系统下所有的文件及目录 hadoop fs -ls / 2.从本地文件系统中复制单个或多个源路径到目标文件系统 使用方法:hadoop fs -put <localsrc> ... <dst> 返回值: 成功返回0,失败返回-1。 3.从本地文件系统中复制单个文件到目标文件系统 使用方法:hadoop fs -copyFromLocal <localsrc> URI 4.从本地文件系统中复制单个文件到目标文件系统并将文件从本地删除 使用方法:dfs -moveFromLocal <src> <dst> 5.将路径指定文件的内容输出到stdout(cat) 使用方法:hadoop fs -cat URI [URI …] 6.将路径指定文件的内容输出到stdout(text) 7.其余与Linux Shell命令大致一样 命令 用法 hadoop fs -mkdir 使用方法:hadoop

文件系统EXT3,EXT4和XFS的区别

匿名 (未验证) 提交于 2019-12-03 00:11:01
1. EXT3 (1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件 (2)Ext3目前只支持32000个子目录 (3)Ext3文件系统使用32位空间记录块数量和i-节点数量 (4)当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块 2. EXT4 EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。 (1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB (2)理论上支持无限数量的子目录 (3)Ext4文件系统使用64位空间记录块数量和i-节点数量 (4)Ext4的多块分配器支持一次调用分配多个数据块 3. XFS (1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容 (2)采用优化算法,日志记录对整体文件操作影响非常小 (3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间 (4)能以接近裸设备I/O的性能存储数据 来源:博客园 作者: Summaries 链接:https://www.cnblogs.com/guarderming/p/11598278.html

大数据之--------hadoop存储(HDFS)

匿名 (未验证) 提交于 2019-12-03 00:09:02
Hadoop 的存储系统是 HDFS(Hadoop Distributed File System)分布式文件系统,对外部客户端而言,HDFS 就像一个传统的分级文件系统,可以进行创建、删除、移动或重命名文件或文件夹等操作,与 Linux 文件系统类似。 Client客户端 namenode datanode seconddaynamenode 文件的副本机制 机架感知 来源:博客园 作者: 梦如汐 链接:https://www.cnblogs.com/BaiChunLong/p/11557058.html

文件系统

匿名 (未验证) 提交于 2019-12-03 00:05:01
文件系统是存储和组织计算机数据的方法,使用文件和树形目录的抽象逻辑概念代替磁盘等物理设备使用数据块的概念。 常用的文件系统: 磁盘文件系统 Linux系统中有ext2/3/4、xfs等文件系统,可以直接应用在软硬件存储设备上。 内存文件系统 使用内存来模拟存储设备的文件系统,一般不会很大,如TmpFS,可用于存储临时数据,重启计算机后存放在内存文件系统的数据就会消失。 特殊文件系统 sysfs文件系统 Linux设备驱动模型中的总线、驱动和设备都可以在sysfs文件系统中找到对应的节点。当内核检测到新设备后,会在sysfs文件系统中生成一项新的记录。 proc文件系统 proc是虚拟文件系统,不占用存储空间,存储的是当前内核运行状态的特殊文件,可以通过这些文件查看系统硬件和运行进程的信息。比如/proc、cpuinfo存放了当前计算机的CPU信息,使用cat命令可以显示文件的内容。 来源:51CTO 作者: SundayO 链接:https://blog.csdn.net/SundayO/article/details/100847603

docker数据卷之持久化操作

匿名 (未验证) 提交于 2019-12-02 23:55:01
docker Docker 镜像--Dcoker images:类比与类 Docker 仓库--Docker registeries: Docker 容器-- Dcoker conrainers:类比于实例化的对象 仓库(registry)--repo(Repository)-->镜像(按版本区分) 共有库 docker.io 私有库 yum库-->不同repo-->软件(按名字区分) Docker是一个c/s架构的系统,Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上帝额容器。容器,是一个运行环境,就是我们前面说的集装箱。 docker有着比虚拟机更少的抽象层,由于docker不需要实现硬件资源虚拟化。 运行在docker容器上的程序是直接使用的都是实际物理机上的硬件资源。因此在cpu、内存利用率上docker将会在效率上有明显优势。 docker利用的是宿主机的内核,而不需要客户端OS。因此,当新建一个容器时,docker不需要虚拟机易杨重新加载一个操作系统内核。从而避免引寻、加载做操系统内核所返回这个比较浪费时间资源的过程。而新建虚拟机,虚拟机软件需要加载GuestOS,返回新建过程是分钟级别。docker由于直接利用宿主机的操作系统,省略了这个过程,因此docker容器只需要几秒 操作系统:

构建根文件系统

匿名 (未验证) 提交于 2019-12-02 23:55:01
在Linux中,是以树状结构管理所有目录、文件,其他分区挂接在某个目录上,这个目录被称为挂接点或者安装点,然后就可以通过这个目录来访问这个分区上的文件了; 在一个分区上存储文件时需要遵循一定的格式,这种格式称为文件系统类型,比如fat16、fat32、ext2、ext3、jffs2、yaffs等,除了这些实实在在的存储分区的文件系统类型外,Linux还有几种虚拟的文件系统类型,比如proc、sysfs等,它们的文件并不存储在实际的设备上,而是在访问它们 时由内核临时生成,比如proc文件系统下的uptime文件,读取它时可以得到两个时间值(用来表示系统启动后运行的秒数、空闲的秒数),每次读取都是由内核实时生成,每次读取到的结果都不一样; 内核启动的最后一步就是启动init进程,代码在init/main.c文件中,会调用init_post()函数; init进程是由内核启动的第一个(也是唯一的一个)用户进程(进程ID为1),它根据配置文件决定启动哪些程序,比如执行某些脚本、启动shell或者运行用户指定的程序等; init进程的执行程序通常是/sbin/init,也可以自己编写/sbin/init程序,或者通过bootloader传入命令行参数"init=xxxxx"指定某个程序作为init进程运行; 内核启动init进程的过程如下: static int noinline init

UNIX文件系统

匿名 (未验证) 提交于 2019-12-02 23:47:01
在linux系统中―― 一切都是文件。 1. 磁盘物理结构 磁盘的物理结构如下: 磁盘的最小组成单位可以看成扇区,每个扇区的大小逻辑上看起来是512字节,但实际上底层的物理扇区是4096字节,可以通过如下方式去得到: gqx@gqx-Lenovo-Product:~$ sudo fdisk -l Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes 由于扇区太小了,如果实际操作的时候按扇区为单位去读写数据的效率比较低,就比如10M的文件,磁头就需要读取(1024*10/512)20480次移动操作,所以一般都是用块(多个扇区)这个逻辑概念来实现具体的读写操作,一个块的大小通常是4096个字节: gqx@gqx-Lenovo-Product:~$ sudo tune2fs -l /dev/sda4 | grep "Block size" Block size: 4096 2. 文件系统的结构

LVM逻辑卷

匿名 (未验证) 提交于 2019-12-02 22:56:40
一、LVM逻辑卷 LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。 LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样能减少操作成本. LVM和直接使用物理存储相比,有以下好处: 灵活的容量. 当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷. 2.可伸缩的存储池. 你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备. 3.在线的数据再分配. 你能在线移动数据,数据能在磁盘在线的情况下重新分配.比如,你能在线更换可热插拔的磁盘. 方便的设备命名 逻辑卷能按你觉得方便的方式来起所有名称. 5.磁盘条块化. 你能生成一个逻辑盘,他的数据能被条块化存储在2个或更多的磁盘上.这样能明显提升数据吞吐量. 6.映像卷 逻辑卷提供方便的方法来映像你的数据. 7.卷快照 使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据. 新增3个硬盘每一个都要注意是单个文件的磁盘,大小自定义。 二、 LVM基本术语 前面谈到,LVM是在物理存储上添加的一个逻辑层

linux内核(三)文件系统

匿名 (未验证) 提交于 2019-12-02 21:59:42
1、为什么需要根文件系统 (1)init进程的应用程序在根文件系统上 (2)根文件系统提供了根目录/ (3)内核启动后的应用层配置(etc目录)在根文件系统上。几乎可以认为:发行版=内核+rootfs (4)shell命令程序在根文件系统上。譬如ls、cd等命令 总结:一套linux体系,只有内核本身是不能工作的,必须要rootfs(上的etc目录下的配置文件、/bin /sbin等目录下的shell命令,还有/lib目录下的库文件等・・・)相配合才能工作。 下面是根文件系统顶层目录 根文件系统的实质是什么 (1)根文件系统是特殊用途的文件系统。 (2)根文件系统也必须属于某种文件系统格式。rootfstype= (3)究竟文件系统是用来干嘛的。ZnFAT 首先,存储设备(块设备,像硬盘、flash等)是分块(扇区)的,物理上底层去访问存储设备时是按照块号(扇区号)来访问的。这就很麻烦。 其次, 文件系统是一些代码,是一套软件,这套软件的功能就是对存储设备的扇区进行管理,将这些扇区的访问变成了对目录和文件名的访问 。我们在上层按照特定的目录和文件名去访问一个文件时,文件系统会将这个目录+文件名转换成对扇区号的访问。 最后,不同的文件系统的差异就在于对这些扇区的管理策略和方法不同,譬如坏块管理、碎片管理。 2、根文件系统的形式 2.1镜像文件形式 (1

Linux磁盘与文件系统管理笔记

匿名 (未验证) 提交于 2019-12-02 21:59:42
### Linux磁盘与文件系统管理 linux 最传统的文件系统格式是EXT2,centos7 默认文件系统是xfs(日志式文件系统) 磁盘的组成: 盘片 机械手臂 主轴马达 (机械硬盘) 磁盘格式化:由于每种os所设置的文件的属性/权限不同,为了存放所需数据,所以要进行格式化供os利用 LVM将一个分区格式化为多个文件系统 superblock 文件系统的整体信息 (inode block总量 使用量 剩余量 文件系统格式等) inode 记录文件的属性(权限和文件属性) 一个文件一个inode,同时记录此文件的数据所在的block号码 block 记录实际文件内容,文件太大会占用多个block,每个block只能放一个文件,所以当文件太小也会浪费磁盘空间 ll -sh 最前面的值代表每个block大小,比如是4kb,当文件大小比如1Bytes,也会占用1个block,超出1Bytes的空间被浪费 ext2文件格式是索引式文件系统 fat文件系统,没有inode,每一个block号码保存在前一个block中,所有只能依次读取 1->3->5->7 整个文件系统的文件通常无法连续写在一起,就是block不是连续的 block如果过于离散,就需要磁盘重组,将同一个文件的的blocks汇聚在一起 ll -i 最前面是inode号 日期之后是该文件占用了多少个block