【博学谷学习记录】超强总结,用心分享 | 大数据基础知识

【博学谷IT技术支持】

常用大数据组件的默认端口

- Hadoop:50070(NameNode Web UI)、8088(ResourceManager Web UI)
- Spark:4040(Web UI)
- Hive:10000(Thrift Server)
- HBase:16010(Web UI)
- Kafka:9092(Broker端口)、2181(Zookeeper端口)
- Cassandra:9042(CQL端口)、7199(JMX端口)
- Elasticsearch:9200(HTTP端口)、9300(Transport端口)
- Flink:8081(Web UI)
- Zookeeper:2181(Client端口)、2888(Peer端口)、3888(Leader选举端口)

Hadoop的HDFS\MapReduce\Yarn基础知识

HDFS

数据块(Block):
HDFS将文件划分为固定大小的数据块,默认大小为128MB,每个数据块存储在不同的节点上。

NameNode和DataNode:
HDFS有两种节点,NameNode和DataNode。NameNode是管理文件系统命名空间和数据块复本的节点,DataNode是存储数据块的节点。

数据复制:
HDFS会将每个数据块复制到多个DataNode上,以提高数据可靠性和容错性。默认情况下,每个数据块会复制3个副本,但可以通过参数进行配置。

数据读写:
HDFS的数据读写是通过流式传输实现的,即数据一块一块地传输,而不是像传统文件系统一样一次性传输整个文件。这种方式可以减少网络带宽的压力,同时也能更好地利用磁盘和内存资源。

HDFS的优点:
HDFS具有高可靠性、容错性和扩展性,能够处理大规模数据和高并发访问,适合于海量数据的存储和处理。

MapReduce

Map阶段:
输入的数据被分成若干个小数据块,每个数据块由一个Map任务进行处理。Map任务将输入数据转换成<key, value>对,这些键值对被传递给Reduce任务。

Shuffle阶段:
Map任务的输出被分区、排序和分组,以便于Reduce任务对相同键的值进行聚合。

Reduce阶段:
Reduce任务对每个键聚合相同键的值,并生成最终的输出结果。

Hadoop Streaming:
Hadoop提供了Hadoop Streaming机制,可以使用非Java编程语言编写MapReduce程序,比如使用Python、Perl等语言。

Combiner函数:
Combiner函数是MapReduce中的一个可选步骤,其目的是在Map任务输出之前对输出进行本地聚合,以减少Shuffle阶段的数据传输量。

处理逻辑:
MapReduce的处理逻辑非常灵活,可以处理各种类型的数据,如结构化、半结构化和非结构化数据。

错误处理:
MapReduce框架内置了许多错误处理机制,如任务重试、备份任务等,以提高任务的可靠性和容错性。

yarn

ResourceManager:
ResourceManager是YARN的核心组件之一,负责整个集群的资源管理和分配。它接收客户端提交的应用程序,并分配相应的资源给应用程序的各个任务。

NodeManager:
NodeManager是YARN的另一个核心组件,运行在每个节点上,负责管理该节点上的资源。它接收ResourceManager分配给它的任务,并负责启动和监控这些任务的执行。

ApplicationMaster:
ApplicationMaster是每个应用程序的管理器,负责协调应用程序中各个任务的执行。它运行在一个由ResourceManager分配的容器中,用于与ResourceManager和NodeManager进行通信,以管理和监控应用程序。

容器(Container):
容器是YARN中的一个概念,它是一个封装了一个或多个任务的进程和资源的运行环境,由NodeManager分配给ApplicationMaster或任务进行使用。

资源调度:
YARN通过资源调度器来管理和分配集群中的资源,资源调度器有多种选择,如FIFO、Capacity Scheduler、Fair Scheduler等。

应用程序:
YARN支持各种类型的应用程序,如MapReduce、Spark、Hive、HBase等。
posted @ 2023-04-17 21:53  牛牛牛牛牛牛牛牛  阅读(32)  评论(0编辑  收藏  举报