热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ApacheHadoop3.2.0官方API常规:单节点安装

Hadoop:设置单节点群集。目的先决条件支持的平台必备软件安装软件下载准备启动Hadoop集群独立操作伪分布式操作组态设置passphraselessssh执行Y
Hadoop:设置单节点群集。
  • 目的
  • 先决条件
    • 支持的平台
    • 必备软件
    • 安装软件
  • 下载
  • 准备启动Hadoop集群
  • 独立操作
  • 伪分布式操作
    • 组态
    • 设置passphraseless ssh
    • 执行
    • YARN在单个节点上
  • 全分布式操作

目的

本文档介绍如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。

先决条件


支持的平台


  • 支持GNU / Linux作为开发和生产平台。已经在具有2000个节点的GNU / Linux集群上演示了Hadoop。

  • Windows也是受支持的平台,但以下步骤仅适用于Linux。要在Windows上设置Hadoop,请参阅Wiki页面。


必备软件

Linux所需的软件包括:

  1. 必须安装Java™。HadoopJavaVersions描述了推荐的Java版本。

  2. 必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本(如果要使用可选的启动和停止脚本)。此外,建议还安装pdsh以实现更好的ssh资源管理。


安装软件

如果您的群集没有必需的软件,则需要安装它。

例如在Ubuntu Linux上:

$ sudo apt-get install ssh
$ sudo apt-get install pdsh

下载

要获得Hadoop发行版,请从其中一个Apache下载镜像下载最新的稳定版本。

准备启动Hadoop集群

解压缩下载的Hadoop发行版。在分发中,编辑文件etc / hadoop / hadoop-env.sh以定义一些参数,如下所示:

# set to the root of your Java installationexport JAVA_HOME=/usr/java/latest

请尝试以下命令:

$ bin/hadoop

这将显示hadoop脚本的使用文档。

现在,您已准备好以三种支持模式之一启动Hadoop集群:

  • 本地(独立)模式
  • 伪分布式模式
  • 全分布式模式

Standalone Operation模式

默认情况下,Hadoop配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。

以下示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出将写入给定的输出目录。

$ mkdir input$ cp etc/hadoop/*.xml input$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar grep input output 'dfs[a-z.]+'$ cat output/*

伪分布式操作

Hadoop也可以在伪分布式模式下在单节点上运行,其中每个Hadoop守护程序在单独的Java进程中运行。

配置


使用以下内容:

etc/hadoop/core-site.xml:

fs.defaultFShdfs://localhost:9000

etc/hadoop/hdfs-site.xml:

dfs.replication1

设置  ssh 免密码登录

现在检查您是否可以在没有密码的情况下ssh到localhost:

$ ssh localhost

如果在没有密码短语的情况下无法ssh到localhost,请执行以下命令:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys$ chmod 0600 ~/.ssh/authorized_keys

执行

以下说明是在本地运行MapReduce作业。如果要在YARN上执行作业,请参阅单节点上的YARN 。

  1. 格式化文件系统:

    $ bin/hdfs namenode -format

  2. 启动NameNode守护程序和DataNode守护程序:

    $ sbin/start-dfs.sh

    hadoop守护程序日志输出将写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs)。

  3. 浏览NameNode的Web界面; 默认情况下,它可用于:

    • NameNode -    http://localhost:9870/
  4. 创建执行MapReduce作业所需的HDFS目录:

    $ bin/hdfs dfs -mkdir /user$ bin/hdfs dfs -mkdir /user/

  5. 将输入文件复制到分布式文件系统中:

    $ bin/hdfs dfs -mkdir input$ bin/hdfs dfs -put etc/hadoop/*.xml input

  6. 运行一些提供的示例:

    $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar grep input output 'dfs[a-z.]+'

  7. 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:

    $ bin/hdfs dfs -get output output$ cat output/*

    要么

    查看分布式文件系统上的输出文件:

    $ bin/hdfs dfs -cat output/*

  8. 完成后,停止守护进程:

    $ sbin/stop-dfs.sh


YARN在单个节点上

您可以通过设置一些参数并运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。

以下说明假设已执行上述指令的 1.~4步骤。

  1. 配置参数如下:

    etc/hadoop/mapred-site.xml:

    mapreduce.framework.nameyarn
    mapreduce.application.classpath$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*

    etc/hadoop/yarn-site.xml:

    yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.env-whitelistJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

  2. 启动ResourceManager守护程序和NodeManager守护程序:

    $ sbin/start-yarn.sh

  3. 浏览ResourceManager的Web界面; 默认情况下,它可用于:

    • ResourceManager - http://localhost:8088/

    运行MapReduce作业。

  4. 完成后,停止守护进程:

    $ sbin/stop-yarn.sh


全分布式操作

有关设置完全分布式,非平凡群集的信息,请参阅群集设置。

 


推荐阅读
  • MapReduce 切片机制源码分析
     总体来说大概有以下2个大的步骤1.连接集群(yarnrunner或者是localjobrunner)2.submitter.submitJobInternal()在该方法中会创建 ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • 如何在Vue项目中安装和使用VUX组件?
    vux2模板fork自webpack模板,基本和官方同步。1、默认为webpack2模板npminstallvue-cli-g如果还没安装vueinitairyla ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • 语法必须遵守的语法推荐遵守语法不做要求文件格式文件应该使用Unicode(UTF-8)编码保存。同时不要使用字节序标记(BOM)。与UTF-16和 ... [详细]
author-avatar
廖汉林1026_843
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有