HDFS(Hadoop Distributed File System )概述
目录
1. NameNode(名称节点 / 主节点)----- HDFS集群的管理者
一、HDFS概述
Hadoop 分布式文件系统,用于存储文件,与Windows不同的是他是一个分布式的,由很多服务器联合起来实现其功能。
二、HDFS特点
- 一次写入,多次读取,写入后只允许删除或查看,不支持文件修改。
- HDFS文件读取或写入都比较慢,不适合做实时性或者低延时的操作
Notes:适合用来做数据分析,不适合做网盘应用。
三、HDFS集群组成:主从架构---一个主节点,多个从节点
1. NameNode(名称节点 / 主节点)----- HDFS集群的管理者
- 管理文件存储的元数据
- 元数据包括了文件的信息、大小。文件的上传时间、作者、文件在那个DataNode上存储
- 元数据中还包含了 文件义工分成了几个板块,每个板块在那个DataNode上存储着
- 但是 NameNode 只存储这些信息,文件中真正的内容 NameNode 不存储,主要由 DataNode 存储
- NameNode 也管理文件的上传和下载操作,作为客户端的请求响应
2. DataNode (数据节点 / 从节点)
HDFS 存储的文件 最终是有DataNode节点存储的
文件存储的时候,DataNode并不是把文件直接存储的,而是将文件按照文件大小划分为有一个的block块,文件都是以block块去在DataNode上存储的
Hadoop 1.x 默认是64M
Hadoop 2.x 默认是128M
block块大小默认是128M,但是可以更改,在hdfs-site.xml中配置一个配置项 dfs.blocksize 即可(注意单位是B字节)
Notes:HDFS默认有一个备份机制,存储一个文件的时候,划分成不同的 block 块,每一个 block 块都会备份,默认HDFS备份三份,可以通过修改 hdfs-site.xml 中配置一个配置项 dfs.replication 即可
3. SecondaryNameNode (第二名称节点)
是NameNode的小助手,帮助 NameNode 去合并日志文件和镜像文件。但是注意 SecondaryNameNode 虽然叫第二名称节点,但它永远是第二,永远代替不了 NameNode。而且在一般情况下,NameNode 和 SecondaryNameNode 在分布式环境下不在一台节点下NameNode 和 SecondaryNameNode、DataNode 都是需要内存运行的
四、HDFS传输文件方式
HDFS是一个分布式文件存储系统,那么必须可以上传文件和下载文件
不管是通过命令去操作,还是 Java API操作,都必须把 HDFS集群启动起来
通过 HDFS 命令的方式上传和下载
语法:
hdfs 操作符 文件相关信息
Notes:HDFS是一个分布式文件存储系统,文件系统路径也是从 / 这个根路径开始,只不过 / 根路径默认是没有任何文件的
案例:
# 查看这个路径下有哪些文件和文件夹
hdfs dfs -ls / hdfs 上的文件夹路径 # 创建某个文件夹,如果这个文件夹有父目录,父目录不存在,则会报错
hdfs dfs -mkdir 文件名 # 若要在空目录下创建目录,需要加 -p 选项
hdfs dfs -mkdir -p 文件名 # 将Linux本地的文件上传到HDFS指定目录下
hdfs dfs -put linux本地文件路径 /上传文件路径 # 将HDFS上的一个文件下载到Linux本地
hdfs dfs -get /HDFS上的要下载的路径 Linux本地的路径
五、HDFS常用命令
- -help:输出这个命令参数
bin/hdfs dfs -help rm
- -ls: 显示目录信息
hadoop fs -ls /
- -mkdir:在hdfs上创建目录
# -p参数代表递归创建
hadoop fs -mkdir -p /aaa/bbb/cc/dd
- -moveFromLocal从本地剪切粘贴到hdfs
hadoop fs - moveFromLocal /home/hadoop/a.txt /aaa/bbb/cc/dd
- -moveToLocal:从hdfs剪切粘贴到本地(尚未实现)
[uek@node2 hadoop-2.8.5]$ hadoop fs -help moveToLocal
-moveToLocal <src> <localdst> :
Not implemented yet
- --appendToFile :追加一个文件到已经存在的文件末尾
hadoop fs -appendToFile ./hello.txt /hello.txt
- -cat :显示文件内容
hadoop fs -cat /aaa/bbb/cc/dd/test.txt
- -tail:显示一个文件的末尾
hadoop fs -tail /weblog/access_log.1
- -chgrp 、-chmod、-chown:linux文件系统中的用法一样,修改文件所属权限
hadoop fs -chmod 666 /hello.txt
hadoop fs -chown someuser:somegrp /hello.txt
- -copyFromLocal:从本地文件系统中拷贝文件到hdfs路径去:
```sh
hadoop fs -copyFromLocal ./jdk.tar.gz /aaa/
-copyToLocal:从hdfs拷贝到本地
hadoop fs -copyToLocal /user/hello.txt ./hello.txt
-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 /user/hello.txt ./
-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:统计文件夹的大小信息
[uek@node2 hadoop-2.8.5]$ hadoop fs -du -s -h /user/uek/wcinput
188.5 M /user/uek/wcinput
[uek@node2 hadoop-2.8.5]$ hadoop fs -du -h /user/uek/wcinput
188.5 M /user/uek/wcinput/hadoop-2.8.5.tar.gz
97 /user/uek/wcinput/wc.input
-count:统计一个指定目录下的文件节点数量
hadoop fs -count /aaa/
[uek@node2 hadoop-2.8.5]$ hadoop fs -count /user/uek/wcinput
1 2 197657784 /user/uek/wcinput
嵌套文件层级; 包含文件的总数
- -setrep:设置hdfs中文件的副本数量
hadoop fs -setrep 3 /aaa/jdk.tar.gz
# 这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。
六、如何实现启动HDFS和yarn的时候不输入密码
解决方式就是让电脑知道自己的登录密码或者是别的电脑的登录密码 这样的花启动的时候就不需要输入密码;
配置ssh免密钥登录----配置不使用密码可以登录
核心思想:就是在当前用户的家目录的.ssh目录下生成一个公钥和私钥
然后讲公钥传给别人 那么别人再去登录你的时候就可以不用输入密码了
1、生成密钥
必须在~/.ssh这个目录下执行命令 ssh-keygen -t rsa
2、怎么把密码给别人
ssh-copy-id 你要给的主机ip
HDFS(Hadoop Distributed File System )概述的更多相关文章
- Hadoop ->> HDFS(Hadoop Distributed File System)
HDFS全称是Hadoop Distributed File System.作为分布式文件系统,具有高容错性的特点.它放宽了POSIX对于操作系统接口的要求,可以直接以流(Stream)的形式访问文件 ...
- HDFS(Hadoop Distributed File System )
HDFS(Hadoop Distributed File System ) HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表 ...
- HDFS分布式文件系统(The Hadoop Distributed File System)
The Hadoop Distributed File System (HDFS) is designed to store very large data sets reliably, and to ...
- HDFS(Hadoop Distributed File System )hadoop分布式文件系统。
HDFS(Hadoop Distributed File System )hadoop分布式文件系统.HDFS有如下特点:保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份.运行在廉价的 ...
- HDFS(Hadoop Distributed File System)的组件架构概述
1.hadoop1.x和hadoop2.x区别 2.组件介绍 HDFS架构概述1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个 ...
- HDFS体系结构:(Distributed File System)
分布式系统的大概图 服务器越来越多,客户端对服务器的管理就会越来越复杂,客户端如果是我们用户,就要去记住大量的ip. 对用户而言访问透明的就是分布式文件系统. 分布式文件系统最大的特点:数据存储在多台 ...
- Yandex Big Data Essentials Week1 Scaling Distributed File System
GFS Key Components components failures are a norm even space utilisation write-once-read-many GFS an ...
- Ceph: A Scalable, High-Performance Distributed File System译文
原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...
- 5105 pa3 Distributed File System based on Quorum Protocol
1 Design document 1.1 System overview We implemented a distributed file system using a quorum based ...
随机推荐
- ubuntu docker开启2375端口,支持远程访问
1.编辑docker文件:/usr/lib/systemd/system/docker.service vi /usr/lib/systemd/system/docker.service 2.Exec ...
- rename 批量修改文件名
1.rename的用法 rename与mv的区别就是mv只能对单个文件重命名,而rename可以批量修改文件名 linux中的rename有两种版本,一种是C语言版的,一种是Perl版的.早期的Lin ...
- 我是如何用redis做实时订阅推送的(转)
前阵子开发了公司领劵中心的项目,这个项目是以redis作为关键技术落地的. 先说一下领劵中心的项目吧,这个项目就类似京东app的领劵中心,当然图是截取京东的,公司的就不截了... 其中 ...
- 跨域解决之JSONP和CORS的详细介绍
JSONP跨域和CORS跨域 什么是跨域? 跨域:指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器的安全限制! 同源策略 同源策略:域名.协议.端口均相同. 浏览器执行Jav ...
- 交换机卡在CPU task进程处理方法
故障现象: 笔记本通过console线连接H3C交换机的console口,无法登陆,敲任何东西都无效.因为没有备份,不敢重启.显示以下报错: <test-sw> wrong input! ...
- VS2017编译动态链接库报错
编译后加载DLL,但却无法找到函数入口 经过排查 ,发现问题如下: 加extern "C"的作用是强制该输出函数的名称保留C语言的命名方式.这是因为,如果不强制的话,VC就将你的函 ...
- AspNetCore&MassTransit Courier实现分布式事务
在之前的一篇博文中,CAP框架可以方便我们实现非实时.异步场景下的最终一致性,而有些用例总是无法避免的需要在实时.同步场景下进行,可以借助Saga事务来解决这一困扰.在一些博文和仓库中也搜寻到了.Ne ...
- final修饰符(2)
final局部变量 系统不会对局部变量进行初始化,局部变量必须又程序员显示初始化,因此使用final修饰局部变量,可以在声明时指定默认值,也可以在后面的代码中对该final变量赋初始值,但只能赋值一次 ...
- CSP-S 2020 初赛
游记 游记个鬼啊跨条街就到了=-= 不分Day反正就一天. 9:30开考,8:30起床. 下雨了,一出宿舍门整个学校全被白色的雾气笼罩.愚以为这是祥瑞之气,昨夜似有麒麟貔貅路过,祝我今日初赛RP++ ...
- [HNOI]2011卡农
这是一道很好的组合数学题. 对于和我一样五音里面有六音不全的人来说,我们就应该转换一下题目的意思: 一句话题意: 题目的意思就是说要从一个有 n 个元素的集合当中选出一个长度为m的集合,然后满足: 1 ...