Hadoop官方文档中文版3.2.1稳定版

Hadoop官方文档中文版3.2.1稳定版第一节设置单节点集群目的这个文档描述了如何设置和配置单节点的安装 以便您可以使用 HadoopMapRed 和 Hadoop 分布式文件系统 HDFS 进行快速的简单操作 准备平台支持支持 GNU Linux 作为开发的生产平台 Hadoop 已经在具有 2000 个 GNU Linux 集群进行了演示 Windows 平台同样得到了支持 但是以下的步骤只针对于 Linux 如果想在 Windows 平台设置 Hadoop 请参考 wiki 页面 需要的软件对于 Linux 需要的软件包括 必须安装 Java 推荐

第一节 设置单节点集群

目的

这个文档描述了如何设置和配置单节点的安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)进行快速的简单操作。

准备

平台支持

  • 支持GNU/Linux作为开发的生产平台。Hadoop已经在具有2000个GNU/Linux集群进行了演示。
  • Windows平台同样得到了支持,但是以下的步骤只针对于Linux。如果想在Windows平台设置Hadoop,请参考wiki页面。

需要的软件

对于Linux需要的软件包括:

  1. 必须安装Java。推荐的Java版本在HadoopJavaVersions中有介绍。
  2. 如果需要使用可选的启动和停止脚本,必须安装ssh且sshd必须运行用于使用管理远程Hadoop守护进程/系统服务进程的Hadoop脚本。另外,建议安装pdsh以更好地进行资源管理。

安装软件

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

下载

为了获得Hadoop的发行版,从任意一个Apache Download Mirrors下载最新的稳定发行版即可。

准备启动Hadoop集群

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

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

尝试下面的命令:

$ bin/hadoop 
  • 本地/独立模式 Local (Standalone) Mode
  • 伪分布式模式 Pseudo-Distributed Mode
  • 全分布式模式 Fully-Distributed Mode

独立运行

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

伪分布式运行

Hadoop可以在单节点中以伪分布式运行,其中每一个Hadoop守护进程作为一个独立的Java进程运行。

配置

使用以下内容:

etc/hadoop/core-site.xml:

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> 

etc/hadoop/hdfs-site.xml:

<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> 

设置无密码ssh

现在确认您可以无需密码通过ssh连接到本地主机

$ ssh localhost 

如果您不能通过无密码的ssh连接到本地主机,执行下面的命令:

$ 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 on Single Node

  1. 格式化文件系统:
$ bin/hdfs namenode -format 
  1. 启动NameNode和DataNode守护进程:
$ sbin/start-dfs.sh 

Hadoop守护进程输出日志被写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs
3. 浏览NameNode的网页界面;默认的获取方式:

  • NameNode – http://localhost:9870/
  1. 设置执行MapReduce作业所需要的HDFS目录:
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username> 
  1. 将输入文件复制到分布式文件系统中:
$ bin/hdfs dfs -mkdir input $ bin/hdfs dfs -put etc/hadoop/*.xml input 
  1. 运行提供的一些示例:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar grep input output 'dfs[a-z.]+' 
  1. 检查输出文件:从分布式文件系统中复制输出文件到本地文件系统中并检查它们:
$ bin/hdfs dfs -get output output $ cat output/* 
$ bin/hdfs dfs -cat output/* 
  1. 完成后,使用以下命令停止守护进程:
$ sbin/stop-dfs.sh 

在单节点上的YARN

  1. 如下配置参数:
etc/hadoop/mapred-site.xml: 
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration> 
etc/hadoop/yarn-site.xml: 
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration> 
  1. 启动ResourceManager和NodeManager守护进程:
$ sbin/start-yarn.sh 
  1. 浏览ResourceManager的网页接口;默认方式如下:
  • ResourceManager – http://localhost:8088/
  1. 执行一个MapReduce作业。
  2. 完成后,使用以下命令结束守护进程:
$ sbin/stop-yarn.sh 

全分布式运行

有关设置全分布式,复杂集群的信息,请参考集群设置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233117.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DatagramSocket类简单使用

    DatagramSocket类简单使用importorg.junit.Test;importjava.io.*;importjava.net.DatagramPacket;importjava.net.DatagramSocket;importjava.net.InetSocketAddress;/***@author*@date2019/7/23*/publicclassTestUd…

    2022年6月7日
    45
  • 面试题 垃圾分类_前端垃圾回收机制面试题

    面试题 垃圾分类_前端垃圾回收机制面试题一、垃圾回收对象JVM运行时的数据区包括程序计数器、栈、堆、方法区、本地方法栈其中程序计数器、栈和本地方法栈是和线程绑定在一起的,当创建了线程,就会申请内存,当线程结束的时候,想关的内存就会被销毁。方法区主要是类对象,类加载的时候就会申请这里的内存,“类卸载”操作实际上是很少会涉及到的。因此,垃圾回收机制主要回收的对象就是堆,并且垃圾回收释放内存,实际上是在以对象为单位进行释放,因为内存的申请是以对象为单位进行申请的,当整个对象的内存都不在使用时,即没有引用指向这个对象时,就可以将其进行释放二、垃圾

    2022年10月13日
    6
  • information_schema.schemata_information theory

    information_schema.schemata_information theory1.INFORMATION_SCHEMA简介INFORMATION_SCHEMA提供对数据库元数据的访问,有关MySQL服务器信息,例如数据库或表的名称,列的数据类型或访问权限。INFORMATION_SCHEMA使用说明字符集注意事项INFORMATION_SCHEMA作为SHOW语句的替代INFORMATION_SCHEMA和特权性能注意事项1.1INFOR…

    2025年11月21日
    4
  • MFC学习——下检测计算机是否联网

    MFC学习——下检测计算机是否联网一个最简单的类方法:Bool IsNetworkAlive( __out LPDWORD lpdwFlags);返回TRUE表示联网,FALSE表示未连接到网络。使用时注意在头文件中加入如下代码:#include <Sensapi.h>#pragma comment(lib, “Sensapi.lib”)函数使用举例: DWORD ws;…

    2022年8月18日
    14
  • Microsoft Platform SDK 选择及在vc++6.0中的配置

    Microsoft Platform SDK 选择及在vc++6.0中的配置MicrosoftPlatformSDK选择及在vc++6.0中的配置转自http://hi.baidu.com/reddragon1314/blog/item/c6782188f00905

    2022年7月2日
    43
  • Twisted.Network.Programming.Essentials.2nd.Edition

    Twisted.Network.Programming.Essentials.2nd.Edition

    2021年9月9日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号