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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 高速排序算法

    高速排序算法

    2021年11月24日
    39
  • Thinking in Java 系列 —(一)基本语法和操作

    Thinking in Java 系列 —(一)基本语法和操作前言本系列由阅读Thinkinjava4th英文原版完成。Thinkinjava作为最权威的java书籍之一,读起来其实并不通俗易懂,并不适合初学者。但是他的解释和语言是java运行的标准。当我读的时候有一些语句是非常直接且到位的表达了一种机制和他最简单的存在的意义。相信只有清楚的描述了每种机制或语法是如何发明出来的,才能够了解他如何使用。这也是本书的精髓。本系列会陆续进行更新。…

    2022年7月8日
    23
  • ac测评题库_ftb任务指令

    ac测评题库_ftb任务指令有两台机器 A,B 以及 K 个任务。机器 A 有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。两台机器最开始都处于模式 0。每个任务既可以在 A 上执行,也可以在 B 上执行。对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。任务可以以任意顺序被执行,但每台机器转换一次模式就要重启一次。求怎样分配任务并合理安排顺序,能使机器重启次数最少。输入格

    2022年8月9日
    7
  • 杭电OJ2058_杭电OJ

    杭电OJ2058_杭电OJ杭电OJ2058我写的超时了下面是不超时的#include<stdio.h>#include<math.h>intmain(){ intn,m,i,j; while(scanf(“%d%d”,&n,&m)!=EOF){ if(n==0&&m==0) break; for(j=(int)sqrt((double)(2*m));j>=1;j–){ i=(

    2022年10月2日
    7
  • linux服务器,svn认证失败,配置问题,防火墙等等

    linux服务器,svn认证失败,配置问题,防火墙等等

    2021年10月13日
    79
  • 二、设计模式-必要的基础知识—旅行前的准备 #和设计模式一起旅行#[通俗易懂]

    设计模式-谈谈模式和设计模式模式(Pattern),指事物的标准样式,百度百科上面说的,其实说白了模式就是我们现在说的套路!模式 == 套路模式是一种思想,说大了特别的复杂和深奥,不管怎么样模式的使用可以解决特定场景下特定的问题!准确表达:模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。软件模式那么在软件中使用模式,就是软件模式(Sof…

    2022年2月27日
    49

发表回复

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

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