zoukankan      html  css  js  c++  java
  • Hadoop 3.1.1 概述 单节点安装

    Hadoop: 单节点安装

    目标

    本文描述了如何安装和配置单机的 Hadoop,这样你可以使用 Hadoop MapReduce 和 Hadoop 分布式文件系统(HDFS)快速地尝试简单的操作。

    前提

    支持的平台

    • 支持 GNU/Linux 作为开发平台和生产环境。经实战检验,Hadoop 能运行在包含 2000 台 GNU/Linux 机器组成的集群上。
    • 同样支持 Windows,但后续步骤只适用于 Linux。要在 Windows 上安装 Hadoop,请查阅百科文档

    需要的软件

    Linux 平台需要的软件包括:

    1. Java™ 一定要安装。推荐的 Java 版本参见 Hadoop Java 版本
    2. 如果要执行 Hadoop 可选的启停脚本来管理远端的 Hadoop 守护进程,ssh 一定要安装。此外,推荐安装 pdsh 以更好地管理 ssh 资源。

    安装软件

    如果你的集群没有上述软件,你必须先安装它们。

    在 Ubuntu Linux 上可执行:

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

    下载

    为了获得 Hadoop 发行包,请从 Apache 下载镜像中任意一家下载最近的稳定版本。

    准备启动 Hadoop 集群

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

     # 给定 Java 安装的根目录
     export JAVA_HOME=/usr/java/latest 

    执行如下命令:

    $ bin/hadoop

    屏幕将显示 Hadoop 脚本的使用文档。

    现在,你可以任选以下三种模式之一来启动你的 Hadoop 集群:

    本地模式

    默认情况,Hadoop 以一个 Java 进程的形态运行在非分布式模式下,这对于调试很有帮助。

    以下示例复制解压后的配置目录作为输入,查询所有匹配正则表达式的文本,结果被写到给定的输出目录中。

    $ mkdir input
    $ cp etc/hadoop/*.xml input
    $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.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>

    etc/hadoop/hadoop-env.sh

    # 添加如下环境变量
    export HDFS_DATANODE_USER=root
    export HDFS_NAMENODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export YARN_RESOURCEMANAGER_USER=root
    export YARN_NODEMANAGER_USER=root

    配置免密码的 ssh

    现在,检查你是否可以 ssh 登录到本机而无需密码:

    $ 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 的网页,地址默认是:

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

      $ bin/hdfs dfs -mkdir /user
      $ bin/hdfs dfs -mkdir /user/<username>
    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.1.1.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

    在伪分布式模式中,只需设定很少的参数,你就可以用 Yarn 运行一个 MapReduce 作业,并激活 ResourceManager 守护进程和 NodeManager 守护进程。

    后续指令假定上述指令的第 1 ~ 4 步已被执行:

    1. 如下配置参数:

      etc/hadoop/mapred-site.xml

      <configuration>
          <property>
              <name>mapreduce.framework.name</name>
              <value>yarn</value>
          </property>
      </configuration>
      
      <configuration>
          <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>
    2. 启动 ResourceManager 守护进程和 NodeManager 守护进程:

      $ sbin/start-yarn.sh
    3. 浏览 ResourceManager 的网页,地址默认是:

      • ResourceManager - http://localhost:8088/
    4. 运行一个 MapReduce 作业。

    5. 完成以上步骤后,执行一下命令来停止所有的守护进程:

      $ sbin/stop-yarn.sh

    完全分布式模式

    如果想要安装完全分布式的、非试验性的集群,请参阅文档集群安装

  • 相关阅读:
    二叉树的深度(剑指offer)
    平衡二叉树(剑指offer)
    平衡二叉树
    513. Find Bottom Left Tree Value(得到左下角的节点)(树的层次遍历)
    637. Average of Levels in Binary Tree(一棵树每层节点的平均数)(二叉树的层序遍历)
    145. Binary Tree Postorder Traversal(非递归实现二叉树的后序遍历)
    正则表达式式总结
    re模块
    生成器 生成器函数 列表推倒式 生成器表达式
    闭包,迭代器
  • 原文地址:https://www.cnblogs.com/shishaochen/p/9635255.html
Copyright © 2011-2022 走看看