1 概述

Hadoop在大数据技术体系中极为重要,被誉为是改变世界的7个Java项目之一(剩下6个是JunitEclipseSpringSolrHudsonAndJenkinsAndroid),本篇文章以Hadoop 3.3.0官方文档为基础,首先会介绍Hadoop相关术语,包括HDFSMapReduce等,接着会完整描述Hadoop的搭建过程,包括本地以及分布式集群的搭建。

2 术语介绍

  • HadoopHadoopApache开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储
  • HDFS:全称Hadoop Distributed File SystemHadoop分布式文件系统,被设计成适合运行在通用硬件上的分布式文件系统,具有高度容错性的特点,能提供高吞吐量的数据访问
  • MapReduce:一个编程模型,用于大规模数据集的并行运算,是面向大数据并行处理的计算模型、架构以及平台。平台指的是允许使用普通商用服务器构成一个包含数十甚至数千个节点的分布和并行计算集群。架构指的是MapReduce提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务。模型指的是借助于函数式编程语言的设计思想,提供了一种简便的并行程序设计方法
  • YARNYARNHadoop的一种资源管理器,一个通用的资源管理系统,可以为上层应用提供统一的资源管理以及调度,基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离

3 环境

  • 操作环境:Manjaro 20.0.3
  • 虚拟机环境:VirtualBox 6.1.10+CentOS-8.2.2004-x86_64-minimal × 3
  • Hadoop 3.3.0aarch64+x86_64
  • OpenJDK 11aarch64+x86_64
  • 服务器:CentOS 8 × 3(aarch64 × 1 + x86_64 × 2)

4 Hadoop部署模式

首先来看一下Hadoop支持的部署模式,Hadoop集群搭建支持以下三种模式:

  • 本地模式:默认模式,运行在单一Java进程中
  • 伪分布模式:运行在一个节点中但是在不同的Java进程中
  • 完全分布模式:运行在不同机器上的标准集群模式,利用多台主机部署Hadoop

5 安装前准备

5.1 Hadoop

官网下载戳这里,本文采用目前最新的3.3.0版本,注意如果服务器的架构为aarch64需要下载对应版本。

5.2 JDK

关于JDK的选择,参考文末的链接:

3.3版本在运行时支持Java113.2(包括3.2)以下只支持Java8,另外也提到了现在Hadoop使用OpenJDK作为构建/测试以及发布的JDK,因此这里使用OpenJDK11戳这里下载,如果服务器架构为aarch64可以使用yum install安装。

5.3 虚拟机

虚拟机用的是Virtual Box6.1.10版本。

使用虚拟机是为了模拟搭建集群,就算有真实服务器也建议先在虚拟机上跑一遍大概流程。

5.4 服务器

部署Hadoop的真实服务器,这里使用了三台服务器进行搭建集群。

6 动手吧!

准备工作做好后就开始动手吧!

由于篇幅略长所以分成了四篇文章方便查看:

7 结语

本文讲述了搭建Hadoop集群的三种方式,如无意外就可以搭建一个基本的Hadoop集群了。

但是,一般来说,并不能直接投入生产环境中使用,因为需要配合ZooKeeper搭建HA(高可用)集群,本文限于篇幅就不再叙述了。本文的初衷是教会读者如何搭建,至于ZooKeeper,网上有不少文章可以参考。最后希望读者看完之后能够对Hadoop有一个大概的认识,了解Hadoop的组成部分以及基本工作原理。

8 参考

如果觉得文章好看,欢迎点赞。

同时欢迎关注微信公众号:氷泠之路。

本地+分布式Hadoop完整搭建过程的更多相关文章

  1. Hadoop完整搭建过程(三):完全分布模式(虚拟机)

    1 完全分布模式 完全分布模式是比本地模式与伪分布模式更加复杂的模式,真正利用多台Linux主机来进行部署Hadoop,对集群进行规划,使得Hadoop各个模块分别部署在不同的多台机器上,这篇文章介绍 ...

  2. Hadoop完整搭建过程(二):伪分布模式

    1 伪分布模式 伪分布模式是运行在单个节点以及多个Java进程上的模式.相比起本地模式,需要进行更多配置文件的设置以及ssh.YARN相关设置. 2 Hadoop配置文件 修改Hadoop安装目录下的 ...

  3. Hadoop完整搭建过程(一):本地模式

    1 本地模式 本地模式是最简单的模式,所有模块都运行在一个JVM进程中,使用本地文件系统而不是HDFS. 本地模式主要是用于本地开发过程中的运行调试用,下载后的Hadoop不需要设置默认就是本地模式. ...

  4. Hadoop完整搭建过程(四):完全分布模式(服务器)

    1 概述 上一篇文章介绍了如何使用虚拟机搭建集群,到了这篇文章就是实战了,使用真实的三台不同服务器进行Hadoop集群的搭建.具体步骤其实与虚拟机的差不多,但是由于安全组以及端口等等一些列的问题,会与 ...

  5. 转载——Asp.Net MVC+EF+三层架构的完整搭建过程

    转载http://www.cnblogs.com/zzqvq/p/5816091.html Asp.Net MVC+EF+三层架构的完整搭建过程 架构图: 使用的数据库: 一张公司的员工信息表,测试数 ...

  6. Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程

    1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道r ...

  7. 大数据之路week06--day07(完全分布式Hadoop的搭建)

    前提工作: 克隆2台虚拟机完成后:新的2台虚拟机,请务必依次修改3台虚拟机的ip地址和主机名称[建议三台主机名称依次叫做:master.node1.node2 ] 上一篇博客 (三台虚拟机都要开机) ...

  8. Hadoop环境搭建过程中遇到的问题以及解决方法

    1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作: 1)进入.s ...

  9. Asp.Net MVC+EF+三层架构的完整搭建过程

    架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案下,新建解决方案文件夹(UI,BLL,DAL,Model) ...

随机推荐

  1. AttributeError: 'function' object has no attribute 'as_view'

    我的描述:当我启用jwt_required来进行token验证的时候,我提示错误; 解决方案: 修改前代码: 修改后代码: 多看书.多多了解.多看看世界...

  2. 永恒之蓝(MS17-010)检测与利用

    目录 利用Nmap检测 MSF反弹SHELL 注意 乱码 参考 利用Nmap检测 命令: nmap -p445 --script smb-vuln-ms17-010 [IP] # 如果运行报错,可以加 ...

  3. 剑指 Offer 40. 最小的k个数 + 优先队列 + 堆 + 快速排序

    剑指 Offer 40. 最小的k个数 Offer_40 题目描述 解法一:排序后取前k个数 /** * 题目描述:输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7. ...

  4. Hi3559AV100外接UVC/MJPEG相机实时采图设计(四):VDEC_Send_Stream线程分析

    下面随笔将对Hi3559AV100外接UVC/MJPEG相机实现实时采图设计的关键点-VDEC_Send_Stream线程进行分析,一两个星期前我写了有三篇系列随笔,已经实现了项目功能,大家可以参考下 ...

  5. #String类简述(小白理解,小白编写,欢迎大神指点,小白跪谢)

    @ 目录 一.前言(可忽略) 二.String变量的认知 三.String类的构造方法 四.String类的基本方法 4.1 toString()方法 4.2 equals()方法 4.3 equal ...

  6. go中waitGroup源码解读

    waitGroup源码刨铣 前言 WaitGroup实现 noCopy state1 Add Wait 总结 参考 waitGroup源码刨铣 前言 学习下waitGroup的实现 本文是在go ve ...

  7. C#开发BIMFACE系列38 网页集成开发2:审图系统中的模型或图纸批注

    系列目录     [已更新最新开发文章,点击查看详细] 在运维或协同的场景中,经常需要对模型或图纸进行批注,及时记录已发现的问题并交给相关负责的人员. 在开始实现功能之前,先了解一下BIMFACE中有 ...

  8. java 面试经典题

    面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...

  9. webpack核心模块tapable用法解析

    前不久写了一篇webpack基本原理和AST用法的文章,本来想接着写webpack plugin的原理的,但是发现webpack plugin高度依赖tapable这个库,不清楚tapable而直接去 ...

  10. FTT简单入门板子

    DFT : 1 #include <cstdio> 2 #include <iostream> 3 #include <cmath> 4 #include < ...