哇!这就是HDFS!

使用HDFS API完成HDFS文件系统上的文件的词频统计代码重构! 使用HDFS API完成HDFS文件系统上的文件的词频统计代码重构! 上篇文章说到硬编码在正常的工作当中是非常忌讳的所以我们必须要重构代码,变成可配置编码! 1.新建一个资源包新建wc.properties文件 INPUT_PATH=/hdfsapi/test/hello.txt OUTPUT_PATH=/hdfsapi/output OUTPUT_FILE=wc.out HDFS_URI=hdf... 阅读详情


本文公众号来源:互联网侦察   作者:channingbreeze


最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是HDFS,推荐阅读!


建议收藏!



640?wx_fmt=jpeg


今天是小史生日,为了庆祝自己今年喜提A厂offer,小史叫了二十多个人一起庆生,吕老师、小史姐姐、小林都去啦。


到了吃午饭的时间,他们一起去了一家精致的茶餐厅,四人一桌,坐了六桌。


所谓众口难调,为了照顾大家,每桌都是自己点菜,小史也是忙前忙后,忙着了解大家都点了些啥,毕竟他要付款。


服务员一下子面对六桌,菜有点多,有些菜忘了上哪桌,小史也会告诉他们。


640?wx_fmt=jpeg


吃着吃着,突然自己桌点的一道芋头排骨汤进了一个苍蝇。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

吃完饭,大家都很开心,回家的路上,小史又拉着吕老师问。


【饭后】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【分布式文件系统】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:这个我当然知道,文件系统就是用来管理文件的一个系统,比如你今天送我的mac pro,我在命令行敲一个ls,就能看到当前目录的文件。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【文件切块】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:我明白了,原来是这么玩的。大文件切块后分别存储在多台机器,然后提供统一的操作接口,看来分布式文件系统hdfs也是挺简单的。


【潜在问题】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:哈哈,这样就太慢了,而且效率很低,是一个o(n)的算法。还有啊,我们刚刚说一个文件分别存在几台机器上,假如其中一台机器坏了,那么这个文件就不能访问了?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:那可不对,你可以算一下,假如我有一个1000台机器组成的分布式系统,一台机器每天出现故障的概率是0.1%,那么整个系统每天出现故障的概率是多大呢?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:当然有,如果要存储PB级或者EB级的数据,成千上万台机器组成的集群是很常见的,所以说分布式系统比单机系统要复杂得多呀。


【hdfs架构】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:小史,你可以把每一桌看作是一个DataNode,每道菜看作是一个文件切块,服务员看作client,你就是NameNode。

640?wx_fmt=jpeg

吕老师:DataNode是真正存储数据的地方,NameNode相当于一个管理者master,它知道每一个DataNode的存储情况,client其实就是那个对外操作的统一接口。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:嗯,不需要,他问我就行,我会告诉他。哦,我明白了,client要查询文件的时候,也是先去NameNode里面询问需要找的文件在哪个DataNode上是么?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:因为其他桌也点了相同的菜,所以我们可以去其他桌吃这个菜啊。等等,我好像知道了,你的意思是hdfs会将数据保存多份是么?

640?wx_fmt=jpeg

吕老师:没错,hdfs在写入一个数据块的时候,不会仅仅写入一个DataNode,而是会写入到多个DataNode中,这样,如果其中一个DataNode坏了,还可以从其余的DataNode中拿到数据,保证了数据不丢失。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【hdfs读写流程】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:没问题啊,读取文件大概分为这几个步骤:

1、client询问NameNode,我要读取某个路径下的文件,麻烦告诉我这个文件都在哪些DataNode上?

2、NameNode回复client,这个路径下的文件被切成了3块,分别在DataNode1、DataNode3和DataNode4上

3、client去找DataNode1、DataNode3和DataNode4,拿到3个文件块,通过stream读取进来

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:文件写入也是类似的吧?分为这几个步骤:

1、client先将文件分块,然后询问NameNode,我要写入一个文件到某个路径下,文件有3块,应该怎么写?

2、NameNode回复client,可以分别写到

DataNode1、DataNode2、DataNode3、DataNode4上,记住,每个块重复写3份,总共是9份

3、client找到

DataNode1、DataNode2、DataNode3、DataNode4,把数据写到他们上面

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

由于之前吕老师专门给小史讲过mysql的专题,所以小史对mysql的理解还是比较深的。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【SecondNameNode】


640?wx_fmt=jpeg

(注:元数据metadata是指描述数据的数据,这里指描述文件的数据,比如文件路径,文件被分为几块?每个块在哪些DataNode上等)

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:哦,原来是这个问题啊,简单啊,既然文件的元数据这么重要,那可以持久化到硬盘上啊,重启之后再从硬盘把数据恢复到内存不就行了。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:对哦,这么说是要写,这块我确实欠考虑,写入流程应该还要考虑这个,但是如果写硬盘,还得找到那个文件的元信息的位置,再进行插入或修改,这样会不会很慢啊?或者我直接把整个文件系统的元数据写到硬盘,省去查找时间,会不会好点?

640?wx_fmt=jpeg

吕老师:小史,这次你考虑得很全面,如果每次写文件都要再去寻找元数据位置,或者把所有元数据在硬盘中同步一份,写入的效率将大大受到影响,所以hdfs并不是这样做的。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:hdfs会把操作日志记录下来,存在editlog中,下次重启的时候,先加载editlog,把所有的日志都回放一遍,达到重启前的状态。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:如果NameNode运行了很久,文件操作很多的话,editlog就会很大吧?那么下次NameNode重启的时候,需要进行大量操作的恢复,启动时间就会非常长。

640?wx_fmt=jpeg

吕老师:哈,小史,你的思维越来越活跃了,没错,这确实是一个大问题,不过hdfs的设计者也想到了这个问题。你看看之前hdfs的架构图,里面有一个SecondNameNode,就是用来解决这个问题。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:刚刚其实只说了一半,NameNode确实会回放editlog,但是不是每次都从头回放,它会先加载一个fsimage,这个文件是之前某一个时刻整个NameNode的文件元数据的内存快照,然后再在这个基础上回放editlog,完成后,会清空editlog,再把当前文件元数据的内存状态写入fsimage,方便下一次加载。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【hdfs的HA】


640?wx_fmt=jpeg

小史:我也想到一个问题,NameNode对于hdfs来说是非常重要的,假如NameNode挂了,谁来接替它的工作呢?是SecondNameNode吗?

640?wx_fmt=jpeg

吕老师:哈,你这样想可就大错特错啦,这是初学hdfs很容易被误导的一个地方,NameNode挂了, SecondNameNode并不能替代NameNode,所以如果集群中只有一个NameNode,它挂了,整个系统就挂了。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:没错,hadoop2.x之前,整个集群只能有一个NameNode,是有可能发生单点故障的,所以hadoop1.x有本身的不稳定性。但是hadoop2.x之后,我们可以在集群中配置多个NameNode,就不会有这个问题了,但是配置多个NameNode,需要注意的地方就更多了,系统就更加复杂了。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:这和系统的设计理念是有关系的,虽然hadoop1.x存在一个NameNode单点,但是它大大简化了系统的复杂度,并且数据量在一定范围内时,NameNode并没有这么容易挂,所以那个时代是被接受的。但是随着数据量越来越大,这个单点始终是个隐患,所以设计者不得不升级为更加复杂的hadoop2.x,来保证NameNode的高可靠。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:俗话说一山不容二虎,两个NameNode只能有一个是活跃状态active,另一个是备份状态standby,我们看一下两个NameNode的架构图。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:因为active的NameNode挂了之后,standby的NameNode要马上接替它,所以它们的数据要时刻保持一致,在写入数据的时候,两个NameNode内存中都要记录数据的元信息,并保持一致。这个JournalNode就是用来在两个NameNode中同步数据的,并且standby NameNode实现了SecondNameNode的功能。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:active NameNode有操作之后,它的editlog会被记录到JournalNode中,standby NameNode会从JournalNode中读取到变化并进行同步,同时standby NameNode会监听记录的变化。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

(注意,hadoop2.x如果只部署一个NameNode,还是会用SecondNameNode)


【hdfs优缺点】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:可以,hdfs可以存储海量数据,并且是高可用的,任何一台机器挂了都有备份,不会影响整个系统的使用,也不会造成数据丢失。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:哈哈,这到不是主要的。小史,你想想吃饭场景,如果每一桌都点份量小的菜,但是点很多份,那你还能清楚记住哪桌点哪些吗?

640?wx_fmt=jpeg

小史:我想我可能记不住了,你的意思是每一个小文件都有元信息,它们都存在NameNode里面,可能造成NameNode的内存不足?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:如果要随机写,由于文件被切块,需要先找到内容在哪个块,然后读入内存,修改完成之后再更新所有备份,由于一个块并不小,这个效率会很低吧?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【笔记】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史在吕老师的课堂上,赶紧把这次的笔记记录下来。


1、hdfs是一个分布式文件系统,简单理解就是多台机器组成的一个文件系统。


2、hdfs中有3个重要的模块,client对外提供统一操作接口,DataNode真正存储数据,NameNode协调和管理数据,是一个典型的master-slave架构。


3、hdfs会对大文件进行切块,并且每个切块会存储备份,保证数据的高可用,适合存储大数据。


4、NameNode通过fsimage和editlog来实现数据恢复和高可用。


5、hdfs不适用于大量小文件存储,不支持并发写入,不支持文件随机修改,查询效率大概在秒级。


最后

乐于输出干货的Java技术公众号:Java3y。公众号内有200多篇原创技术文章、海量视频资源、精美脑图,不妨来关注一下!

640?wx_fmt=jpeg

转发到朋友圈是对我最大的支持!640
HDFS 底层交互原理,看这篇就够了! 前言HDFS全称是 Hadoop Distribute File System,是 Hadoop最重要的组件之一,也被称为分步式存储之王。本文主要从 HDFS 高可用架构组成、HDFS 读写流程、如何保证可用性以及高频面试题出发,提高大家对 HDFS 的认识,掌握一些高频的 HDFS 面试题。HDFS 高可用架构组成在 HDFS 2.X 时,HDFS 提出了高可用(High Availabili... 阅读详情

相关推荐

PostgreSQL隐式类型转换全解析:告别operator does not exist

强类型数据库是现代数据系统的基石,它在带来严谨性的同时,也常常让开发者在类型不匹配报错前束手无策。当一条SQL因bigint与text比较而抛出operator does not exist时,根源往往在于对数据库隐式转换规则的误解。PostgreSQL通过pg_cast系统表将转换划分为隐式、赋值与显式三个级别,并依据操作符解析逻辑决定是否自动提升类型。理解这些机制,不仅能快速定位JOIN、UNION、函数调用等场景下的类型错误,还能帮助开发者合理使用EXPLAIN VERBOSE、pg_typeof等工

weixin_29587015的博客 304

sparkstreaming监听hdfs目录_Spark Streaming编程模型

文章来源:加米谷大数据本文将介绍 Spark Streaming 的编程模型,包括 DStream 的操作流程和使用方法。DStream 的操作流程DStream 作为 Spark Streaming 的基础抽象,它代表持续性的数据流。这些数据流既可以通过外部输入源来获取,也可以通过现有的 DStream 的 Transformation 操作来获得。在内部实现上,DStream 由一组时间序列上...

weixin_39613951的博客 354

树莓派5外接RTX显卡:从PCIe到驱动的完整踩坑指南

在ARM架构与GPU加速的交汇点,树莓派5凭借其PCIe接口为DIY爱好者打开了外接独立显卡的大门。然而,PCIe x1的带宽限制、供电差异以及NVIDIA驱动在ARM Linux上的兼容性,使得这一组合成为一场高强度的系统底层排错训练。从理解PCIe总线原理、驱动加载机制到CUDA环境配置,每一步都充满挑战。本文以工程实践视角,梳理外接RTX显卡的完整流程、常见故障与性能瓶颈,并探讨其在边缘计算、AI推理等场景下的真实价值,帮助你理性评估这一实验性方案的可行性与替代路径。

chubaisheng8627的博客 351

【生活现场】从生日请客到hdfs工作原理解析

郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序。大佬除外。欢迎大家转发文章,谢谢!小史是一个非科班的程序员,虽然学的是电子专业,但是...

yeluoxiang的专栏 479

python调用海康工业相机并用opencv显示(整体实现)

python语言调用海康机器人(hikrobotics)工业相机 第一章 Python 语言下连接海康工业相机,并获取数据 文章目录 系列文章目录 前言 目录 python语言调用海康机器人(hikrobotics)工业相机 文章目录 前言 一、底层接口的准备 二、使用步骤 1.引入库 2.枚举设备 3.判断设备类型 4.输入连接设备 5.创建相机实例并创建句柄 6.打开设备 7.获取相关参数 8.主动获取图像 9.开启取流并获取每张.

qq_39570716的博客 5万+

在 NVIDIA Orin (JetPack 6.0) 上配置 PyTorch 2.4 + Torchvision 0.19 的完整避坑指南

本文提供在NVIDIA Jetson Orin设备上,基于JetPack 6.0系统配置PyTorch 2.4与Torchvision 0.19环境的完整指南。通过使用Miniconda环境隔离、安装特定版本PyTorch夜间构建版、编译匹配的Torchvision源码等步骤,解决版本不匹配、CUDA支持等常见问题,确保AI开发环境稳定可用。

weixin_29179311的博客 364

spark streaming监控HDFS文件目录

集群环境:CDH5.8.0 / spark1.6.0 / scala2.10.4基于Scala的基本使用方式如下:package com.egridcloud.sparkstreaming import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.Path import org.apache.hadoop.io...

lhxsir的博客 4104

【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

【内附代码】【深大计算机网络】实验三 可靠传输机制 实验报告 附代码

m0_74268508的博客 1654

Spark Streaming入门 - 监控某个目录的文件做为输入流

注意事项 * 1、监控目录下的文件的格式必须是统一的 * 2、不支持嵌入文件目录 * 3、一旦文件移动到这个监控目录下,是不能变的,往文件中追加的数据是不会被读取的 编写spark程序,实时读取某个目录的数据 package cn.taobao; import org.apache.spark.api.java.function.FlatMapFunction; import org.apache.spark.api.java.function.Function2; import org....

小哇 798

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

该包可以显著提高NeRF训练速度,是和NeRFstudio等框架中,必须使用的。本文提供tiny-cuda-nn可以安装的完整包的下载链接,可以直接上传到项目中安装。附带笔者遇到的问题的解决方案。

zik的博客 7029

Coze智能体开发:工作流教程之解析文件概述

大模型本身并不具备文件读取和解析的能力,无法直接处理文件字节流。对于支持工具调用(Function calling)的模型,扣子提供插件功能来帮助大模型调用外部工具 API,拓展大模型的能力边界。扣子插件商店提供海量官方插件和第三方插件,例如链接读取插件可以将链接对应的文件内容解析为纯文本传递给大模型。

王国平的博客 1793

在Alluxio和HDFS之间保持文件同步的两种方法

Alluxio为Spark或Presto等应用程序提供分布式数据访问层,以通过统一文件系统命名空间中的单一API访问不同的底层文件系统(或UFS)。如果用户只通过Alluxio与UFS中的文件进行交互,由于Alluxio保存了客户端对UFS所做的任何更改,因此它将Alluxio命名空间与UFS命名空间保持同步(参见下图) 但是,如果在不通过Alluxio的情况下更改UFS中的文件,则UFS命名空间...

Alluxio的博客 2008

2026华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

2025华为OD机考双机位C卷++ 双机位B卷 + 双机位A卷 + 2025C/B/A卷+ 往年真题 - 题库目录分值说明 + 考点说明+在线OJ

算法大师! 5万+

sparkstreaming监听hdfs目录_哇!这就是HDFS!

专注于Java领域优质技术,欢迎关注作者:channingbreeze 互联网侦察今天是小史生日,为了庆祝自己今年喜提A厂offer,小史叫了二十多个人一起庆生,吕老师、小史姐姐、小林都去啦。到了吃午饭的时间,他们一起去了一家精致的茶餐厅,四人一桌,坐了六桌。所谓众口难调,为了照顾大家,每桌都是自己点菜,小史也是忙前忙后,忙着了解大家都点了些啥,毕竟他要付款。服务员一下子面对六桌,菜有点多,有些菜...

weixin_39767887的博客 228

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

HDFS命令,掌握!

HDFS的Shell客户端操作 1.基本语法 bin/hadoop fs 具体命令 2.命令大全 [root@hadoop101 hadoop-2.7.2]$ bin/hadoop fs [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src>...

weixin_44011994的博客 251

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDFS 你就差这最后一篇!

Hadoop 1. Hadoop 介绍 The Apache Hadoop project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of

i_deAc的博客 475

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HDFS有点甜,比您想象中有趣!

一、HDFS就像一位“成熟的男人”,他有故事 在Hadoop2.0的时代,HDFS的默认块Block大小为128MB,原来是有深层原因的。(据说面试题经常问这个) 如果Block块太小,一个大文件被分成了若干个小Block,则需要花费很多时间用于Block文件的寻址,浪费了时间。 而Block块太大,则会降低处理效率。如MapReduce将块作为一个map处理单元,如果只有一个块,则同时...

qq_29718979的博客 195

震惊!一篇文章就掌握了 HDFS Snapshot 的用法

写在前面 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 解答 概述 HDFS快照(Snapshot)是文件系统在某一时刻只读的镜像;可以是一个完整的文件系统也可以是某个目录的镜像。 快照常用场景 防止用户的错误操作 管理员可以通过以滚动的方式周期性设置一个只读的快照,这样就可以在文件系统上有若干份只读快照。 如果用户意外地删除了一个文件, 可以使用包含该文件的最

Shockang的博客 1万+

HDFS HA 高可用!

HA 概述 1)所谓 HA(high available),即高可用(7*24 小时不中断服务)。 2)实现高可用最关键的策略是消除单点故障。HA 严格来说应该分成各个组件的HA 机制:HDFS 的 HA 和 YARN 的 HA。 3)Hadoop2.0 之前,在 HDFS 集群中NameNode 存在单点故障(SPOF)。 4)NameNode 主要在以下两个方面影响HDFS 集群: NameN...

qq_42826453的博客 365

Hadoop:学习HDFS,看完这篇就够了!

HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统中的,用于存储和处理大规模数据集。由于其具有等特点,因此广泛应用于大数据处理和分析场景。

Liu_y_xin的博客 1773

HDFS下载文件报错!

/**      * 下载文件      *      * @throws Exception      * @throws IllegalArgumentException      */     @Test     public void download() throws Exception {         fs.copyToLocalFile(new Path("

yangzongzhuan的专栏 1766

HDFS报错:Connection refused!

在华为大数据平台FI C50上查看hdfs上的数据报错(hdfs dfs -ls /): 自己在装其他组件的过程中,重启过多次服务,是不是因为这个原因,于是把namenode节点HDFS服务重启了,重启之后问题解决。

A coder of life 2990

又双叒叕来更新啦!Hadoop——HDFS篇

文章目录HDFS(存储)概述HDFS的Shell操作常用命令实操HDFS客户端操作环境准备HDFS的API操作HDFS的I/O流操作HDFS数据流写数据的过程网络拓扑——节点距离计算机架感知读数据的过程NN和2NN工作机制Edits和FSimageCheckPoint触发条件设置设置NN故障处理集群安全模式安全模式相关常用命令NameNode多目录配置DataNodeDataNode工作机制数据的完整性DataNode掉线时限参数配置服役新数据节点退役旧数据节点添加白名单黑名单退役DataNode多目录配置

5akura's Blog 1196
上一篇: 为什么我这条SQL执行那么慢?
下一篇: 什么是TensorBoard?
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值