掌握大数据--Hadoop全面指南

这篇具有很好参考价值的文章主要介绍了掌握大数据--Hadoop全面指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在讲Hadoop之前我们需要知道一个问题:为什么我们学习大数据要学习Hadoop

不卖关子 原因如下:

1. 分布式存储:Hadoop提供了分布式存储系统,最著名的是Hadoop Distributed File System(HDFS)。这使得大规模数据能够分布式存储在集群中,提高了数据的容错性和可靠性。

2. 分布式计算: Hadoop的核心组件之一是MapReduce,它是一种分布式计算模型。通过MapReduce,可以对大规模数据进行并行处理,从而加速计算过程,特别是对于需要处理海量数据的任务。

3. 扩展性: Hadoop是一个高度可扩展的系统,能够容纳成百上千台服务器。这意味着随着数据规模的增加,可以简单地通过添加更多的计算节点来提高系统的性能。

4. 容错性: Hadoop具有强大的容错机制。在一个大规模的集群中,由于硬件故障等原因,节点可能会失败。Hadoop能够自动检测故障,并在其他节点上重新执行任务,保障数据的完整性。

5. 开源生态系统:Hadoop是一个开源项目,具有庞大的社区支持。它的生态系统包括了许多相关工具和框架,如Hive(数据仓库)、Pig(数据流编程)、HBase(分布式数据库)等,为大数据处理提供了全面的解决方案。

6. 行业标准: Hadoop已经成为处理大数据的事实标准。许多大型企业和组织都在使用Hadoop来存储和分析海量数据。因此,学习Hadoop使你更容易适应和贡献于大数据领域。

那我们便正式开始学习Hadoop

1.分布式和集群介绍

  • 分布式: 多台机器做不同的事情, 然后组成1个整体.

  • 集群: 多台机器做相同的事情.

  • 多台机器既可以组成 中心化模式(主从模式), 也可以组成 去中心化模式(主备模式)

  • 我们用比较生动的语言描述一下让大家更好理解 我们先想象一个饭店

  • 单机模式就是一个人买菜切菜炒菜,但是一个人做所有事压力太大,很容易倒下,如果这个人倒下了那么饭店就停业。

  • 分布式就相当于三个人,一个负责买菜一个负责洗菜切菜另一个负责炒菜。分工均匀,不会让人太累。但是如果任何一个人出了问题,那么饭店也是无法营业的。

  • 集群就相当于三个人,每一个人都负责买菜 洗菜 切菜 炒菜 这样任何一个人出现问题,饭店也可以正常营业。

  • 分布式集群就相当于饭店很大有很多人,几个人负责买菜,几个人负责切菜洗菜,几个人负责炒菜。任何人出了问题都不会影响饭店营业

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

2.Hadoop框架国内外应用

  • 国外

    • Yahoo雅虎, 节点4.2W+, 超10W核, 总存储350PB+, 每月提交作业 1000W+

  • 国内

    • 阿里巴巴, 节点3000+, 超4W核心, 内存超100TB, 每月提交作业 450W+

  • Hadoop的组成

    • HDFS: 分布式存储框架

    • MapReduce: 分布式计算框架

    • Yarn: 任务接收和调度器

3. Hadoop的架构图

Hadoop1.X架构

HDFS: Hadoop Distributed FileSystem分布式文件存储系统

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

namenode: 主节点

1.管理整个HDFS集群

2.维护和管理元数据
问:什么是元数据(metadata)?答:描述数据的数据就被称之为: 元数据例如: 图书在哪层,哪个区域,哪个书架.

文件的存储路径,大小,时间,权限.

SecondaryNameNode: 辅助节点辅助namenode管理元数据的

datanode: 从节点
1.维护和管理源文件
2.负责数据的读,写操作
3.定时向namenode报活

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

JobTracker: 主节点

1.负责任务的接收

2.负责任务的调度

3.负责任务的监控

4.负责资源的调度和分配.

TaskTracker:从节点负贡接收并执行JobTracker分配过来的计算任务

JobTracker的任务过于繁重,容易宕机,存在: 单点故障的问题

Hadoop2.X, 3.X 架构= HDFS + MapReduce + Yarn

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

HDFS集群与Hadoop 1 没有不同,不同的是另一边 Hadoop2/3没有MapReduce集群的概念

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

Hadoop集群高可用模式

重点来了Hadoop集群高可用模式

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

4.Hadoop集群环境初体验

  • 搭建方式

    • 方式1: Standalone mode 单机模式

      把所有的服务(namenode, SecondaryNameNode, datanode, ResourceManager, nodemanager)装到1台机器, 适用于: 学习, 调试.

    • 方式2: Cluster mode 集群模式

      node1: namenode, datanode, ResourceManager, nodemanager

      node2: SecondaryNameNode, datanode, nodemanager

      node3: datanode nodemanager

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

Hadoop集群环境搭建我们后面在将这里就不做冗余阐述。

  1. 在node1中执行 start-all.sh 命令, 即可启动Hadoop集群.

  2. 然后在node1中单独运行 mapred --daemon start historyserver 启动历史服务.

  3. 然后在三台虚拟机中分别输入 jps 查看服务

  4. 之后就可以在浏览器中输入如下的的端口号进行访问了.

    HDFS的WebUI界面: ip:9870 细节: 如果是Hadoop2.X, 端口号是: 50070

    Yarn的WebUI界面: ip:8088, 只记录本次启动Hadoop集群至关闭, 所有的计算任务.

    历史服务的WebUI界面: ip:19888, 记录Hadoop从搭建好至现在, 所有的计算任务.

5.Hadoop之MapReduce初体验

Hadoop框架提供了MapReduce的测试包, 具体如下

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

如何使用上述的测试包, 计算圆周率:
 

# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下:
cd /export/server/hadoop/share/hadoop/mapreduce

# 执行MR包(MR任务的)格式:                     
yarn jar hadoop-mapreduce-examples-3.3.0.jar pi 2 50

# 上述格式解释:
yarn jar                                固定格式, 说明要把某个jar包交给yarn调度执行.
hadoop-mapreduce-examples-3.3.0.jar        Hadoop提供的MR任务的测试包
pi                                        要执行的任务名
2                                        表示MapTask的任务数, 即: 几个线程来做这个事儿.
50                                        投点数, 越大, 计算结果越精准.

如何使用上述的测试包, 计算: 单词的次数

# 建议cd先进入到Hadoop提供的MR的测试包所在的路径下:
cd /export/server/hadoop/share/hadoop/mapreduce

# 执行MR包(MR任务的)格式:	                 
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount 数据源文件路径 目的地目录路径

# 上述格式解释:
数据源文件路径		# 必须是HDFS的文件路径, 即: 要进行单词统计的文件(绝对)路径
目的地目录路径		# 必须是HDFS的目录路径, 且该目录必须不存在, 因为MR结果是 覆盖写入.

# 细节: HDFS只支持 绝对路径, 不支持相对路径, 且HDFS的路径和Linux一样, 都是 /开头的. 

# 示例
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount hdfs://node1:8020/input/word.txt hdfs://node1:8020/output
 
# 上述的 hdfs://node1:8020/ 是完整写法, 8020是HDFS的客户端地址, 可以简写为: 
yarn jar hadoop-mapreduce-examples-3.3.0.jar wordcount /input/word.txt /output

6.HDFS的特点

  • HDFS文件系统可存储超大文件,时效性稍差。

  • HDFS具有硬件故障检测和自动快速恢复功能。

  • HDFS为数据存储提供很强的扩展能力。

  • HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改。

  • HDFS可在普通廉价的机器上运行。

7.HDFS的架构图

掌握大数据--Hadoop全面指南,大数据,hadoop,分布式

心跳机制:
1.datanode会定时(3秒)向namenode发送心跳包,告诉namenode,我还活着.2.如果超过一定时间(630秒),namenode没收到datanode的心跳包,就认为它宕机了.此时就会将该datanode的块信息,交由其它活跃的datanode来存储.3.所有的datanode会定时(6个小时),向namenode汇报一次自己完整的块信息,让namenode校验更新

负载均衡:
namenode会保证所有的datanode的资源使用率,尽量保持一致

副本机制:
可以提高容错率,默认的副本数是: 3
如果当前副本总数 > 默认的副本数(3),namenode会自动删除某个副本如果当前副本总数 < 默认的副本数(3),namenode会自动增加该副本.如果当前活跃的机器总数 《 默认的副本数(3),例如: 默认3副本,但是现在只有2台机器活跃了就会强制进入到 安全模式(safemode),安全模式下: 只能读,不能写

更多配置,详见Hadoop官方文档:
https://hadoop. apache. org/docs/r3. 3. 0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xm文章来源地址https://www.toymoban.com/news/detail-816082.html

8. HDFS的Shell命令

# HDFS的Shell命令, 类似于Linux的Shell命令, 格式稍有不同, 具体如下:
hadoop fs -选项 参数		# 既能操作HDFS文件系统, 还能操作本地文件系统.
hdfs dfs -选项 参数			# 只能操作HDFS文件系统. 

# 细节: 操作HDFS路径的时候, 建议加上前缀  hdfs://node1:8020/

# -ls命令, 查看指定的HDFS路径下所有的内容. 
hadoop fs -ls /			# 查看根目录下所有内容(不包括子级)
hadoop fs -lsr /		# 查看根目录下所有内容(包括子级), 该命令已过时, 不推荐用.
hadoop fs -ls -R /		# 查看根目录下所有内容(包括子级), 该命令已过时, 不推荐用.

# mkdir命令, 创建目录
hdfs dfs -mkdir /aa				# 创建单级.
hdfs dfs -mkdir -p /aa/bb/cc/dd	# 创建多级目录.

# cat命令, 查看文件内容.
hadoop fs -cat /input/word.txt

# mv命令, 剪切. 只能是 HDFS路径 => HDFS路径
hadoop fs -mv /input/word.txt /aa

# cp命令, 拷贝. 只能是 HDFS路径 => HDFS路径
hadoop fs -cp /input/word.txt /aa

# rm命令, 删除.
hadoop fs -rm /aa/bb/word.txt
hadoop fs -rmr /aa		# 递归删除aa文件夹
hadoop fs -rm -r /aa	# 递归删除aa文件夹, 效果同上.

# put命令, 把Linux系统的文件 上传到 HDFS文件系统中. 
hadoop fs -put 1.txt /input		# 1.txt是Linux的文件路径, /input是HDFS的目录路径

# get命令, 把HDFS文件系统的某个文件 下载到 Linux系统的文件中.
hadoop fs -get /input/1.txt ./	# 1.txt是HDFS的文件路径,  ./Linux的路径.

到了这里,关于掌握大数据--Hadoop全面指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据 | 实验零:安装 Hadoop 伪分布式系统

    👀 前言 :本篇是个人配置环境的总结,基于指导书,补充了许多在配置过程中出现的问题的解决细节。希望能帮到你😄。 Vmware workstation pro 16 Ubuntu 20.04 JDK 1.8 Hadoop 3.2.2 下边资源是本篇博客会用到的相关文件 (建议直接下载,相关代码直接对应的下述文件, 下载完先不要动

    2023年04月17日
    浏览(34)
  • 大数据Hadoop完全分布式及心得体会

    Hadoop是一个 分布式系统 基础技术框架,利用hadoop,开发用户可以在不了解分布式底层细节的情况下,开发分布式程序,从而达到充分利用集群的威力高速运算和存储的目的;而在本学期中,我们的专业老师带我们学习了Hadoop框架中最 核心 的设计: MapReduce 和 HDFS 。 MapReduc

    2024年02月08日
    浏览(36)
  • (大数据开发随笔9)Hadoop 3.3.x分布式环境部署——全分布式模式

    分布式文件系统中,HDFS相关的守护进程也分布在不同的机器上,如: NameNode守护进程,尽可能单独部署在一台硬件性能较好的机器中 其他的每台机器上都会部署一个DataNode进程,一般的硬件环境即可 SecondaryNameNode守护进程最好不要和NameNode在同一台机器上 守护进程布局 Name

    2023年04月16日
    浏览(42)
  • 大数据内容分享(九):Hadoop-生产集群搭建(完全分布式)

    目录 Hadoop运行模式——完全分布式 1、准备3台虚拟机(关闭防火墙、配置静态IP 和 主机名称) 2、安装JDK 和 Hadoop 并配置JDK和Hadoop的环境变量 3、配置完全分布式集群 4、集群配置 1)集群部署规划 2)配置文件说明 3)配置集群 5、集群启动 与 测试 1)workers的配置 2)启动集

    2024年02月21日
    浏览(88)
  • 分布式计算 第五章 大数据多机计算:Hadoop

    5.2.1 从硬件思考大数据 从硬件角度看,一台或是几台机器似乎难以胜任大数据的存储和计算工作。 • 大量机器的集群构成数据中心 • 使用高速互联网络对大量机器进行连接以确保数据传递 • 综合考量数据中心的散热问题、能耗问题,以及各方面成本 • 集群中硬件发生故

    2024年02月05日
    浏览(45)
  • hadoop完全分布式集群搭建(超详细)-大数据集群搭建

    本次搭建完全分布式集群用到的环境有: jdk1.8.0 hadoop-2.7.7 本次搭建集群所需环境也给大家准备了,下载链接地址:https://share.weiyun.com/dk7WgaVk 密码:553ubk 本次完全分布式集群搭建需要提前建立好三台虚拟机,我分别把它们的主机名命名为:master,slave1,slave2 一.配置免密登陆 首先

    2024年02月10日
    浏览(38)
  • 大数据开发·关于虚拟机Hadoop完全分布式集群搭建教程

    官网链接 进入后网站如图,各位按需下载 官网链接 进入页面点击下载 再根据我们需要下载的软件进入下载页面 点击右侧红框内的免费授权页面获取免费许可 进入后如图,两者我们都需要所以都勾选,填写的邮箱用于接收下载链接,下载后进行安装即可 这里先和大家强调一

    2024年02月07日
    浏览(40)
  • Hadoop大数据从入门到实战(二)分布式文件系统HDFS

    头歌实践教学平台 教学课堂 大数据从入门到实战 - 第2章 分布式文件系统HDFS 任务描述 本关任务:使用 Hadoop 命令来操作分布式文件系统。 编程要求 在右侧命令行中启动 Hadoop ,进行如下操作。 在 HDFS 中创建 /usr/output/ 文件夹; 在本地创建 hello.txt 文件并添加内容:“ HDFS的

    2024年02月12日
    浏览(31)
  • 在macOS上安装Hadoop: 从零到分布式大数据处理

    要在 macOS 上安装 Hadoop,您可以按照以下步骤进行操作: 前往Hadoop的官方网站下载最新版本的Hadoop。选择一个稳定的发行版本并下载压缩文件(通常是.tar.gz格式)。 将下载的 Hadoop 压缩文件解压缩到您选择的目录中。可以使用终端执行以下命令: 请将 hadoop-version 替换为您下

    2024年02月06日
    浏览(43)
  • Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据。它是由Apache软件基金会开发的,现在已经成为大数据领域中广泛使用的技术之一。 Hadoop架构 Hadoop的架构包括以下几个主要组件: Hadoop Distributed File System (HDFS) : HDFS是Hadoop的核心组件之一,它是一个分布式文

    2024年02月04日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包