大数据-学习实践-3HDFS

news2024/11/14 3:21:57

大数据-学习实践-2HDFS

(大数据系列)

文章目录

  • 大数据-学习实践-2HDFS
    • 1知识点
    • 2具体内容
      • 2.1HDFS介绍
      • 2.2HDFS操作
        • 2.2.1基本操作
        • 2.2.2Java操作HDFS
      • 2.3HDFS体系结构
        • 2.3.1NameNode
        • 2.3.2SecondaryNameNode
        • 2.3.3DataNode
        • 2.3.4总结
      • 2.4HDFS回收站
      • 2.4HDFS安全模式
      • 2.5定时上传至HDFS
      • 2.6HDFS高可用和高扩展
    • 3待补充
    • 4Q&A
    • 5code
    • 6参考

1知识点

  • HDFS介绍
  • HDFS基本操作
  • Java操作HDFS
  • HDFS体系结构
  • HDFS回收站
  • HDFS安全模式
  • 定时上传至HDFS
  • HDFS高可用和高扩展

2具体内容

2.1HDFS介绍

在这里插入图片描述

  • Hadoop Distributed File System
  • 允许文件通过网络在多台主机上分享的文件系统,可以让多台机器上的多个用户分享文件和存储空间
  • HDFS只是一种实现,适合大文件

2.2HDFS操作

2.2.1基本操作

格式:bin/hdfs dfs -xxx scheme://authority/path(路径已加入环境变量,bin可不写)
在这里插入图片描述

  • hdfs dfs -ls hdfs://bigdata01:9000/
  • hdfs dfs -ls /
  • hdfs dfs -put readme.txt /
  • hdfs dfs -cat /readme.txt
  • hdfs dfs -get /readme.txt r.txt
  • hdfs dfs -mkdir /test
  • hdfs dfs -mkdir -p /t/abc
  • hdfs dfs -ls -R
  • hdfs dfs -rm /readme.txt
  • hdfs dfs -rm -r /t
  • hdfs dfs -rm -r /test
    在这里插入图片描述统计文件量及大小:
  • hdfs dfs -ls / | wc -l
  • hdfs dfs -ls / | grep / | awk ‘{print $8,$5}’

2.2.2Java操作HDFS

  • 配置maven环境变量
  • IDEA创建项目,设置本地maven仓库路径
  • 安装hadoop依赖,pom.xml记得引入
  • 文件操作:上传、下载、删除

上传文件:
在这里插入图片描述提取文件:封函数

在这里插入图片描述删除文件:
在这里插入图片描述

  • 权限:打包至linux执行;或者关闭集群权限校验机制,hdfs-site.xml文件
    在这里插入图片描述

2.3HDFS体系结构

  • 支持主从结构,主节点为NameNode,支持多个从节点DataNode
  • 含一个SecondaryNameNode进程
    在这里插入图片描述

2.3.1NameNode

  • 整个文件系统的管理节点
  • 维护整个文件系统的文件目录树,文件/目录信息每个文件对应的数据块列表,并负责接收用户操作请求
  • fsimage
  • edits
  • seed_txid
  • VERSION
#文件目录树及文件数据列表等核心信息,源数据信息
hdfs oiv -p XML -i fsimage_000000056 -o fsimage56.xml
#事务文件
hdfs oev -i edits_000000057-00000000072 -o edits.xml

#保存文件编号信息
cat seen_txid 

#保存版本信息
cat VERSION

2.3.2SecondaryNameNode

  • 定期把edits文件内容合并到fsimage
  • 合并称checkpoint,合并时对edits内容进行转换,生成新的内容保存到fsimage中
  • 注:NameNode的HA架构中没有SecondaryNameNode进程,文件合并由standby NameNode负责实现

2.3.3DataNode

  • 提供真实文件数据的存储服务
  • HDFS按固定大小,顺序对文件进行划分并编号,划分好的每一个块称为一个Block,默认128M
  • 从节点,dfs/data、current下存储
  • 如果一个文件小于一个数据块大小,并不会占据整个数据块空间
  • Replication:多副本机制,默认3
  • 通过dfs.replication属性控制

2.3.4总结

NameNode维护2份关系:

  • File与Block list关系,对应关系信息存在fsimage和edits文件中(NameNode启动时把文件中的元数据信息加载到内存中)
  • DataNode与Block关系(DataNode启动时把当前节点的Block信息和节点信息上报给NameNode)

2.4HDFS回收站

  • 回收站目录:/user/用户名/.Trash/
  • 有默认保存周期,过期未恢复被HDFS自动彻底删除
  • 默认不开启
  • 修改:core-site.xml ,fs.trash.interval 属性,并集群同步
    在这里插入图片描述
hdfs dfs -rm /readme.txt
hdfs dfs -rm -skipTrash /user.txt #忽略回收站,永久删除

2.4HDFS安全模式

  • 刚启动进入安全模式,无法执行写操作
  • 查看:hdfs dfsadmin -safamode get
  • 离开:hdfs dfsadmin -safamode leave

2.5定时上传至HDFS

  • 获取昨天日志名称
  • 在HDFS上使用昨天的日期创建目录
  • 将昨天的日志文件上传到刚创建的HDFS目录
  • 考虑脚本重跑,补数据情况
  • 配置crontab任务
#!/bin/bash
yesterday = $1
if [ "yesterday" = "" ]
then
	yesterday = 'date +%Y_%m_%d --date= "1 days ago"'
fi

logPath = /data/log/access_${yesterday}.log
hdfsPath = /log/${yesterday//_/} #下划线去电,拼接成hdfs路径
hdfs dfs -mkdir -p ${hdfsPath}
hdfs dfs -put ${logPath} ${hdfsPath}
sh -x uploadLogData.sh
sh -x uploadLogData.sh 2020_04_10
#手动上传2020_04_10文件;注意写脚本的时候,留好接口

#配置crontab
#新增:
0 1 * * * root sh /data/shell/uploadLogData.sh >> /data/shell/uploadLogData.log

2.6HDFS高可用和高扩展

NameNode节点宕机

NameNode节点宕机内存不够用?

  • HA (High Available)
    在这里插入图片描述

    • HA表示一个集群存在多个NameNode,只有一个NameNode是Active状态,其他是Standby
    • ActiveNameNode(ANN)负责所有客户端操作,StandbyNameNode(SNN)同步ANN状态信息,以提供快速故障恢复能力
    • 使用HA时,不能启动SecondaryNameNode,会出错
  • HDFS高扩展Federation

    • 解决单一命名空间的问题, 提供HDFS集群扩展性、性能更高效、良好的隔离性
  • Federation+HA
    在这里插入图片描述

3待补充

4Q&A

5code

6参考

  • 大数据课程资料

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

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

相关文章

java版工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单

java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显…

Kalman Filter in SLAM (4) ——Iterated Extended Kalman Filter (IEKF, 迭代扩展卡尔曼滤波)

文章目录1. IEKF 概述2. IEKF 的核心思想2.1. The Motivation of Iteration2.2. IEKF 迭代线性化步骤3. IEKF 的推导3.1. 预测公式3.2. 校正公式1. IEKF 概述 由于非线性模型中做了线性化近似,当非线性程度越强时,误差就会较大,但是由于线性…

删库跑路现场还原

数据库是公司重要资产,在此类重要资产平台上,尤其是重要操作,应该保持敬畏心。数据库被删了?可怎么证明是某某某删了数据库?或者根本都不知道谁删除了数据库,又没抓现行,该怎么办?正…

品牌直播人气高达80w+,如何在B站打造品牌营销阵地?

2月9日,手机品牌REALME真我(以下简称“真我”),在B站开启一场「发布会」盛宴。这场发布会正是为新机“真我GT Neo5”发布进行全面宣传,在当日,真我品牌官方号在B站开启了一场线上新机发布会。来源-B站官方号…

云和虚拟化有什么区别?

云和虚拟化概念容易被混淆,特别是因为它们都围绕着用抽象资源创建有用的环境。但是,虚拟化是一项允许您从单个物理硬件系统创建多个模拟环境或专用资源的技术,而云是可在整个网络中抽象,汇总和共享可伸缩资源的IT环境。简而言之&a…

优化UnRaid容器的WebUI端口设置实现应用快捷访问的方法

文章目录前言详细流程前言 自从入了UnRaid的坑,发现Docker真是个好东西,各种各样的应用工具层出不穷,可以大大提高生产效率。然而在安装Docker应用后,对于如何方便的访问该应用,各个应用服务提供者给出的解决方案不是…

ip-guard如何通过准入网关对指定的服务器进行通讯加密保护?

1、准入网关在高级配置设置受保护服务器; WEB管理界面【系统工具】,点击【配置管理】,点击参数设置,进入高级配置界面,输入配置内容即可。 [ControlServer]

最受欢迎的大数据可视化

大数据可视化是进行各种大数据分析的最重要组成部分之一。 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了。 为了满足并超越客户的期望,大数据可视化工具应该具备这些特征:能够处理不同种类型的传入数据能够应用不同种类的过滤…

【华为机试真题 Python实现】2023年1、2月高频机试题

文章目录2023年1季度最新机试题机考注意事项1. 建议提前刷题2. 关于考试设备3. 关于语言环境3.1. 编译器信息3.2. ACM 模式使用sys使用input(推荐)3. 关于题目分值及得分计算方式4. 关于做题流程5. 关于作弊2023年1季度最新机试题 两个专栏现在有200博文…

银河麒麟V10SP1高级服务器版本离线RPM方式升级openssl openssh 自动化升级系统补丁实战实例全网唯一

银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性等需求,依据CMMI5级标准研制的提供内生本质安全、云原生支…

主成分分析(PCA)原理

主成分分析(PCA)原理 在高维数据处理中,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。PCA和ICA是两种常用的降维方法。 PCA:principal component analysi…

[思考进阶]06 养成“记笔记”的习惯,能够改变你的思考方式

目录前言一、10000张纸法则二、康奈尔笔记法三、东京大学笔记法四、养成“记笔记”的习惯除了要提升自己的技术能力,思维的学习和成长也非常非常重要,特推出此[思考进阶]系列,进行刻意练习,从而提升自己的认知。 前言 经常看到一…

BCELoss

1:单标签二分类:N是样本数,Yn是标签。范围在**[0,1]**。 公式: 举个例子: input torch.Tensor([[0.8, 0.9, 0.3]])#, [0.8, 0.9, 0.3], [0.8, 0.9, 0.3], [0.8, 0.9, 0.3]]) target torch.Tensor([[1, 1, 0]])#, […

weblogic-文件读取漏洞

weblogic-文件读取漏洞 0x00 前言 Weblogic存在管理后台,通过账号密码登录,由于管理员的疏忽,经常会使用弱口令,或者默认的账户名密码。因此存在弱口令爆破的风险。在本环境下模拟了一个真实的weblogic环境,其后台存…

Java:SpringBoot整合Spring Security实现认证与授权学习笔记

本文通过逐步学习Spring Security,由浅入深,SpringBoot整合Spring Security 分别实现自定义的HTTP Basic认证 和 Form表单认证。 本文是学习笔记,网上的教程五花八门,由于时间久远,很难拿来就用。 在此特别感谢IT老齐…

雪花算法(SnowFlake)

简介现在的服务基本是分布式、微服务形式的,而且大数据量也导致分库分表的产生,对于水平分表就需要保证表中 id 的全局唯一性。对于 MySQL 而言,一个表中的主键 id 一般使用自增的方式,但是如果进行水平分表之后,多个表…

使用三种方式创建servlet并配置访问成功

Servlet创建的方式 一、实现Servlet 接口 package com.openlab;import java.io.IOException;import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.Servl…

NPT、PT、G 、ZG、RC、M几种螺纹的区别

NPT、PT、G 、ZG、RC、M几种螺纹的区别一、NPT、PT、G 、ZG、RC、M几种螺纹的区别BSPT和BSP——英国规格的锥度螺纹NPT——美国规格的锥度螺纹PT ——日本的旧JIS规格锥度螺纹,相当于ISO规格的R,RcDIN2999——欧洲主要是德国的管道用螺纹NPT就是一般用途的美国标准锥…

利用Postman的简单运用解决小问题的过程

这几天在修改一个前后端分离的商城项目。项目前端向后端发出数据请求之后,收到的却是504网关超时错误。 但是控制台却不止报错了网关超时,还有跨域请求的问题: 根本搞不清是哪个问题导致了另外一个问题还是独立的两个问题。 直接点击网址访…

每天学一点之类的加载和反射

类加载 类在内存中的生命周期:加载–>使用–>卸载 类的加载又分为三个阶段: (1)加载:load 指将类型的clas字节码数据读入内存。 通过类的全名,获取类的二进制数据流。解析类的二进制数据流为方法…