当前位置: 首页 > java >正文

Hadoop+Spark 笔记 2025/4/21

定义

1. 大数据(Big Data)
   - 指传统数据处理工具难以处理的海量、高速、多样的数据集合,通常具备3V特性(Volume体量大、Velocity速度快、Variety多样性)。扩展后还包括Veracity(真实性)和Value(价值)。

2. Hadoop
   - 一个开源的分布式计算框架,用于存储和处理大规模数据集。核心组件包括HDFS(存储)和MapReduce(计算),具有高容错性横向扩展能力。

3. HDFS(Hadoop Distributed File System)
   - Hadoop的分布式文件系统,设计用于**廉价硬件集群**。特点:
     - 分块存储(默认128MB/块)
     - 多副本机制(默认3副本)
     - 主从架构(NameNode管理元数据,DataNode存储实际数据)

4. MapReduce
   - 一种批处理编程模型,分为两个阶段:
     - Map阶段:将任务分割成更小任务交给每台服务器分别运行,也就是并行处理输入数据(映射)
     - Reduce阶段:聚合Map结果(归约)
   - 适合离线大规模数据处理,但磁盘I/O开销较大。

5. Spark
   - 基于内存的分布式计算引擎,相比MapReduce优势:
     - 内存计算(比Hadoop快10-100倍)
     - 支持DAG(有向无环图)优化执行计划
     - 提供SQL、流处理、图形处理、机器学习等统一API(Spark SQL/Streaming/GraphX/MLlib)

6. 机器学习(Machine Learning)
   - 通过算法让计算机从数据中自动学习规律并做出预测/决策,主要分为:
     - 监督学习(如分类、回归)
     - 无监督学习(如聚类、降维)
     - 强化学习(通过奖励机制学习)

关键区别:Hadoop基于磁盘批处理,Spark基于内存迭代计算,机器学习则是数据分析的高级应用方法。

安装Hadoop

1.虚拟机软件安装(搭建Hadoop cluster集群时需要很多台虚拟机)

2.安装Ubuntu操作系统(hadoop最主要在Linux操作系统环境下运行)

3.安装Hadoop Single Node Cluster(只以一台机器来建立Hadoop环境)

  1. 安装JDK(Hadoop是java开发的,必须先安装JDK)
  2. 设置SSH无密码登录(Hadoop必须通过SSH与本地计算机以及其他主机连接,所以必须设置SSH)
  3. 下载安装Hadoop(官网下载Hadoop,安装到Ubuntu中)
  4. 设置Hadoop环境变量(设置每次用户登录时必须要设置的环境变量)
  5. Hadoop配置文件的设置(在Hadoop的/usr/local/hadoop/etc/hadoop的目录下,有很多配置设置文件)
  6. 创建并格式化HDFS目录(HDFS目录是存储HDFS文件的地方,在启动Hadoop之前必须先创建并格式化HDFS目录)
  7. 启动Hadoop(全部设置完成后启动Hadoop,并查看Hadoop相关进程是否已经启动)
  8. 打开Hadoop Web界面(Hadoop界面可以查看当前Hadoop的状态:Node节点、应用程序、任务运行状态)

常用命令:

启动HDFS

start-dfs.sh

启动YARN(启动Hadoop MapReduce框架YARN)

start-yarn.sh

同时启动HDFS和YARN

start-all.sh

使用jps查看已经启动的进程(查看NameNode、DataNode进程是否启动)

PS:因为只有一台服务器,所以所有功能都集中在一台服务器中,可以看到:

  • HDFS功能:NameNode、Secondary NameNode、DataNode已经启动
  • MapReduce2(YARN):Resource Manager、NodeManager已经启动
jps

监听端口上的网络服务:

打开Hadoop Resource-Manager Web界面

http://localhost:8088/

 NameNode HDFS Web界面

http://localhost:50070/

4.Hadoop Multi Node Cluster的安装(至少有四台服务器,才能发挥多台计算机并行的优势。不过我只有一个电脑,只能创建四台虚拟主机演练)

Hadoop的基本功能

1.HDFS

常用HDFS命令:

HDFS 常见命令 -CSDN博客 

回头再写那些常用命令

2.MapReduce

Spark的基本功能

机器学习(推荐引擎)

机器学习(二元分类)

机器学习(多元分类)

机器学习(回归分析)

数据可视化

使用Apache Zeppelin数据可视化。

http://www.xdnf.cn/news/846.html

相关文章:

  • 力扣2492:并查集/dfs
  • Compose Multiplatform Android Logcat工具
  • (七)深入了解AVFoundation-采集:采集系统架构与 AVCaptureSession 全面梳理
  • 4G专网赋能工业智联,助力数字化转型新升级
  • 百度暑期实习岗位超3000个,AI相关岗位占比87%,近屿智能携AIGC课程加速人才输出
  • 加油站小程序实战教程12显示会员信息
  • 创意Python爱心代码分享
  • 理性决策与情绪偏差
  • C++(进阶) 第12特殊类设计
  • RESTful学习笔记(二)---简单网页前后端springboot项目搭建
  • kafka 分区分散在不同服务器上的原理
  • 衡石科技ChatBI--飞书数据问答机器人配置详解(附具体操作路径和截图)
  • 逻辑回归(Logistic Regression)
  • 解决 Arduino IDE 2.3.6 在 Windows 上无法启动:缺少 Documents 文件夹与注册表路径错误
  • javaSE.哈希表
  • 消息中间件RabbitMQ:简要介绍及其Windows安装流程
  • C++初阶——模板
  • C#—Lazy<T> 类型(延迟初始化/懒加载模式)
  • (cvpr2025) LSNet: See Large, Focus Small
  • Java 设计模式心法之第3篇 - 总纲:三大流派与导航地图
  • 使用json_repair修复大模型的json输出错误
  • 小天互连:助力信创产业的国产化即时通讯系统
  • alibaba-JSONObject使用
  • 无人船 | 图解基于PID控制的路径跟踪算法(以全驱动无人艇WAMV为例)
  • FlaskRestfulAPI接口的初步认识
  • 文件包含漏洞,目录遍历漏洞,CSRF,SSRF
  • iFable,AI角色扮演互动平台,自动生成沉浸式故事游戏
  • Yocto项目实战教程‑第6章‑Poky‑镜像菜谱‑机器配置文件‑发行版配置文件‑QEMU
  • Pandas高级功能
  • 项目二 - 任务7:统计一组学生成绩