再识hadoop 希望自己可以将hadoop相关的知识总结

    hadoop  

      建议大家还是尽量看官方文档,我会在我的文档中逐步添加注意或者添加在aws云平台搭建的过程中遇到的问题。

 ApachHadoop项目开发了用于可靠,可扩展的分布式计算的开源软件。
 Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。该库本身不是依靠硬件来提  供  高可用性,而是设计用于检测和处理应用层的故障,从而在计算机集群之上提供高可用***,每个计算机都可能容易出现故障。

    模块

 该项目包括以下模块:

  • Hadoop Common:支持其他Hadoop模块的常用实用程序。
  • Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
  • Hadoop YARN:作业调度和集群资源管理的框架。
  • Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。
  • Hadoop Ozone Hadoop的对象存储。

集群搭建

支持的平台

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

必备软件

Linux所需的软件包括:

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

  2. 必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护进程的Hadoop脚本。

安装软件

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

例如在Ubuntu Linux上:

$ sudo apt-get install ssh$ sudo apt-get install rsync

下载

建议使用已经发布半年的稳定版本。以避免搭建集群时出现兼容性问题。

准备启动Hadoop集群

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

#设置为Java安装的根目录export JAVA_HOME = / usr / java / latest

请尝试以下命令:

$ bin / hadoop

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

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

独立操作

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

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

$ mkdir输入$ cp etc / hadoop / * .xml输入$ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.9.2.jar grep input output'dfs [az。] +'$ cat输出/ *

伪分布式操作

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

组态

使用以下内容:

等/ hadoop的/芯-site.xml中:

<结构><属性><名称> fs.defaultFS </名称><值> HDFS://本地主机:9000 </值></属性></配置>

等/ hadoop的/ HDFS-site.xml中:

<结构><属性><名称> dfs.replication </名称><值> 1 </值></属性></配置>

设置passphraseless 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:50070 /
  4. 创建执行MapReduce作业所需的HDFS目录:

    $ bin / hdfs dfs -mkdir / user$ bin / hdfs dfs -mkdir / user / <username>
  5. 将输入文件复制到分布式文件系统中:

    $ bin / hdfs dfs -put etc / hadoop输入
  6. 运行一些提供的示例:

    $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-2.9.2.jar grep input output'dfs [az。] +'
  7. 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:

    $ bin / hdfs dfs -get输出$ cat输出/ *

    要么

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

    $ bin / hdfs dfs -cat输出/ *
  8. 完成后,停止守护进程:

    $ sbin / stop-dfs.sh

YARN在单个节点上

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

  1. 配置参数如下:etc / hadoop / mapred-site.xml:

    <结构><属性><名称> mapreduce.framework.name </名称><值>纱</值></属性></配置>

    etc / hadoop / yarn-site.xml:

    <结构><属性><名称> yarn.nodemanager.aux服务</名称><值> mapreduce_shuffle </值></属性></配置>
  2. 启动ResourceManager守护程序和NodeManager守护程序:

    $ sbin / start-yarn.sh
  3. 浏览ResourceManager的Web界面; 默认情况下,它可用于:

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

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

    $ sbin / stop-yarn.s
    
    链接:http://hadoop.apache.org/
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务