| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 云计算-基于hadoop-2.7.7从0开始搭建 -> 正文阅读 |
|
[大数据]云计算-基于hadoop-2.7.7从0开始搭建 |
云计算-基于hadoop-2.7.7从0开始搭建文章目录一、环境准备
二、必备基础知识一、 Hadoop是什么?用来干嘛的?Hadoop是一个能够对大量数据进行分布式处理的软件框架;是由Apache基金会所开发的 分布式系统基础架构 。Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。我们可以在不了解分布式底层细节的情况下,开发分布式程序并充分利用集群的威力进行高速运算和存储。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。 HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 Hadoop的优势
Hadoop架构图如下: 参考链接 https://baike.baidu.com/item/Hadoop/3526507 百度百科 二、Hadoop 的组成
① NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块所在的 DataNode 等。作用如下: (1)管理HDFS的名称空间; ② DataNode(dn): 在本地文件系统存储文件块数据,以及块数据校验和。作用如下: (1)存储实际的数据块; ③ Secondary DataNode(2nn): 用来监控 HDFS 状态的辅助后台程序,每隔一段时间获取 HDFS 元数据的快照。并非NameNode的热备份。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。作用如下:
YARN ,是一种资源协调者,是 Hadoop 的资源管理器。 **① ResourceManager(RM):**整个集群资源(内存、CPU等)的老大 (1)处理客户端请求。 ② NodeManager(NM): 单个任务运行的老大 (1)管理单个节点上的资源。 ③ ApplicationMaster(AM): 单个节点服务器资源老大 (1)负责数据的切分。 ④ Container(容器): 相当一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU、网络等。 Container 是 Yarn 中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。
MapReduce 将计算过程分为两个阶段:Map 阶段和 Reduce 阶段。 ① Map 阶段并行处理输入的数据。
三、关于hadoop集群安装的三种方式对比1.单机模式( Local/Standalone Mode) 单机模式是Hadoop的默认模式。这种模式在一台单机上运行,没有分布式文件系统HDFS,而是直接读写本地操作系统的文件系统。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。默认情况下,Hadoop处于该模式,用于开发和调试(MapReduce程序的应用逻辑)。 2.伪分布模式(Pseudo-Distributed Mode) 这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点 3 . 全分布模式(Fully Distributed Mode) Hadoop守护进程运行在一个集群上。最低要求3个及以上的实体机或者虚拟机组件的机群来实现。 4. 为什么伪分布式要比单机慢? 众所周知MapReduce是基于硬盘的计算引擎,计算一个结果就会存入硬盘,reduce计算时会从硬盘中取出再进行计算,在单机模式下硬盘就是我们的自身的Linux系统,但是分布式的情况下,硬盘是我们的hdfs分布式文件系统,存取数据会有一层映射,故而慢。既然这样的话,那为何还要有分布式文件系统?原因就是大数据时代,单机硬盘存不下大量数据,只能通过分布式存储。 四、主要名词解释
集群(Cluster)是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,在单一系统的管理下,共同协作完成同一个任务。集群中每一个计算机叫作节点,每个节点都实现相同的业务,但是每个节点并不是缺一不可的。其主要作用是缓解并发压力和进行单点故障转移。 集群一般被分为三种类型:高可用集群、负载均衡集群和高性能运算集群。
分布式系统是将不同功能或不同地点、拥有不同数据的多台计算机通过网络连接起来,由控制系统统一管理,完成大规模信息处理的计算机系统。在分布式文件系统中,一种业务拆分成多个子业务,部署在多台计算机节点上,对外提供服务。其主要作用是大幅度地提高效率,缓解服务器的访问和存储压力。 常见的分布式系统有分布式文件系统、和分布式计算系统。
负载均衡(Load Balance)是指将负载(工作任务)进行平衡,分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心。和其他主要任务服务器等,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法用于扩展服务器和网络设备的带宽,加强网络数据处理能力,增加吞吐量,提高网络的可用性和灵活性。负载均衡中每个节点分配到的任务基本均衡。 三、开始安装hadoop-2.7.7初始环境配置由于我安装的Centos镜像是CentOS-7-x86_64-Minimal-2009.iso 也就是最小化,所以要配置一些东西,如果已弄好的请忽略这一步。
单机模式安装
? 安装完成后输入
结果如下图: (这里
内容如下表示 Hadoop和JDK均已安装成功 其 目录如下: 官方 Grep 案列课程没做要求,暂且不赘述 官方 WordCount 案例课程没做要求,暂且不赘述 伪分布式安装
? ① core-site.xml
? ② hadoop-env.sh
③ hdfs-site.xml
全分布式安装正在更新中… 可能遇到的问题uname -rs 检查已安装的内核版本 Othervim中有3中方法可以跳转到指定行(首先按esc进入命令行模式):
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 12:20:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |