zoukankan      html  css  js  c++  java
  • Hadoop单节点安装(转)

    Hadoop单节点模式安装

        官方教程:http://hadoop.apache.org/docs/r2.7.3/

        本文基于:Ubuntu 16.04、Hadoop-2.7.3

    一、概述

            本文参考官方文档介绍Hadoop单节点模式(本地模式及伪分布式模式)安装(Setting up a Single Node Cluster)。

        1、Hadoop安装的三种模式

        (1)单机模式(standalone)

            单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

    此程序一般不建议安装,网络上很少这方面资料。

        (2)伪分布模式(Pseudo-Distributed Mode)

            伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。

    比如namenode,datanode,secondarynamenode,jobtracer,tasktracer这5个进程,都能在集群上看到。

        (3)全分布模式(Fully Distributed Mode)

            Hadoop守护进程运行在一个集群上。

            意思是说master上看到namenode,jobtracer,secondarynamenode可以安装在master节点,也可以单独安装。slave节点能看到datanode和tasktracer

        2、本文目的

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

        3、平台支持

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

            Windows也是一个受支持的平台,但本文仅适用于Linux。

        4、需要的其他软件(前提条件)

            ssh

            java

    二、Hadoop下载与安装

            官网:http://hadoop.apache.org/

            下载:http://hadoop.apache.org/releases.html

            先从官网下载响应的hadoop,然后解压:

    
    
    1. tar -zxvf hadoop-2.7.3.tar.gz

            修改文件夹名字:

    
    
    1. mv hadoop-3.7.3 hadoop

            配置环境变量,编辑profile文件:

    
    
    1. sudo gedit /etc/profile

            然后在文件末尾追加如下内容:

    
    
    1. # hadoop
    2. export HADOOP_HOME=/usr/lib/java/hadoop
    3. export PATH=${HADOOP_HOME}/bin:$PATH

            记得生效配置:

    
    
    1. source /etc/profile

            查看是否安装成功:

    
    
    1. anxpp@ubuntu:~$ hadoop version
    2. Hadoop2.7.3
    3. Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
    4. Compiledby root on 2016-08-18T01:41Z
    5. Compiledwith protoc 2.5.0
    6. From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
    7. This command was run using/usr/lib/java/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar

    三、集群前的准备工作

        1、配置 hadoop/etc/hadoop/hadoop-env.sh文件

            注释掉25行的#export JAVA_HOME=${JAVA_HOME},并在其后添加:

    
    
    1. export JAVA_HOME=/usr/lib/java/jdk1.8.0_111

            现在可以输入命令测试,这里使用Hadoop/bin/hadoop:

    
    
    1. anxpp@ubuntu:/$ /usr/lib/java/hadoop/bin/hadoop

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

            现在就可以以三种受支持的模式之一启动了:

                ① Local (Standalone) Mode:本地(独立)模式
                ② Pseudo-Distributed Mode:伪分布模式
                ③ Fully-Distributed Mode:全分布模式

    四、本地模式的使用

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

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

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

    五、伪分布式的使用

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

        1、配置

            各项配置如下所述:

        (1)etc/hadoop/core-site.xml

    
    
    1. <configuration>
    2. <property>
    3. <name>fs.defaultFS</name>
    4. <value>hdfs://localhost:9000</value>
    5. </property>
    6. </configuration>

        (2)etc/hadoop/hdfs-site.xml

    
    
    1. <configuration>
    2. <property>
    3. <name>dfs.replication</name>
    4. <value>1</value>
    5. </property>
    6. </configuration>

        2、配置ssh免登录

            首先检查ssh到本地是否需要密码:

    
    
    1. $ ssh localhost

            如果执行需要密码,执行以下命令即可:

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

        3、运行

            以下说明是在本地运行MapReduce。在YARN上执行一些操作将在后面部分介绍。

        (1)格式化文件系统

    
    
    1. $ /usr/lib/java/hadoop/bin/hdfs namenode -format

        (2)启动NameNode守护程序和DataNode守护程序

    
    
    1. $ /usr/lib/java/hadoop/sbin/start-dfs.sh

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

        (3)浏览NameNode的Web界面

            默认情况下地址为:

            NameNode - http://localhost:50070/

        (4)创建执行MapReduce作业所需的HDFS目录

    
    
    1. $ /usr/lib/java/hadoop/bin/hdfs dfs -mkdir /user
    2. $ /usr/lib/java/hadoop/bin/hdfs dfs -mkdir /user/<username>

        (5)将输入文件复制到分布式文件系统中

    
    
    1. $ /usr/lib/java/hadoop/bin/hdfs dfs -put etc/hadoop input

        (6)运行示例

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

        (7)检查输出文件

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

    
    
    1. $ bin/hdfs dfs -get output output
    2. $ cat output/*

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

    
    
    1. $ bin/hdfs dfs -cat output/*

        (8)停止守护进程

    
    
    1. $ sbin/stop-dfs.sh

        4、单节点上的YARN配置

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

            以下操作假定上述指令的(1)〜(4)步骤已经执行。

        (1)参数配置

            ① etc/hadoop/mapred-site.xml
    
    
    1. <configuration>
    2. <property>
    3. <name>mapreduce.framework.name</name>
    4. <value>yarn</value>
    5. </property>
    6. </configuration>
            ② etc/hadoop/yarn-site.xml
    
    
    1. <configuration>
    2. <property>
    3. <name>yarn.nodemanager.aux-services</name>
    4. <value>mapreduce_shuffle</value>
    5. </property>
    6. </configuration>

        (2)启动ResourceManager守护程序和NodeManager守护程序

    
    
    1. $ sbin/start-yarn.sh

        (3)浏览ResourceManager的Web界面

            默认情况下地址为:

            ResourceManager - http://localhost:8088/

        (4)运行MapReduce作业

        (5)停止守护进程

    
    
    1. $ sbin/stop-yarn.sh

    六、全分布式配置

            该部分内容会独立一篇文章介绍,完成后此处会给出连接。

  • 相关阅读:
    day 1 认识js
    day2,request对象
    day3
    day 14 函数的嵌套,作用域
    命名空间(名称空间)
    day 13 函数
    day 11(2) 集合
    day 11 字典拆包
    字典
    两周英语函数(记)
  • 原文地址:https://www.cnblogs.com/RENQIWEI1995/p/8856088.html
Copyright © 2011-2022 走看看