Hadoop 3.x各模式部署 - Ubuntu(上)

简介: Hadoop 3.x各模式部署 - Ubuntu

一、Hadoop介绍

Hadoop软件库是一个计算框架,可以使用简单的编程模型以集群的方式对大型数据集进行分布式处理。

1. Hadoop发展史及生态圈

  • Hadoop起源于Apache Nutch项目,始于2002年,是Apache Lucene的子项目之一。
  • 2006年2月,成为一套完整而独立的软件,并被命名为Hadoop
  • 2008年1月,Hadoop成为Apache顶级项目。
  • 2009年7月,MapReduceHDFS成为Hadoop的独立子项目。
  • 2010年5月,Avro脱离Hadoop项目,成为Apache顶级项目。
  • 2010年5月,HBase脱离Hadoop项目,成为Apache顶级项目。
  • 2010年9月,Hive脱离Hadoop项目,成为Apache顶级项目。
  • 2010年9月,Pig脱离Hadoop项目,成为Apache顶级项目。
  • 2011年1月,Zookeeper脱离Hadoop项目,成为Apache顶级项目。
  • 2011年12月,Hadoop 1.0.0版本发布。
  • 2012年10月,Impala加入Hadoop生态圈。
  • 2013年10月,Hadoop 2.0.0版本发布。
  • 2014年2月,Spark成为Apache顶级项目。
  • 2017年12月,Hadoop 3.0.0版本发布。
  • 2023年3月,Hadoop 3.3.5版本发布。

2. Hadoop核心功能及优势

  • 分布式存储系统:HDFS

HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的简称,是Hadoop生态系统中的核心项目之一,也是分布式计算中数据存储管理的基础。

  • 分布式计算框架:MR

MapReduce是一种计算模型,核心思想就是“分而治之”,可以用于TB级的大规模并行计算。Map阶段处理后形成键值对形式的中间结果;Reduce对中间结果相同的“键”对应的“值”进行处理,得到最终结果。

  • 资源管理平台:YARN

YARN(Yet Another Resource Negotiator)是Hadoop的资源管理器,可以为上层应用提供统一的资源管理和调度,为集群的资源利用率、统一管理、数据共享等方面提供了便利。

  • 高扩展

Hadoop是一个高度可扩展的存储平台,可以存储和分发超数百个并行操作的廉价的服务器集群。能够打破传统的关系数据库无法处理大量数据的限制,Hadoop能够提供TB级别数据的运算能力。

  • 成本低

Hadoop可以将廉价的机器组成服务器集群来分发处理数据,成本较低,学习者及普通用户也能够很方便的在自己的PC上部署Hadoop环境。

  • 高效率

Hadoop能够并发的处理数据任务,并且能够在不同的节点之间移动数据,可以保证各个节点的动态平衡。

  • 容错性

Hadoop可以自动维护多份数据的副本,如果计算任务失败,Hadoop能够针对失败的节点重新处理。

3. 部署方式介绍

  • 单机模式

单机模式是一个最简的安装模式,因为Hadoop本身是基于Java编写的,所以只要配置好Java的环境变量就可以运行了。在这种部署方式中我们不需要修改任何的配置文件,也不需要启动任何的服务,只需要解压缩、配置环境变量

虽然配置很简单,但是能做的事情也是很少的。因为没有各种守护进程,所以分布式数据存储以及资源调度等等服务都是不能使用的,但是我们可以很方便的测试MapReduce程序

  • 伪分布模式

伪分布模式是学习阶段最常用的模式,可以将进程都运行在同一台机器上。在这种模式下,可以模拟全分布模式下的运行状态,基本上可以完成全分布模式下的所有操作,伪分布模式是全分布模式的一个特例。

  • 全分布模式

在全分布模式下,会在配置文件中体现出主节点与分节点,可以指定哪些机器上运行哪些服务以达到的成本与效率的平衡。在企业中主要采用的都是全分布式模式,节点从数十个到上百个不等。在学习阶段,如果个人PC的性能足够强劲,也可以使用多台虚拟机代替。

二、Hadoop下载

1. 下载地址

在百度中搜索Hadoop,前两条就会显示我们需要的网站,目前Hadoop属于Apache基金会,所以我们打开网址时注意一下是apache.org

进入后来到Hadoop的官网,点击Download就可以打开下载界面:https://hadoop.apache.org/releases.html

2. 版本选择

现在我们使用的是开源社区版,目前的主流版本为2.x.y3.x.y

在选择Hadoop的版本时,我们应该考虑到与其他生态圈软件的兼容问题。通常的组建方式有两种:

  • 根据各组件的兼容性要求手动选择版本并搭建
  • 使用CDH(Cloudera’s Distribution Including Apache Hadoop)自动选择版本并解决兼容问题

在学习阶段,由于进行的操作比较简单,不需要特别的在意版本的兼容问题,但是建议两种方式大家都能够去进行了解和实践。

3. 安装包下载

目前的3.x版本中已经支持了对于不同系统架构的支持,但是对于安装过程和使用都无影响,本文以3.3.5为例。source为软件源码,binary为所需,根据系统架构点击链接进入:

点击任意一个镜像地址开始下载,直击链接:

可以直接使用wget命令下载到Linux系统。

三、前置环境

Hadoop的运行需要Java环境,先确保已经正确安装配置JDK。

1. 检查已有JDK环境

可以使用java -version来验证已经安装的版本,也可以使用以下命令:

update-java-alternatives --list

使用该命令时需要预先安装java-common:sudo apt install java-common

2. 卸载不需要的版本

如果已经安装的版本不是所需要的,可以先进行卸载,软件名称就是上文中查询到的。

sudo apt remove java-1.8.0-openjdk-arm64

3. 安装对应版本的JDK

JDK 1.8版本基本可以和所有的大数据生态圈组件很好的兼容,如果需要也可以换成其它版本,建议提前确认好版本兼容性。

sudo apt install openjdk-8-jdk

安装完成后可以使用java -version命令进行验证。

4. 创建Hadoop用户

使用大数据生态圈组件,建议创建一个单独的用户,如:hadoop。

sudo adduser hadoop

可以将hadoop用户添加到sudo组,使其拥有更高的权限:

sudo usermod -aG sudo hadoop

修改Hadoop软件压缩包的所属为hadoop:

sudo chown hadoop:hadoop hadoop-3.3.5-aarch64.tar.gz

移动软件包至hadoop用户家目录,并切换到hadoop用户:

sudo mv ~/Software/hadoop-3.3.5-aarch64.tar.gz /home/hadoop/
su - hadoop

四、本地模式

Hadoop的本地模式即不需要启动任务服务进程,仅仅通过携带的软件环境运行计算任务,可以方便的进行程序测试。

1. 解压安装

  • 解压缩
tar -zvxf hadoop-3.3.5-aarch64.tar.gz
  • 环境变量配置

由于使用的是apt安装的JDK,系统当中并没有配置JAVA_HOME变量,可以通过上文提到的命令查看安装位置。

编辑家目录下的.bashrc文件,可在文件结尾写入以下内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/home/hadoop/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 刷新测试

配置完成后使其立即生效,并通过hadoop命令进行测试:

source ~/.bashrc
hadoop version

2. 运行测试

Hadoop本身自带了一个案例jar包,可以让我们直接执行一个Hello World,路径为share/hadoop/mapreduce

  • 测试数据准备

新建一个txt文件,注意保存的路径【可以直接在jar包所在路径下创建】,读取时需要用到。

touch data.txt
vi data.txt
# 在文件中写入以下内容
good good study
day day up
today is a good day
  • 运行计算任务
  • wordcount:jar包中自带的一个可执行类
  • data.txt:数据输入文件路径
  • output:结果输出文件夹名称【需要指定一个还不存在的目录】

进入到example的jar包所在路径,执行以下命令:

hadoop jar hadoop-mapreduce-examples-3.3.5.jar wordcount data.txt output

目录
相关文章
|
24天前
|
存储 关系型数据库 文件存储
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
这篇文章是关于如何在Ubuntu 22.04LTS上使用cephadm工具快速部署Ceph Reef(18.2.X)存储集群的详细教程,包括ceph的基本概念、集群的搭建步骤、集群管理以及测试集群可用性等内容。
117 8
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
|
24天前
|
Ubuntu 数据安全/隐私保护
Ubuntu22.04LTS环境部署实战
这篇文章提供了Ubuntu 22.04 LTS操作系统的详细安装步骤,包括选择语言、键盘布局、网络配置、软件源设置、磁盘分区、安装OpenSSH服务以及完成安装和首次登录系统的过程。
69 6
Ubuntu22.04LTS环境部署实战
|
24天前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
62 4
|
24天前
|
Ubuntu Oracle 关系型数据库
Oracle VM VirtualBox之Ubuntu 22.04LTS双网卡网络模式配置
这篇文章是关于如何在Oracle VM VirtualBox中配置Ubuntu 22.04LTS虚拟机双网卡网络模式的详细指南,包括VirtualBox网络概述、双网卡网络模式的配置步骤以及Ubuntu系统网络配置。
48 3
|
8天前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
12 0
|
22天前
|
存储 Ubuntu 网络安全
在Ubuntu系统下通过Caddy实现LXD的安装与部署
通过上述步骤,您可以在Ubuntu系统下通过Caddy实现LXD的安装与部署。这种方法不仅可以提高容器管理的效率,还可以借助Caddy的自动SSL管理功能提升安全性。
15 0
|
1月前
|
存储 分布式计算 Hadoop
|
28天前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
86 0
|
1月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
1月前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。