Hadoop基本操作

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

Hadoop安全模式

安全模式是保证系统保密性、完整性及可用性的一种机制,在一定程度上可以防止系统里的资源遭到破坏、更改和泄露,使整个系统持续、可靠地正常运行。

了解Hadoop安全模式

安全模式是Hadoop的保护机制,保障系统不受破坏。当处于安全模式时,文件系统只接收读数据的请求,而不接收删除、修改等变更请求。

若没有安全模式,则Hadoop将处于不受保护的状态,可能存在以下风险:

(1)Hadoop服务将不验证用户或其它服务。任何用户都可以访问HDFS,所有用户都可以对集群里的目录或文件进行增、删、改、查,个人文件的私密性将毫无保障。

(2)攻击者可以伪装成Hadoop服务。注册一个新的任务跟踪器,潜入Hadoop集群,监控整个集群的文件或目录和监控集群的运行。

(3)DataNode不会对节点上的数据块的访问实施任何访问控制。未经授权的用户可以随时获取想要的数据块信息,只需要提供对应的数据块ID,任何人都可以写任意数据到该节点。

所以,没有安全模式的Hadoop集群使用的风险是比较大的,集群的安全机制是必要的。

Hadoop开发者设定了一个安全模式:
  • 用户只能访问有访问权限的HDFS目录或文件。

  • 用户只能访问或修改自身的MapReduce任务。

  • 用户使用Hadoop集群的相关服务要进行身份验证,以防未经授权的NameNode、DataNode、JobTracker或TaskTracker服务。

  • 服务与服务之间也需要相互认证,以防未经授权的服务。

  • Kerberos凭证的获取和使用对用户和程序是透明的,前提是操作系统在登录时为用户获取了Kerberos票证授予票证,(Kerberos是一种计算机网络授权协议,使用在非安全网络中,对个人通信以安全的手段进行身份验证)。

查看、解除和开启Hadoop安全模式
查看安全模式

当启动Hadoop集群时,集群会进入安全模式,主要为了检查系统中的DataNode上的数据块的数量和有效性。在Linux系统上启动Hadoop集群,启动完成后可在本机浏览器的地址输入栏中输入“http://masster:9870”并按Enter键,查看HDFS的监控服务。

Hadoop基本操作
Hadoop基本操作

Summary模块下显示了安全模式信息,默认情况下刚开启集群时将自动开启安全模式,若显示“Safe mode is ON”,说明安全模式已启动。如果数据块还没加载到阈值,集群处于安全模式。若显示“Safe mode is off”,表示安全模式已自动关闭。

Hadoop基本操作

也可以在Linux终端使用命令查看安全模式情况。

解除和开启安全模式

当启动Hadoop集群时,集群会开启安全模式,原因是DataNode的数据块数没有达到总数据块的阈值。如果没有先关闭Hadoop集群,而直接关闭了虚拟机,那么Hadoop集群也会进入安全模式、保护系统。当再次开启Hadoop集群时,集群会一直处于安全模式,不会自动解除,这时使用命令可以解除安全模式。

Hadoop基本操作

使用命令使集群进入安全模式,在安全模式中,用户只能读取HDFS上的数据,不能进行增加、修改等操作。

Hadoop基本操作

查看Hadoop集群的基本信息

查询集群的存储系统信息

HDFS的监控服务默认是通过NameNode的9870端口进行访问的。

在本机浏览器的地址栏中输入“http://master:9870”并按Enter键查看当前HDFS的基本统计信息。

在页面中的“DataNode”,可以查看各DataNode的存储信息。

Hadoop也提供了命令行查询HDFS资源信息的方式,即“hdfs dfsadmin -report”命令;

基本语法:

  • -report : 输出文件系统的基本信息及相关数据统计。

  • -report -live : 输出文件系统中在线节点的基本信息及相关数据统计。

  • -report -dead : 输出文件系统中失效节点的基本信息及相关数据统计。

  • -report -decommissioning : 输出文件系统中停用的节点基本信息及相关数据统计。

在master节点中使用”hdfs dfsadmin -report -live“命令查看HDFS在线DataNode的基本信息。通过查询HDFS在线DataNode的基本信息,可以初步了解当前文件系统的基本情况。

查询集群的计算资源信息

在浏览器地址栏中输入http://master:8088/cluster/nodes 并按Enter键,查看当前Hadoop集群的计算资源信息。

页面中的”slave1:8042“超链接可以查看计算节点slave1的计算资源信息。

上传文件到HDFS目录

HDFS负责为用户创建、写入、读出、修改和存储文件、删除文件等。

HDFS是构建在服务器节点指定的目录/data/hadoop 上的,在实际工作环境中,文件系统是独立运行的,不同文件系统间的数据传输可通过命令或工具实现。

在本机浏览器的地址输入栏中输入”http://master:9870“ 并按Enter键,远程访问HDFS的监控端口。当需要访问HDFS上的文件及目录时,可以单击网页中的”Utilities“,在下拉菜单中选择”Browse the file system“。根目录”/“是HDFS所有目录的起始点。继续单机”Name“中的文件名可以浏览文件目录下的内容。

文件上传的流程:
  • 在本地计算机中使用SSH或FTP工具上传文件至Linux本地的目录(master节点),如/root/hadoop/目录。

  • 在master节点终端,使用HDFS命令,上传文件至HDFS的/user/root/目录下;也可以通过逆向操作进行文件下载,即将HDFS上的文件下载至本地计算机中。

HDFS的基本操作:

通过”hdfs dfs“命令即可完成对HDFS目录及文件的管理操作,包括创建目录、上传文件和下载文件,查看文件内容、删除文件或目录等。

创建目录

在集群服务器的终端,输入”hdfs dfs“命令,按下Enter键后即可看到HDFS基础操作命令的使用帮助信息,其中的[-mkdir [-p]<path>...]命令可用于创建目录,参数path用以指定创建的新目录。如在HDFS中创建/user/dfstest 目录:hdfs dfs -mkdir /user/dfstest

"hdfs dfs -mkdir <path>"命令只能逐级创建目录,如果父级目录不存在,那么使用该命令将会报错。

若加上”-p“,则可以同时创建多级目录,同时创建父级目录test和子目录example "hdfs dfs -mkdir -p /user/test/example".

上传文件与下载文件

创建新目录/usre/dfstest后,即可向该目录上传文件,通过”hdfs dfs “命令查看上传、下载文件命令的使用帮助信息。

  1. 文件上传

  • hdfs dfs [-copyFroLocal [-f] [-p] [-i] <localsrc> ... <dst>] : 将文件从本地文件系统复制到HDFS,主要参数localsrc为本地文件路径,dst为复制的目标路径。

  • hdfs dfs [-moveFroLocal [-f] [-p] [-i] <localsrc> ... <dst>] : 将文件从本地文件系统移动到HDFS,主要参数localsrc为本地文件路径,dst为移动的目标路径。

  • hdfs dfs [-put [-f] [-p] [-i] <localsrc> ... <dst>] : 将文件从本地文件系统上传到HDFS,主要参数localsrc为本地文件路径,dst为上传的目标路径。

  1. 文件下载

  • hdfs dfs [-copyToLocal [-p] [-ignoreCre] [-crc] <src> ...<localsrc>] : 将文件从HDFS复制到本地文件系统,主要参数src为HDFS文件路径,localsrc为本地系统文件路径。

  • hdfs dfs [-get [-p] [-ignoreCre] [-crc] <src> ...<localsrc>] : 获取HDFS上指定路径的文件到本地文件系统,主要参数src为HDFS文件路径,localsrc为本地系统文件路径。

查看文件内容
  • hdfs dfs [-cat [-ignoreCrc] <src> ...] : 输出HDFS文件内容,主要参数src用于指定文件路径。

  • hdfs dfs [-tail [-f] <file> ...] : 输出HDFS文件最后1024B的内容,主要参数file用于指定文件。

删除文件或目录
  • hdfs dfs [-rm [-f] [-r|-R] [-skipTrash] <src>...] : 删除HDFS上的文件,主要参数src用于指定删除文件的路径。

  • hdfs dfs [-rmdir [--ignore-file-no-non-empty] <dir>...] : 若删除的是一个目录,则可以用该命令,主要参数dir用于指定目录路径 。

运行首个MapReduce任务

MapReduce是Hadoop的数据处理引擎,是运算程序的核心。Hadoop官方提供了一个hadoop-mapreduce-examples-3.1.4.jar示例程序包给使用者初步运行MapReduce任务。

了解Hadoop官方的示例程序包
该程序包封装了一些常用的测试模块:
  • multifilewc : 统计多个文件中单词的数量

  • pi : 应用拟蒙特卡罗方法估算圆周率Π的值

  • randomtextwriter : 在每个DataNode随机生成一个10G的文本文件

  • wordcount : 对输入文件的单词进行频数统计

  • wordmean : 计算输入文件中单词的平均长度

  • wordmedian : 计算输入文件中单词长度的中位数

  • wordstandarddeviation : 计算输入单词长度的标准差

提交MapReduce任务给集群运行

提交MapReduce任务通常使用”hadoop jar“命令。

基础语法:

hadoop jar <jar> [maiClass] args

使用"hadoop jar"命令提交MapReduce任务

Hadoop jar \

$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar \

wordcount \

/user/root/email_log.txt \

/user/root/output

”hadoop jar“命令的常用参考说明:

  • $HADOOP_HOME : 指主机中设置的环境变量(参考/etc/profile文件内容),此处的$HADOOP_HOME指的是Linux本地的/user/local/hadoop-3.1.4目录

  • hadoop-mapreduce-examples-3.1.4.jar : Hadoop官方提供的示例程序包,其中包括词频统计模块

  • wordcount : 程序包中的主类名称

  • /user/root/email_log.txt : HDFS上输入文件名称

  • /user/root/output : HDFS上的输出文件目录

输出的日志信息:
  • job_123456_7890 : 表示此项任务的ID,通常也被称为作业号。

  • map=0% reduce=0% : 表示将开始Map操作和Reduce操作。

  • Map=100% reduce=0% : 表示Map操作完成。

  • Map=100 reduce=100% : 表示Reduce操作完成。

  • Job 作业号 completed successfully :表示此任务成功完成。

  • Map input records=999999 : 表示输入的记录共999999条。

  • Reduce output records=99999 : 表示输出的结果共有99999条。

基于Hadoop集群的并行计算的执行率是很高的,执行任务完成后,在HDFS的/user/output/目录下将生成两个新文件,一个是SUCCESS文件,表示任务执行完成;另一个是part-r-00000文件,即任务完成后产生的结果文件。

part-r-00000文件的两列数据:

第一列为用户的邮件地址,第二列为该用户的登录次数。

管理多个MapReduce任务

Hadoop是一个多任务系统,可以同时为多用户、多个作业处理多个数据集。

在本机浏览器的地址栏输入”http://master:8088/“并按Enter键,打开Hadoop集群的资源管理器的监控服务主界面,对提交到Hadoop集群上的多个MapReduce任务进行管理。

查询MapReduce任务

调用Hadoop官方的示例程序包估算pi值,

Hadoop jar \

/user/local/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-maproduce-examples-3.1.4.jar \

pi \

10 \

100

最后的两个参数10和100分别代表Map数量与每个Map的测算次数,参数的值越大,计算的结果精度越高。

查看上面代码的MapReduce任务的计算资源使用情况,在本机浏览器地址输入栏中输入”http://master:8088/“并按Enter键,打开Hadoop集群的资源管理器的监控服务主界面,单击左侧菜单栏中的”Node“选项,也可以 直接访问”http://master:8088/cluster/nodes“,

继续查询当前任务的信息,在资源管理器的监控服务主界面,单击左侧菜单栏中的”Applications“选项,或直接访问”http://master:8088/cluster/apps“,如果该MapReduce任务目前状态为”RUNING“表示这个任务正在执行中,如果MapReduce任务的状态为”ACCEPTED“表示该任务已被资源管理器YARN接受,目前在等待被分配计算资源,只有当计算资源满足后才开始执行;继续单击这个任务的ID可以获取到关于该MapReduce任务更详细的信息。

统计用户登录次数

hadoop jar \

$HADOOP_HOME/share/hadoop/maproduce/hadoop-maproduce-examples-3.1.4.jar \

wordcount \

/user/root/email_log.txt \

/user/root/output1

估算pi值

Hadoop jar \

/user/local/hadoop-3.1.4/share/hadoop/mapreduce/hadoop-maproduce-examples-3.1.4.jar \

pi \

10 \

100

中断Maproduce任务

对于已提交的Maproduce任务,在某些特殊情况下需要中断它,如发现过程有异常、某个任务执行时间过长、占用大量计算资源等。

例如提交两个任务,一个任务1估算pi值,一个任务2统计用户登录次数;

  1. 通过本机 浏览器,在资源管理器的监控服务主界面单击MapReduce任务1对应的ID号,将 弹出MapReduce任务1的执行信息窗口,

  1. 在界面左上角的”Kill Application“选项,并在弹出的对话框中单击”确定“按钮,

  1. 刷新任务1的执行信息窗口,显示MapReduce任务1在执行了987s后被中断了,

  1. 刷新资源管理器的任务列表监控界面,可以发现MapReduce任务1已被中断,MapReduce任务2正在执行中。

MapReduce任务的查询与中断将使用在多个MapReduce任务的开发调试中,如果有任务在执行过程中发生异常,则可查询任务的运行状态与相关日志信息,进行分析判断,若有必要,,可以中断相关MapReduce任务。

以上便是Hadoop基本操作的一些基本内容,虽然有些步骤缺少截图说明,读者也可以尝试操作以上步骤进行学习。

这篇博客多有准备不周,还望您多多指点。文章来源地址https://www.toymoban.com/news/detail-501340.html

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

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

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

相关文章

  • 游戏安全:外挂检测的基本操作

    文章目录 概要 常见的方法和技术 1.行为分析 2.签名检测 3.封包分析 4.内存扫描 5.硬件检测 6.自动化检测 7.举报系统   检测外挂通常是在线游戏和软件应用程序中的一项重要任务,以确保游戏或应用的公平性和安全性。以下是一些常见的方法和技术,用于检测外挂: 监控玩家

    2024年02月04日
    浏览(51)
  • 探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示

    💐作者:insist-- 💐个人主页: insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点赞👍收藏📁评论📒 前言 本文将介绍vim / vi编辑器是什么并详细讲解它的三种工作模式以及基

    2024年02月05日
    浏览(58)
  • 【Linux】操作系统的基本概念 {冯诺依曼体系结构,操作系统的基本概念,系统调用及用户操作接口,shell程序}

    现代计算机设计大都遵守冯·诺依曼体系结构: 截至目前,我们所认识的计算机,都是由一个个的硬件组件组成 输入单元:包括键盘, 鼠标,扫描仪, 磁盘,网卡等 存储器: 内存(提高数据读写速度,降低硬件成本) 中央处理器(CPU):含有运算器(算数运算,逻辑运算)和控

    2024年02月11日
    浏览(49)
  • 王道操作系统学习笔记(1)——操作系统基本概念

    本文介绍了操作系统的基本概念,文章中的内容来自B站王道考研操作系统课程,想要完整学习的可以到B站官方看完整版。 操作系统:系统资源的管理者(处理机管理、存储器管理、文件管理、设备管理) 交互式命令(在终端中输命令)和批处理命令(Shell脚本) 并发: 宏

    2024年02月10日
    浏览(50)
  • 【Unity3D】游戏物体操作 ③ ( 旋转操作 | 旋转工具 | 基本旋转 | 设置旋转属性 | 增量旋转 | 缩放操作 | 轴向缩放 | 整体缩放 | 操作工具切换 | 操作模式切换 )

    选中 Scene 场景 中的 游戏物体 GameObject , 点击 工具栏 中的 转换工具 , 此时在该 游戏物体 会被 4 个 圆圈 环绕 ; 红圈 : 拖动该圈 , 绕 X 轴旋转 ; 绿圈 : 拖动该圈 , 绕 Y 轴旋转 ; 蓝圈 : 拖动该圈 , 绕 Z 轴旋转 ; 最外层还有一个 白圈 ; 鼠标左键按住旋转 : 在 Unity 旋转 游戏物体

    2023年04月08日
    浏览(66)
  • 华为VRP系统基本操作

    掌握一些常见的路由命令。 查看设备版本信息 修改设备的名字 进入系统视图 修改设备名称 进入接口视图 进入到接口GigabitEthernet0/0/1的视图 display this命令用来查看当前视图的运行配置。 配置ip地址 退出当前视图,进入较低级别的视图 取消指令 查看设备当前配置 保存配置

    2024年02月09日
    浏览(40)
  • 五、文件系统组成和基本操作

    1、Linux文件系统结构 Linux:是一个单根倒树状的文件系统结构 Windows:是多根多树状的文件系统结构 文件系统从根目录开始,表示为一个单独的 ‘ / ’ 字符 文件命名大小写敏感 路径以 ‘ / ’ 为分隔 2、 Linux重要目录 /root:超级用户root的家目录(用户文件默认存放的位置)

    2024年02月05日
    浏览(47)
  • Rsync 文件同步(一):系统基本操作

    Rsync (remote sync) UNIX 及类 UNIX 平台下一款数据镜像备份软件 很神奇 不同于 FTP 或其他文件传输服务进行全量备份,它可以根据数据的变化进行差异备份 可以使用它进行本地数据或远程数据的复制 可以使用 SSH 安全隧道进行加密数据传输 Rsync 服务端定义源数据,客户端仅在

    2024年02月02日
    浏览(43)
  • 【操作系统】——基本分页存储管理

    将内存分为一个个大小相等的分区, 这些分区称作为(页框、页帧、内存块、物理块、物理页面)若对分区进从编号,则又有了对应的(页框号、页帧号、内存块号、物理块号、物理页号),从0开始 进程的信息都是要存在内存中的,既然内存有了分区,那么进程逻辑地址空间

    2024年02月06日
    浏览(43)
  • 【操作系统】几种基本页面置换算法的基本思想和流程图

      在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换

    2024年02月16日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包