【Hadoop离线基础总结】HDFS入门介绍
HDFS入门介绍
概述
HDFS全称为Hadoop Distribute File System,也就是Hadoop分布式文件系统,是Hadoop的核心组件之一。
分布式文件系统是横跨在多台计算机上的存储系统,主要解决的就是大数据存储的问题
特性
- master/slave架构
HDFS集群一般是由一个 NameNode 和一定数目的 DataNode 组成。NameNode 是 HDFS 集群主节点,DataNode 是 HDFS 集群从节点。 - 分块存储
分块存储存在的原因:
假如有100台机器,每台机器只有1T。现在有一个2T的文件,单独存放在一台机器上是无法实现的。那么分块存储就能派上用场,它可以将2T的文件分成很多大小为128M的block块儿,将这些block块分别存储在不同的机器上。 - 名字空间(NameSpace)
Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改(用户可以创建、删除、移动或重命名文件)都将被 Namenode 记录下来。
统一的命名空间:对外提供统一的文件访问地址 - Namenode元数据管理
就是将所有的元数据信息保存起来方便查找 - DataNode数据存储
就是出磁盘,用来存储文件数据 - 副本机制
用来应对block块丢失的情况(副本数量也可以通过参数设置 --> dfs.replication ,默认是3) - 一次写入,多次读出
hdfs文件系统适合频繁读取,不适合频繁写入,因为改变文件涉及到元数据的改变。因此适合用来做大数据分析的底层存储服务,并不适合用来做网盘等应用。
基本命令使用(使用格式:hdfs dfs -command [option] )
- ls
hdfs dfs -ls /dirName 查看目录内容
hdfs dfs -ls -R /dirName 递归查看目录内容(将目录中的所有的内容都呈现出来) - lsr
过期的hdfs dfs -ls -R /dirName - mkdir
hdfs dfs -mkdir /dirName 创建目录
hdfs dfs -mkdir -p /dirName1/dirName2 创建多级目录 - moveFromLocal
hdfs dfs -moveFromLocal LocalSrc dst 从本地向HDFS移动内容 - moveToLocal
从HDFS向本地移动内容(但是还不能用) - mv
hdfs dfs -mv /FileName1 /FileName2 重命名(目录也适用)
hdfs dfs -mv /FilePath dst 移动文件或目录 - put
hdfs dfs -put localSrc dst 将本地内容复制到HDFS上 - appendToFile
hdfs dfs -appendToFile localsrc … dst 将本地一个或多个文件追加到HDFS指定文件中 - cat
hdfs dfs -cat URI 查看HDFS文件内容 - cp
hdfs dfs -cp URI dst 将HDFS上的某个文件复制到HDFS指定文件 - rm
hdfs dfs -rm URI 删除HDFS上的指定文件
hdfs dfs -rm -rf URI 强制删除HDFS上的指定文件 - rmr
过期的 hdfs dfs -rm -r URI - chmod
hdfs dfs -chmod mode URI 修改HDFS上指定文件的权限
hdfs dfs -chmod -R mode URI 递归地修改HDFS上指定文件的权限 - chown
hdfs dfs -chown owner:grouper URI 修改HDFS上指定文件的所属用户和所属组
hdfs dfs -chown owner:grouper URI 递归地修改HDFS上指定文件的所属用户和所属组 - expunge
hdfs dfs -expunge 清空回收站
高级命令使用
- 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 dfsadmin -clrSpaceQuota /user/root/lis 清除空间限额 - HDFS安全模式
集群刚启动就是安全模式,对外不提供任何服务,只自检,自检没问题的话,30s后自动脱离安全模式。
hdfs dfsadmin -safemode 手动启动安全模式
enter | leave | get | wait
进入安全模式 退出安全模式 获取当前安全
模式是否启动
基准测试
- 概述
hadoop的环境搭建完成之后,第一件事就是进行压力测试,测试我们的集群的读取和写入速度,测试我们的网络带宽是否足够等一些基准测试 - 测试写入速度
向HDFS文件系统中写入数据,10个文件,每个文件10MB,文件存放到 /benchmarks/TestDFSIO 中
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
查看写入速度结果
hdfs dfs -text /benchmarks/TestDFSIO/io_write/part-00000
- 测试读取速度
在HDFS文件系统中读入10个文件,每个文件10M
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
查看读取速度结果
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
【Hadoop离线基础总结】HDFS入门介绍的更多相关文章
- 【Hadoop离线基础总结】Hue的简单介绍和安装部署
目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
- 【Hadoop离线基础总结】oozie的安装部署与使用
目录 简单介绍 概述 架构 安装部署 1.修改core-site.xml 2.上传oozie的安装包并解压 3.解压hadooplibs到与oozie平行的目录 4.创建libext目录,并拷贝依赖包 ...
- 【Hadoop离线基础总结】Hive调优手段
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...
- 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...
- 【Hadoop离线基础总结】Sqoop常用命令及参数
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...
- 【Hadoop离线基础总结】HDFS详细介绍
HDFS详细介绍 分布式文件系统设计思路 概述 只有一台机器时的文件查找:hello.txt /export/servers/hello.txt 如果有多台机器时的文件查找:hello.txt nod ...
- 【Hadoop离线基础总结】Apache Hadoop的三种运行环境介绍及standAlone环境搭建
Apache Hadoop的三种运行环境介绍及standAlone环境搭建 三种运行环境 standAlone环境 单机版的hadoop运行环境 伪分布式环境 主节点都在一台机器上,从节点分开到其他机 ...
- Hadoop学习(1)-- 入门介绍
Hadoop是Apache基金会开发的一个分布式系统基础架构,是时下最流行的分布式系统架构之一.用户可以在不了解分布式底层的情况下,在Hadoop上快速进行分布式应用的开发,并利用集群的计算和存储能力 ...
随机推荐
- vue中 使用SVG实现鼠标点击绘图 提示鼠标移动位置 显示绘制坐标位置
<div class="div1"> <svg id="svg1" xmlns="http://www.w3.org/2000/sv ...
- 爬取腾讯网的热点新闻文章 并进行词频统计(Python爬虫+词频统计)
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:一棵程序树 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...
- Sprint 2 : ios图形界面设计与代码整合
这周我们主要focus在personal photo experience 项目的ios图形界面设计与代码整合工作上. 工作进度: 1. 图形界面设计方面:兆阳和敏龙基本已经将ios手机客户端的雏形界 ...
- F - Make It Equal CodeForces - 1065C
题目大意:有n座塔,塔高h[i],每次给定高度H对他们进行削切,要求每次削掉的所有格子数不能超过k个,输出最少削几次才能使所有塔的高度相同. 思路一:差分+贪心 对于每一个高度h,用一个数组让1~h的 ...
- B - Red and Black 直接BFS+队列
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...
- 再接再厉,JSONViewer现已支持Firefox、Microsoft Edge、360浏览器,可能是最好用的JSON格式化工具
之前写的JSONViewer,截至目前在谷歌商店里已经有1000+的自然下载量了 为什么开发JSONViewer? 日常开发中,拿到接口输出的JSON一般会去在线的JSON格式化网站查看,但是在线格式 ...
- Gatling脚本编写技巧篇(一)
一.公共类抽取 熟悉Gatling的同学都知道Gatling脚本的同学都知道,Gatling的脚本包含三大部分: http head配置 Scenario 执行细节 setUp 组装 那么针对三部分我 ...
- Python的6种方式实现单例模式
单例模式是一个软件的设计模式,为了保证一个类,无论调用多少次产生的实例对象,都是指向同一个内存地址,仅仅只有一个实例(只有一个对象). 实现单例模式的手段有很多种,但总的原则是保证一个类只要实例化一个 ...
- 记使用STL与unique_ptr造成的事故-段子类比
最近由于业务需要在写内存池子时遇到了一个doule-free的问题.折腾半个晚上以为自己的眼睛花了.开始以为是编译器有问题(我也是够自信的),但是在windows下使用qtcreator vs2017 ...
- ApiPost如何在预执行脚本里添加请求参数?
ApiPost V3引入了预执行脚本和后执行脚本的概念,详细可以通过链接:<ApiPost的预执行脚本和后执行脚本>了解学习更多.本文主要介绍如何在预执行脚本里增加请求参数. 使用场景 我 ...