首页 > 其他分享 >新手小白的Hadoop分布式和集群简述

新手小白的Hadoop分布式和集群简述

时间:2024-08-06 22:28:17浏览次数:10  
标签:HDFS Hadoop YARN 简述 集群 节点 分布式

Hadoop分布式简介:

Apache Hadoop是一个开源的分布式计算框架,它允许用户在节点组成的集群中处理和分析大数据。Hadoop是“Hadoop之父”Doug Cutting的著作,最初是在Nutch搜索引擎项目中开发的,用于解决网页爬虫的存储和搜索问题。

Hadoop的核心由以下几个部分组成:

  1. HDFS(Hadoop Distributed File System):Hadoop自己的文件系统,用于在计算机集群中存储文件。

  2. YARN(Yet Another Resource Negotiator):用于作业调度和集群资源管理。

  3. 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

相关文章

  • 分布式存储MinIO Console
    MinIO是什么?一种对象存储解决方案,Minio提供与亚马逊云科技S3兼容的API,并支持所有核心S3功能,所以也可以看做是S3的开源版本;它允许用户通过简单的API接口进行数据的存储和检索,同时提供高度可扩展性和强大的数据保护机制。MinIo主要是在微服务系统中使用,非常适合于存储......
  • 分布式主键 详解
    文章目录雪花算法结合分库分表的问题问题出现原因分析解决思路分布式主键要考虑的问题主键生成策略雪花算法详解时间戳位问题工作进程位问题序列号位问题根据雪花算法扩展基因分片法雪花算法结合分库分表的问题问题出现使用ShardingSphere框架自带的雪花算法生成......
  • Git---分布式版本控制工具
    ......
  • Reids实现分布式锁
    基于SETNX如果key不存在,则SETNX成功返回1,如果这个key已经存在了,则返回0。 importredis.clients.jedis.Jedis;publicclassSetNxExample{publicstaticvoidmain(String[]args){Jedisjedis=newJedis("localhost");Stringkey="my_key";......
  • Redis分布式锁防止缓存击穿
    一、Nuget引入StackExchange.Redis、DistributedLock.Redis依赖二、使用 StackExchange.Redis对redis操作做简单封装publicclassRedisHelper{privatestaticConnectionMultiplexer_redis;privatestaticstring_connectionString;//静态构造函数,确保在程序启动时......
  • 分布式锁的实现:基于Redis的解决方案
    微服务架构中,分布式锁是确保跨多个节点或实例的线程安全的关键技术。当多个服务实例可能同时修改共享资源时,分布式锁可以保证在同一时间只有一个实例可以执行特定的操作。在本文中,我们将探讨如何使用Redis来实现一个简单的分布式锁机制。分布式锁的挑战在分布式系统中,锁必须满足......
  • 控制系统实现_分布式框架
    控制系统实现_分布式框架参考教程:http://www.autolabor.com.cn/book/ROSTutorials/https://www.bilibili.com/video/BV1Ci4y1L7ZZ/?spm_id_from=333.999.0.01.配置静态IP地址1.1配置树莓派静态IP地址当前分布式框架搭建时,树莓派是作为主机,而PC则作为从机,关于分布式框架的......
  • hadoop第三周总结
    Hadoop第三周总结在Hadoop第三周的学习中,我们深入探索了Hadoop生态系统中的关键技术和概念。以下是本周的重要内容总结:Hadoop基础概念回顾:我们重新审视了Hadoop的核心组件,包括HDFS(Hadoop分布式文件系统)和YARN(资源管理器)。这些组件是构建大规模数据处理应用的基础,通过数据......
  • Hadoop 第四周总结
    Hadoop第四周总结本周在学习Hadoop的过程中,我深入了解了分布式文件系统(HDFS)的原理和操作,并开始接触和使用MapReduce框架进行数据处理和分析。以下是我这周的学习和实践总结:理论学习与实践应用在分布式文件系统(HDFS)的学习中,我掌握了其设计理念、架构和工作原理。HDFS通过将大文......
  • Caused by: java.lang.ClassNotFoundException:org.apache.hadoop.hive.conf.hiveConf
    在sqoop执行create-hive-table时候报错这样,java.io.IOException:原因是缺失jar包,可能是sqoop conf文件的sqoop-env-template.sh里面没有配置相关的hadoop hivezookeeper 的相关环境变量进入sqoop的conf文件下找到sqoop-env-template.sh进入添加相关得到环境变量(注意......