什么是hdfs如何使用驱动程序访问hdfs

目录

什么是hdfs

主要特点包括:

架构组成:

应用场景:

如何使用驱动程序访问hdfs

准备工作环境:

启动 Hadoop 服务

可能遇到的问题:

ssh验证失败

验证Hadoop服务

对hdfs进行文件操作


什么是hdfs

HDFS(Hadoop Distributed File System)是Apache Hadoop项目中的一个关键组件,它是一个设计用来运行在商用硬件上的分布式文件系统。HDFS被设计为高容错性,并且适合部署在低成本硬件上,它提供了高吞吐量的数据访问和容量管理能力,适合大规模数据集的存储。

主要特点包括:

分布式存储:HDFS将数据分散存储在集群中的多台计算机上,每个文件被分成多个块(block),默认情况下,每个块大小为128MB(可以配置)。

高容错性:HDFS通过在集群中的多个节点上保存数据的多个副本来提供容错能力。如果某个节点或硬件发生故障,系统可以自动在其他节点上找到备份数据进行恢复,确保数据的可靠性和可用性。

适合大数据处理:HDFS被设计用来支持大数据集,具有高吞吐量的数据访问特性。它的设计考虑了数据的局部性原理,即将计算移动到数据附近,从而减少数据移动的开销,提高处理效率。

简单的一致性模型:HDFS采用了一种简单的一致性模型,适用于大多数应用程序的数据访问需求。

架构组成:

NameNode:负责管理文件系统的命名空间(namespace)以及客户端对文件的访问请求。它维护文件系统的目录树和文件到数据块的映射信息。

DataNode:负责实际存储数据块。每个数据节点(DataNode)负责存储和管理其上的数据块,并定期向NameNode报告它所存储的块信息。

应用场景:

HDFS广泛用于支持Apache Hadoop生态系统中的大数据处理应用,如MapReduce。它不仅适合存储大规模数据集,还能处理大数据的高吞吐量读写需求,是构建大数据分析和处理平台的重要基础之一。

如何使用驱动程序访问hdfs

准备工作环境:

安装和配置Hadoop:确保计算机或集群上安装了Hadoop,并且配置正确。这包括设置Hadoop的核心配置文件以及其他必要的配置。

1)、core-site.xml

这个文件包含了 Hadoop 核心的配置信息,如文件系统的默认名称(fs.defaultFS)、Hadoop 中各个服务的通信端口等。

<configuration><property><name>fs.defaultFS</name><value>hdfs://localhost:8020</value></property><!-- 其他核心配置 --></configuration>

2)、hdfs-site.xml

这个文件包含了 HDFS (Hadoop 分布式文件系统) 的配置信息,如数据块的复制数量(dfs.replication)、数据节点的存储路径等。

<configuration><property><name>dfs.replication</name><value>3</value></property><!-- 其他HDFS相关配置 --></configuration>

3)、mapred-site.xml

这个文件包含了 MapReduce 的配置信息,包括任务调度、作业跟踪等。

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 其他MapReduce相关配置 --></configuration>

4)、yarn-site.xml

这个文件包含了 YARN (Yet Another Resource Negotiator) 的配置信息,如资源管理器地址、节点管理器的配置等。

<configuration><property><name>yarn.resourcemanager.hostname</name><value>localhost</value></property><!-- 其他YARN相关配置 --></configuration>

启动 Hadoop 服务

完成配置文件的修改后,可以通过以下命令重新启动 Hadoop 服务:

sbin/start-all.sh

可能遇到的问题:

ssh验证失败

解决方法:

1,将公钥添加到授权列表:

mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2,设置文件权限:

chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys

3,SSH 配置问题

确保 SSH 服务器的 SSH 配置允许使用密钥进行身份验证

更改了sshd_config文件的配置

PubkeyAuthentication yes 是否启用公钥验证

4,测试 SSH 登录:

ssh 主机名@localhost

SSH配置正确且成功连接

5,启动hadoop,启动失败

配置Hadoop环境变量

编辑 Hadoop 的配置文件 hadoop-env.sh,一般在安装目录/etc/hadoop/hadoop-env.sh,hadoopuser改为自己的主机名

export HDFS_NAMENODE_USER=hadoopuserexport HDFS_DATANODE_USER=hadoopuserexport HDFS_SECONDARYNAMENODE_USER=hadoopuserexport YARN_RESOURCEMANAGER_USER=hadoopuserexport YARN_NODEMANAGER_USER=hadoopuser

再次启动提示ssh认证问题

6,清理之前的进程,打开防火墙。

启动成功

验证Hadoop服务

使用jps查看进程

访问 Hadoop Web 界面

对hdfs进行文件操作

列出文件和目录:hadoop fs -ls /

创建目录:hadoop fs -mkdir /new_test

移动文件或目录:hadoop fs -mv /test /new_test

上传文件到 HDFS:hadoop fs -put Desktop/testFile.png /new_test/test

hadoop fs -ls /new_test/test

从 HDFS 下载文件到本地:hadoop fs -get /new_test/test/testFile.png local/test

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

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

相关文章

vite5+vue3开发阅读APP实战笔记20240725

目前界面长成这样&#xff1a; 配置别名 修改vite.config.js import {defineConfig} from vite import vue from vitejs/plugin-vue import path from "path"// https://vitejs.dev/config/ export default defineConfig({server: {open: true,port: 8088,},plug…

论文阅读【检测】:商汤 ICLR2021 | Deformable DETR

文章目录 论文地址AbstractMotivation技术细节多尺度backbone特征MSDeformAttention 小结 论文地址 Deformable DETR 推荐视频&#xff1a;bilibili Abstract DETR消除对目标检测中许多手工设计的组件的需求&#xff0c;同时表现出良好的性能。然而&#xff0c;由于Transfor…

MongoDB - 聚合阶段 $count、$skip、$project

文章目录 1. $count 聚合阶段2. $skip 聚合阶段3. $project 聚合阶段1. 包含指定字段2. 排除_id字段3. 排除指定字段4. 不能同时指定包含字段和排除字段5. 排除嵌入式文档中的指定字段6. 包含嵌入式文档中的指定字段7. 添加新字段8. 重命名字段 1. $count 聚合阶段 计算匹配到…

Odoo 17 仪表盘开发指南:打造高效的数据可视化中心

在现代企业管理中,数据驱动的决策至关重要。Odoo 17 提供了强大的平台来构建自定义仪表板, 适用于数据统计、工作台、驾驶舱、数据可视化等场景,以便用户能够一目了然地监控关键指标并做出及时反应。本文将介绍如何在 Odoo 17 中开发一个灵活且高度定制化的仪表盘系统,包括…

12_TypeScript 模块 以及 模块化封装DB 库

TypeScript 模块 1、模块中暴露方法12、模块中暴露方法23、模块中暴露方法34、封装[上一节的db 库](https://blog.csdn.net/qq_46143850/article/details/140664100)5、TypeScript 命名空间 模块的概念&#xff08;官方&#xff09;&#xff1a; 关于术语的一点说明&#xff1a…

TCP Nagle算法,TCP_CORK,延迟确认机制简单介绍

Nagle Nagle算法是一种改善TCP/IP网络效率的算法。 算法的目的 主要目的是减少网络中小数据包的数量,从而减少网络拥塞。它通过延迟发送小数据包来实现这一目标,直到有足够的数据可以发送一个完整的数据包。 工作原理 如果要发送的数据量达到了最大分段大小(Maximum Segmen…

Android笔试面试题AI答之Android系统与综合类(1)

答案仅供参考&#xff0c;来着文心一言、Kimi.ai 目录 1.简述嵌入式实时操作系统&#xff0c;Android 操作系统属于实时操作系统吗?嵌入式实时操作系统简述Android操作系统是否属于实时操作系统 2.简述Android系统的优势和不足&#xff1f;3.简述Android的系统架构 &#xff1…

实战深度学习--进行蘑菇分类

数据集&#xff1a;https://pan.quark.cn/s/4d3526600c0c 概述 本笔记将介绍如何使用Python和深度学习库&#xff08;如TensorFlow和Keras&#xff09;来构建一个卷积神经网络&#xff08;CNN&#xff09;模型&#xff0c;以区分可食用和有毒的蘑菇。我们将从数据准备、模型构…

Vue.js 与 Ajax(vue-resource)的集成应用

Vue.js 与 Ajax&#xff08;vue-resource&#xff09;的集成应用 Vue.js 是一款流行的前端JavaScript框架&#xff0c;以其简洁、灵活和高效的特点而受到开发者的喜爱。在实际开发中&#xff0c;与后端服务的通信是不可或缺的&#xff0c;而Ajax技术是实现这一功能的关键。在V…

C语言 -- 动态内存管理

C语言 -- 动态内存管理 1. 为什么要有动态内存分配2. malloc 和 free2.1 malloc2.2 free 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动…

【力扣】SQL题库练习5

高级查询和连接 1341.电影评分 表&#xff1a;Movies ------------------------ | Column Name | Type | ------------------------ | movie_id | int | | title | varchar | ------------------------ movie_id 是这个表的主键(具有唯一值的列)。 ti…

力扣131题:分割回文串的 Java 实现

引言 力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题&#xff0c;要求将一个字符串分割成尽可能多的回文子串。本文将介绍如何使用 Java 解决这个问题。 题目描述 …

05 capture软件创建元器件库(以STM32为例)

05 创建元器件库_以STM32为例 一、新建原理图库文件二、新建器件三、开始创建元器件 一些IC类元件&#xff0c;需要自己创建元器件库。 先看视频&#xff0c;然后自己创建STM32F103C8T6的LQFP48的元器件。 STM32F103C8T6是目前为止&#xff0c;自己用的最多的芯片。 先要有数据…

mysqlMHA

mysqlMHA 什么是MHA ​ 高可用模式下的故障切换,基于主从复制. ​ 至少需要3台 ​ 故障切换过程在0-30秒之内. ​ 这过程和keepalive比较像,也是通过vip地址,根据vip地址所在的主机,确定主备. ​ 主和备不是靠优先级确定的,主从复制的时候就确定了主,备是在MHA的过程中确…

Qt自定义MessageToast

效果&#xff1a; 文字长度自适应&#xff0c;自动居中到parent&#xff0c;会透明渐变消失。 CustomToast::MessageToast(QS("最多添加50张图片"),this);1. CustomToast.h #pragma once#include <QFrame>class CustomToast : public QFrame {Q_OBJECT pub…

【学习笔记】解决Serial Communication Library编译问题

【学习笔记】解决编译 Serial Communication Library 时的 Catkin 依赖问题 Serial Communication Library 是一个用 C 编写的用于连接类似 rs-232 串口的跨平台库。它提供了一个现代的 C 接口&#xff0c;它的工作流程设计在外观和感觉上与 PySerial 相似&#xff0c;但串口速…

ControlNet on Stable Diffusion

ControlNet on Stable Diffusion 笔记来源&#xff1a; 1.Adding Conditional Control to Text-to-Image Diffusion Models 2.How to Use OpenPose & ControlNet in Stable Diffusion 3.ControlNet与DreamBooth&#xff1a;生成模型的精细控制与主体保持 4.Introduction t…

光猫设置桥接 路由器pppoe拨号 设置正常访问光猫 (openwrt)

网络信息展示 光猫桥接很简单吧&#xff0c;就不说了。先来列出修改前的网络接口和网络信息。 光猫192.168.1.1&#xff0c;openwrt 10.0.0.0/8 初始配置 需要记录的信息&#xff1a;WAN的网络设备&#xff08;eth1&#xff09;&#xff0c;光猫的IP&#xff08;192.168.1.1&am…

StarryCoding-35:鼠鼠我鸭

题目描述 在一个叫做酱西功爷枝叶鸡树学院的地方有&#x1d45b;n只小动物&#xff0c;要么是鼠鼠&#xff0c;要么是鸭鸭&#xff0c;从11到&#x1d45b;n编号&#xff0c;每只小动物有个体重&#x1d44e;&#x1d456;ai​。 在这个学校里&#xff0c;存在一种神奇的魔法…

Symfony 入门指南:快速安装与基础配置

Symfony 入门指南&#xff1a;快速安装与基础配置 Symfony 是一个强大而灵活的 PHP 框架&#xff0c;广泛应用于构建现代 Web 应用程序。本指南将带您一步一步地了解如何快速安装 Symfony&#xff0c;并完成基本配置&#xff0c;以便您能够开始使用这个强大的框架。 目录 引…