大数据Hadoop集群运行程序

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云防火墙,500元 1000GB
简介: 大数据Hadoop集群运行程序

1 运行自带的MapReduce程序

下面我们在Hadoop集群上运行一个MapReduce程序,以帮助读者对分布式计算有个基本印象。


在安装Hadoop时,系统给用户提供了一些MapReduce示例程序,其中有一个典型的用于计算圆周率的Java程序包,现在运行该程序。


该jar包文件的位置和文件名是“~/hadoop-3.1.0/share/Hadoop/mapreduce/hadoop- mapreduce-examples-3.1.0.jar”,我们在终端输入hadoop jar ~/hadoop-3.1.0/share/hadoop/ mapreduce/hadoop-mapreduce-examples-3.1.0.jar pi 10 10。按下Enter键后即可开始运行。其中pi是类名,后面跟了两个10,它们是运行参数,第一个10表示Map次数,第二个10表示随机生成点的次数(与计算原理有关)。


11e65c7148c14f6ca5a09b3f3efaf68e.png


如果在程序运行过程中出现如图4-42所示的输出信息,则表明程序在正常运行,系统处于良好状态。

b8ff059bc02d4020812df983c56818b8.png


值得指出的是,运行Hadoop的MapReduce程序是验证Hadoop系统是否正常启动的最后一个环节。实际上,即使通过“jps”命令和Web界面监测验证了系统已经成功启动,并且能够查看到状态信息,也不一定意味着系统可以正常工作。例如,如果防火墙没有关闭,MapReduce程序运行就不会成功。


2 常见错误

经常有用户不能正常运行上述MapReduce程序,所遇到的错误提示也各不相同,主要有以下这些情况:


第一,Linux防火墙没有关闭,用户看到系统抛出“no route to host”或“There are 0 datanode(s) running and no node(s) are excluded in this operation.”异常信息。特别是在后一种异常情况下,我们虽然使用“jps”命令可以查看到Master和Slave上的NameNode、DataNode等进程都存在,但是如果使用“http://master:9870/”查看Hadoop状态,就会发现没有活动的DataNode,这就是无法正常运行MapReduce程序的原因。要消除上述异常,就必须关闭Linux防火墙,而且所有节点的防火墙都要关闭,然后重新启动Hadoop即可。关于关闭防火墙的具体办法,请参见第3章中有关内容。

java.net.NoRouteToHostException: No route to hostjava.net.NoRouteToHostException: No route to host

e9baf071932c4ea38f5a89501f95663a.png

第二,系统不稳定。当系统由于某种原因处于一种不稳定状态时,也可以导致程序运行失败,一般可以简单地重新运行一下命令即可。


第三,系统处于安全模式,这时系统会给出提示“system is in safe mode”。这时,我们只要执行如下命令:hadoop dfsadmin -safemode leave


即可关闭安全模式。离开安全模式后,就可以正常运行程序了。


第四,mapred-site.xml配置不合适。在Hadoop中运行应用程序时,出现了“running beyond virtual memory”错误,提示信息是“Container [pid=6629,containerID=container_ 1532136350867_0001_01_000026] is running 541133312B beyond the ‘VIRTUAL’ memory limit. Current usage: 291.8 MB of 1 GB physical memory used; 2.6 GB of 2.1 GB virtual memory used. Killing container”。显然,这表明Slave上运行的Container试图使用过多的内存,而被NodeManager 杀(kill)掉了。解决办法是调整mapred-site.xml配置,例如,可以将下面这些配置代码加入mapred-site.xml文件中:

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>2048</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024M</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>4096</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx2560M</value>
</property>


上述代码中的value需要根据自己计算机内存大小及应用情况决定。


上述几种异常有时候可以重叠在一起出现,这时候就需要逐个解决问题。


Hadoop是一种开源系统,且处于不断进化中,出现各类问题是很正常的。从某种意义上讲,开发和应用Hadoop大数据应用系统,就是一个不断面对各种问题、需要持续努力和耐心去应对的过程。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
11天前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
42 0
|
14天前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
37 2
|
16天前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
17天前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
11天前
|
存储 分布式计算 Hadoop
Hadoop 运行的三种模式
【8月更文挑战第31天】
53 0
|
14天前
|
SQL 分布式计算 数据可视化
基于Hadoop的大数据可视化方法
【8月更文第28天】在大数据时代,有效地处理和分析海量数据对于企业来说至关重要。Hadoop作为一个强大的分布式数据处理框架,能够处理PB级别的数据量。然而,仅仅完成数据处理还不够,还需要将这些数据转化为易于理解的信息,这就是数据可视化的重要性所在。本文将详细介绍如何使用Hadoop处理后的数据进行有效的可视化分析,并会涉及一些流行的可视化工具如Tableau、Qlik等。
42 0
|
6天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
46 11
|
11天前
|
存储 分布式计算 大数据
MaxCompute 数据分区与生命周期管理
【8月更文第31天】随着大数据分析需求的增长,如何高效地管理和组织数据变得至关重要。阿里云的 MaxCompute(原名 ODPS)是一个专为海量数据设计的计算服务,它提供了丰富的功能来帮助用户管理和优化数据。本文将重点讨论 MaxCompute 中的数据分区策略和生命周期管理方法,并通过具体的代码示例来展示如何实施这些策略。
38 1
|
17天前
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
数据平台问题之在数据影响决策的过程中,如何实现“决策/行动”阶段
|
20天前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。

热门文章

最新文章