Hadoop Serialize
Hadoop MapReduce 自定义序列化实战:部门工资总额统计一、实验基本信息 实验名称:基于 Hadoop MapReduce 的部门工资总额统计(自定义 Writable 序列化) 实验目标: 巩固 Hadoop MapReduce 核心架构(Mapper、Reducer)知识 掌握自定义 Writable 序列化对象的编写规范 实现从原始员工数据解析到部门工资总额聚合的完整流程 理解分布式计算中数据传输的序列化原理 实验环境:Hadoop 2.x/3.x 集群(或本地单机模式)、JDK 1.8、IDE(IntelliJ IDEA/Eclipse) 二、实验原理与基础知识巩固(入门阶段)2.1 核心概念回顾 MapReduce 核心流程:输入数据 → Mapper 解析映射 → Shuffle(排序+分组) → Reducer 聚合计算 → 输出结果 序列化的意义:Hadoop 分布式计算中,数据需在节点间传输,序列化将对象转为字节流,反序列化则恢复对象,自定义 Writable 可适配业务数据类型 关键组件职责: Mapper:读取原始数据,...
Hadoop Pom
1234567891011121314151617181920212223242526272829303132333435<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.3</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.18.0</version> </dependency> &l...
Hadoop 网络序列化与反序列化实训
marp: falseJava序列化与反序列化实训 序列化概述序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。 反序列化(Deserialization)则是将已序列化的对象状态信息恢复为对象的过程。 在分布式系统中,序列化机制允许对象通过网络在不同的Java虚拟机之间传输。 在Hadoop生态系统中,序列化尤为重要,因为MapReduce、YARN等组件需要在不同节点之间传输大量数据,高效的序列化机制能够显著提升性能。 Java序列化基础要实现序列化,一个类必须实现java.io.Serializable接口。这个接口是一个标记接口,没有定义任何方法。一旦一个类实现了这个接口,Java虚拟机(JVM)就可以将这个类的对象序列化并通过网络传输。 实训目标 掌握Java对象序列化机制 学习使用Socket进行网络通信 实现客户端与服务器之间的对象传输 理解transient关键字的作用 示例:Student类123456789101112131415161718192021222324252627282930313233343536...
Spark环境搭建(一)Local模式
Spark环境搭建(一)Local模式 Term Meaning Application User program built on Spark. Consists of a driver program and executors on the cluster. Application jar A jar containing the user’s Spark application. In some cases users will want to create an “uber jar” containing their application along with its dependencies. The user’s jar should never include Hadoop or Spark libraries, however, these will be added at runtime. Driver The process running the main() function of the application and c...
Spark环境搭建(二)Standalone模式
Spark环境搭建(二)Standalone模式 伪分布式配置包括 Hadoop配置,Master, Worker的通信地址和Web UI的地址 spark-env.sh(Server)1234567# 如果Worker提示JAVA_HOME is not set, 在此文件配置一下JAVA_HOME# JAVA_HOME=${JAVA_HOME}HADOOP_CONF_DIR=/opt/bigdata/hadoop/default/etc/hadoop #读写HDFSSPARK_MASTER_HOST=node0 # Master节点# 日志服务器HistoryServer会去指定的位置读取执行事件日志SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node0:9000/shared/spark-logs" spark-default-conf(Client)1234567[zhangsan@node0 conf]$ mv spark-defaults.conf....
Spark环境搭建(三)Spark On YARN模式
Spark环境搭建(三)Spark On YARN模式 伪分布式配置Spark的Master由YARN的ResourceManager替代,Worker由NodeManager替代。 spark-env.sh1234HADOOP_CONF_DIR=/opt/bigdata/hadoop/default/etc/hadoopYARN_CONF_DIR=/opt/bigdata/hadoop/default/etc/hadoop# 日志服务器HistoryServer配置SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://node0:9000/spark-logs" spark-defaults.conf12345678[zhangsan@node0 conf]$ vim spark-defaults.confspark.master yarn# spark app执行的事件日志会存放到指定的位置spark.eventLog.enabled ...
Spark Steaming
Spark SteamingStreaming准实时(s), 微批次 Wordcount测试数据112[root@node0 ~]# yum -y install nc[zhangsan@node0 conf]$ nc -lp 9998 测试数据21234567891011121314151617181920212223242526272829303132package cn.studybigdata.spark.streaming;import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.nio.charset.StandardCharsets;public class StreamingMockData { public static void main(String[] args) throws IOException, InterruptedException ...
Linux系统配置
用户配置 设置root用户密码; 添加普通用户,用户名为自己姓名全拼,如:zhangsan; 配置IP 输入ip addr 查看网卡ip地址,可以看到网卡ens33没有分配到ip。 查看VMWare子网 你配置的静态IP需要为192.168.179.x ,其中 2<x<128。此处我们设置静态IP为192.168.179.100, 编辑网卡ens33对应的配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33 重启网络服务 systemctl restart network 此时网卡ens33的ip地址为 192.168.179.100 为方便复制代码,后续步骤,最好使用ssh客户端操作。 更换软件源CentOS 7 系统在 2024 年 6 月 30 日结束了官方维护,这意味着:官方提供的 mirrorlist.centos.org 等源地址已经停止服务,无法解析或获取软件包。你的系统里原来的 yum 源配置文件(CentOS-Base.repo)指向的是这些失效地址,所以...
Linux系统控制
系统控制系统注销终止用户与系统的交互进程, end session。 123logoutexitCtrl + d shutdown关机1234567891011121314151617# shutdown (系统1分钟关机,并传送一些消息给正在使用的user) [root@localhost ~]# shutdownShutdown scheduled for Sun 2024-03-03 19:50:08 CST, use 'shutdown -c' to cancel.[root@localhost ~]# Broadcast message from root@localhost.localdomain (Sun 2024-03-03 19:49:08 CST):The system is going down for power-off at Sun 2024-03-03 19:50:08 CST!# 取消关机shutdown -cBroadcast message from root@localhost.localdomain (Sun 2024-...
Linux文件管理
文件管理 /bin目录/bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序( bin是binary –二进制的简称),多是系统中重要的系统文件。 /sbin目录/sbin目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。 /etc目录/etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/passwd,系统初始化文件/etc/rc等。linux正是这些文件才得以正常地运行。 /root目录/root 目录是超级用户的目录。 /lib目录/lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。 /...