Centos8.2部署Hadoop高性能集群

本文详细介绍了在Centos8.2系统中部署Hadoop3.3集群的步骤,包括Hadoop的核心组件、分布式存储原理及分布式计算模型。通过配置Hadoop环境,安装Java环境,创建用户并设置无密钥登录,安装和配置Hadoop,启动HDFS和YARN服务,最后监控集群状态并执行计算任务。
摘要由CSDN通过智能技术生成

1.Hadoop概述

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 分布式文件系统为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。
官方网站:http://hadoop.apache.org/
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。
在这里插入图片描述
官方下载:https://hadoop.apache.org/releases.html

hadoop基于java开发
Hadoop包括两大核心,分部是存储系统和分布式计算系统。
1、分布式存储
为什么数据需要存储在分布式的系统中,难道单一的计算机存储不了吗?难道现在的几个TB的硬盘装不下这些数据吗?

事实上,确实装不下。比如,很多的电信通话记录就存储在很多台服务器的很多硬盘中。那么,要处理这么多数据,必须从一台一台服务器分别读取数据和写入数据,太麻烦了!
我们希望有一种文件系统,可以管辖很多服务器用于存储数据。通过这个文件系统存储数据时,感觉不到是存储到不同的服务器上的。当读取数据时,也不会感觉到是从不同的服务器上读取。

分布式文件系统管理的是一个服务器集群。在这个集群中,数据存储在集群的节点(即集群中的服务器)中,但是该文件系统把服务器的差异屏蔽了。那么,我们就可以像使用普通的文件系统一样使用,但
是数据却分散在不同的服务器中。

命名空间(namespace):在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,文件夹可以一级一级的包含。我们把这种组织形式
称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。命名空间的职责与存储真实数据的职责是不一样的。

负责命名空间职责的节点称为主节点(master node 或 name node),负责存储真实数据职责的节点称为从节点(slave node 或 data node)。

主/从节点:主节点负责管理文件系统的文件结构,从节点负责存储真实的数据,称为主从式结构(master-slaves)。用户操作时,也应该先和主节点打交道,查询数据在哪些从节点上存储,然后再从从节点读取。在主节点,为了加快用户访问的速度,会把整个命名空间信息都放在内存中,当存储的文件越多时,那么主节点就需要越多的内存空间。

block:在从节点存储数据时,有的原始数据文件可能很大,有的可能很小,大小不一的文件不容易管理,那么可以抽象出一个独立的存储文件单位,称为块(block)。

容灾: 数据存放在集群中,可能因为网络原因或者服务器硬件原因造成访问失败,最好采用副本(replication [ˌ ˌreplɪ ɪ’ke ɪʃn])机制,把数据同时备份到多台服务器中,这样数据就安全了,数据丢失或者访问失败的概率就小了。

名词解释
(1)Hadoop:Apache 开源的分布式框架。
(2)HDSF:Hadoop 的分布式文件系统。
(3)NameNode:Hadoop HDFS 元数据主节点服务器,负责保存 DataNode 文件存储元数据
信息,这个服务器是单点的。 Namenode 记录着每个文件中各个块所在的数据节点的位置信息
(4)DataNode:Hadoop 数据节点,负责存储数据。
(5)JobTracker:Hadoop 的 Map/Reduce 调度器,负责与 TaskTracker 通信分配计算任务并
跟踪任务进度,这个服务器也是单点的。 Tracker [ˈ ˈtrækə ə®] 跟踪器
(6)TaskTracker:Hadoop 调度程序,负责 Map,Reduce 任务的启动和执行。 [tɑ:sk] 作业
任务
HDFS:分布式文件系统,负责数据的存储。

Yarn:存储之后要进行相关处理,因此需要一个资源管理和调度,(YARN),在Hadoop2.0,MapReduce作为离线处理。

计算分析工具:MapReduce、Spark、TeZ

TeZ(DAG计算)、Spark(内存计算)。

MapReduce是基于磁盘的,而Spark的计算过程是基于内存的,因此速度效率快很多。

MapReduce:做离线的批处理

Hive:数据仓库,用来做决策分析,历史记录都存在数据仓库当中,数据是多维的,可以用来做数据分析。属于Hadoop平台上的数据仓库,可以用SQL语句操作。Hive会把SqL语句转换成MapReduce作业。

Pig:流数据处理,提供了类似sql语句的查询,轻量级的编程语言。

Oozie:作业流调度系统

Zookeeper:集群管理、分布式锁

HBase:列族数据库,Hadoop上的非关系型数据库

Flume:日志相关收集,(美团)

Sqoop:完成数据导入导出(数据库ELT工具)。关系型数据库到HDFS、HBase、Hive互导

最上层:Ambari部署工具,Hadoop快速部署工具


hadoop依赖关系图
在这里插入图片描述
SecondaryNa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值