PySpark RDD
RDD A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. Represents an immutable(不可变的), partitioned collection(集合) of elements that can be operated o in parallel. This class contains the basic operations available on all RDDs, such as map, filter, and persist. In addition, PairRDDFunctions(类) contains operations available only on RDDs of key-value pairs, such as groupByKey and join; DoubleRDDFunctions contains operations available only on RDDs of Doubles; SequenceFileRDDF...
Spark Python QA
Spark Python QAQ: PySpark: java.lang.OutofMemoryError: Java heap space1PySpark: java.lang.OutofMemoryError: Java heap space A1spark_conf.setAppName("recommend").setMaster("local[*]").set('spark.executor.memory', '12g').set('spark.driver.memory', '14g') Q: Please install psutil to have better support with spilling1UserWarning: Please install psutil to have better support with spilling A1pip install psutil Q: {0}.{1} does no...
DataNode工作机制与实操案例演示
一、引言 Hadoop HDFS简介 分布式文件系统概述 HDFS架构:NameNode与DataNode DataNode的重要性 数据存储与访问的关键角色 数据完整性与高可用性的保障 二、DataNode工作机制 启动与注册 DataNode启动后向NameNode注册 注册成功后,周期性向NameNode上报块信息 心跳机制 心跳周期(默认每3秒一次) 心跳返回结果:NameNode的命令(如复制、删除数据块) 心跳超时处理(默认10分钟+30s无心跳则认为节点不可用) 数据存储与管理 数据块以文件形式存储在磁盘上 每个数据块包括数据文件和元数据文件(包含长度、校验和、时间戳) 三、实操案例演示 假设已有Hadoop集群环境 确认DataNode节点状态 1. DataNode启动与注册1.1 新增DataNode节点配置文件 hosts配置(all) ssh免密登录(master–> node4) slaves新增node4(all) 启动DataNode和NodeManager1[zhangsan@node4 default]$ ...
Hadoop HDFS
块大小默认块大小 版本 大小 1.x 64MB 2.x/3.x 128MB 本地 32MB 根据硬盘速度配置块大小 硬盘类型 硬盘速度 建议Block大小 普通机械硬盘 100MB/s 128MB 固态硬盘(普通) 300MB/s 256MB 固态硬盘(高级) 600MB/s 512MB 文件实际占用Linux文件系统的空间当一个文件小于128MB时,占用Linux文件系统多少存储空间? 答:占用实际的磁盘存储,而不是Block大小。 https://blog.csdn.net/m0_67391120/article/details/126599677 NameNode与DataNode DataNode启动时,向NameNode汇报本节点中托管的Block的情况,此后,默认每6小时汇报一次。 DataNode启动后,每3s向NameNode发送一次心跳信号,当NameNode在 10分钟+30s 未收到心跳信号时,认为DataNode挂掉。 DataNode默认超时时间: Timeout ...
HDFS综合操作实验:安全模式管理与集群监控
一、实验目标 掌握HDFS的格式化操作及其影响。 熟练使用hdfs dfsadmin命令查看集群状态和网络拓扑。 理解并实践HDFS的安全模式(Safe Mode),观察其对文件操作的影响。 综合运用HDFS文件上传、下载、查看等基础命令。 二、实验环境 已配置好的Hadoop集群(包含Namenode和至少一个Datanode)。 学生已登录到Namenode节点(例如 node1)。 三、实验步骤步骤 1:环境准备与HDFS格式化 (热身) 停止Hadoop服务:为确保环境干净,先停止所有Hadoop相关服务。 1234stop-all.sh # 或者分别停止# stop-dfs.sh# stop-yarn.sh 格式化Namenode:执行格式化命令,清空HDFS的元数据。 1hdfs namenode -format 验证格式化结果:进入dfs.name.dir(由hadoop.tmp.dir配置决定)的current目录,查看是否生成了新的fsimage等文件。 123# 路径可能因配置而异,请根据实际情况修改cd /opt/bigdata/hadoop/defau...
HDFS 快照管理实训实验
一、实验目标 掌握如何启用和禁用 HDFS 目录的快照功能。 学会创建、重命名和删除 HDFS 快照。 理解如何利用快照进行数据恢复。 掌握如何查看快照列表和比较不同快照之间的差异。 二、实验环境 已搭建好的 Hadoop 集群(伪分布式或完全分布式均可)。 已启动 HDFS 服务。 一个用于操作的 HDFS 用户(例如 zhangsan)。 三、实验步骤步骤一:环境准备与启用快照 创建实验目录和文件:在 HDFS 上为本次实验创建一个专用的目录(例如 /snapshot_test),并在其中创建一个初始文件。 12345678# 在 HDFS 上创建目录hdfs dfs -mkdir /snapshot_test# 创建一个名为 initial_data.txt 的文件并写入内容echo "This is the initial data." | hdfs dfs -put - /snapshot_test/initial_data.txt# 查看目录内容,确认文件创建成功hdfs dfs -ls /snapshot_test 启用目录快照功能:使用 ...
Java DataInput/DataOutput入门实训
1. 实训目标 理解 DataInput 和 DataOutput 接口的作用和设计理念。 掌握 DataInputStream 和 DataOutputStream 这两个核心实现类的使用。 学会使用 DataInput / DataOutput 进行基本数据类型的读写操作。 理解数据持久化和网络传输中序列化的基本概念。 2. 核心概念DataInput 和 DataOutput 是 Java I/O 中的一对接口,位于 java.io 包,核心作用是定义**“结构化数据的读写规范”——即如何读取/写入 Java 基本数据类型(如 int、float、boolean)和字符串,且保证数据的跨平台兼容性**。 1. 为什么需要这两个接口?底层字节流(如 InputStream/OutputStream)只能读写 byte 数组,无法直接操作基本数据类型: 比如要写一个 int(4 字节)到文件,直接用 OutputStream 需手动把 int 拆成 4 个 byte; 不同操作系统的字节序(大端/小端)不同,手动拆分可能导致...
Hadoop_YARN
YARN概览 HDFS在两个版本中都存在; MapReduce是Hadoop v1中唯一的Execution Engine; YARN框架提供的Work Scheduling与正在执行的Work类型无关; Hadoop v2上的所有的Execution Engine都作为YARN应用程序实现。 Hadoop v2支持任何Execution Engine,包括MapReduce的端口,该端口现在是一个YARN应用程序。 为什么选择YARN MapReduce是batch-based,不适合 real-time, near-real-time, Graph, Iterative数据处理; Hadoop v1限制了运行其他框架,YARN使MapReduce以外的工作也能够在Hadoop集群上执行; Hadoop v1 的JobTracker存在并发问题,一个Hadoop Cluster的限制在3000-4000个节点。 YARN的目标是能够扩展到10000个节点; YARN允许在同一个集群中同时运行不同版本的MapReduce; YARN是一个分布式调度器,负责以下...