Hadoop分布式简介:
Apache Hadoop是一个开源的分布式计算框架,它允许用户在节点组成的集群中处理和分析大数据。Hadoop是“Hadoop之父”Doug Cutting的著作,最初是在Nutch搜索引擎项目中开发的,用于解决网页爬虫的存储和搜索问题。
Hadoop的核心由以下几个部分组成:
-
HDFS(Hadoop Distributed File System):Hadoop自己的文件系统,用于在计算机集群中存储文件。
-
YARN(Yet Another Resource Negotiator):用于作业调度和集群资源管理。
-
MapReduce:一种编程模型,用于并行处理大量的数据。(mapreduce为底层计算,不用手动开启)
Hadoop的优点:
-
可扩展性:Hadoop可以通过增加更多的服务器来扩展计算能力和存储能力。
-
容错性:Hadoop可以通过复制数据来提供容错机制,即使某些节点失败,数据也不会丢失。
-
低成本:Hadoop可以运行在普通硬件上,不需要昂贵的服务器。
-
高效性:Hadoop能够在节点之间动态地移动数据,以平衡负载,并且MapReduce的并行处理能力使得处理大数据非常快速。
Hadoop 分布式集群
分布式:多台服务器配合完成一个任务。(每组服务器完成不同的任务)
集群:多台服务器联合起来共同完成相同的任务,也可进行备份。(每组完成相同的任务)
注意: 集群如果客户端请求量(任务量)多,多个服务器同时处理不同请求(不同任务),如果请求量少,一台服务器干活,其他服务器做备份使用
Hadoop框架及核心组件
分布式存储:Hadoop Distributed File System (HDFS)
功能:HDFS是Hadoop的分布式文件系统,用于存储大规模数据集。它将文件分割成多个块(block),并将这些块复制到多个节点上,以提高数据的可靠性和容错性。
主节点:NameNode(主节点)和多个DataNode(从节点)。NameNode负责管理文件系统的命名空间和客户端对文件的访问,DataNode负责存储实际的数据块。
分布式计算:MapReduce
功能:MapReduce是Hadoop的分布式计算框架,用于处理存储在HDFS上的大数据集。它将计算任务分解成多个子任务(Map任务),并在集群的多个节点上并行执行这些子任务。然后,它收集并合并这些子任务的结果(Reduce任务),以生成最终结果。
架构:MapReduce框架由JobTracker(作业跟踪器)和多个TaskTracker(任务跟踪器)组成。JobTracker负责作业的调度和监控,TaskTracker负责执行Map和Reduce任务。
分布式资源调度:YARN (Yet Another Resource Negotiator)
功能:YARN是Hadoop的资源管理和作业调度框架,它提供了更细粒度的资源管理和更灵活的作业调度能力。YARN将资源管理和作业调度/监视的功能拆分为单独的守护进程,以实现更高效的资源利用和更灵活的作业调度。
Hadoop分布式架构关系
MapReduce计算需要的数据和产生的结果需要HDFS来进行存储
MapReduce的运行需要由Yarn集群来提供资源调度。
Hadoop集群搭建
准备服务器:确保有多个服务器,每个服务器上安装相同的操作系统和软件。
安装Java环境:确保所有服务器上安装了相同版本的Java。
配置java环境变量
[root@node1 software]# vim /etc/profile
注:本案例使用finalshell客户端连接操作
使文件生效:source /etc/profile
配置SSH免密登录:在主节点上生成密钥,将公钥复制到所有从节点的~/.ssh/authorized_keys文件中。
配置主机名:为每个服务器设置唯一的主机名。
设置环境变量HADOOP_HOME。
配置hadoop-env.sh文件:vim hadoop-env.sh
配置core-site.xml,设置HDFS的主节点和端口。
vim core-site.xml
配置hdfs-site.xml,设置副本数量。
vim hdfs-site.xml
配置mapred-site.xml,指定MapReduce框架使用YARN。
vim mapred-site.xml
配置yarn-site.xml,设置ResourceManager的地址等。
vim yarn-site.xml
配置slaves,列出所有DataNode节点。
vim slaves
进行数据初始化
格式化HDFS:在主节点上运行hdfs namenode -format。
启动Hadoop服务
在主节点使用HDFS启动namenode:hdfs --daemon start namenode
各个节点单次启动:hdfs --daemon start datanode
辅助结点启动scendarynamenode进程:hdfs --daemon start secondarynamenode
启动YARN集群
主节点启动YARN资源调度命令:yarn --daemon start resourcemanager
每个从结点启动YARN命令:yarn --daemon start nodemanager
Hadoop集群启动
执行命令:start-all.sh一键启动Hadoop相关进程。
使用jps可以查看开启情况,
在此进程上就可以向HDFS上传数据啦!
通过上述的安装,虚拟机已经存在了分布式存储的HDFS以及分布式的资源调度其YARN,因为mapreduce是安装Hadoop自带的基础软件,无需自行,而且也会跟着HDFS以及YARN一起启动,故而Hadoop分布式框架的集群搭建已经初步完成。安装虚拟机已经有零Hadoop分布式集群的基础框架啦,接下来进一步的安装和配置hive软件,使得Hadoop分布式计算存储一体。
基础框架基本完成,可进行数据上传下载分布式存储、计算。
标签:HDFS,Hadoop,YARN,简述,集群,节点,分布式 From: https://blog.csdn.net/m0_74319575/article/details/140937996