hadoop开始使用hadoop


备注

什么是Apache Hadoop?

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

Apache Hadoop包括以下模块:

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

参考:

Apache Hadoop

版本

发行说明发布日期
3.0.0-α1 二零一六年八月三十零日
2.7.3 点击这里 - 2.7.3 2016年1月25日
2.6.4 点击这里 - 2.6.4 2016年2月11日
2.7.2 点击这里 - 2.7.2 2016年1月25日
2.6.3 点击这里 - 2.6.3 2015年12月17日
2.6.2 点击这里 - 2.6.2 2015年10月28日
2.7.1 点击这里 - 2.7.1 2015-07-06

Hadoop概述和HDFS

在此处输入图像描述

    Hadoop是一个开源软件框架,用于在分布式计算环境中存储和大规模处理数据集。 它由Apache Software Foundation赞助。 它旨在从单个服务器扩展到数千台计算机,每台计算机都提供本地计算和存储。
历史

  • Hadoop由Doug Cutting和Mike Cafarella于2005年创建。
  • 切,谁在雅虎工作!当时,以他儿子的玩具大象命名。
  • 它最初是为支持搜索引擎项目的分发而开发的。
hadoop的主要模块

    Hadoop分布式文件系统(HDFS):一种分布式文件系统,提供对应用程序数据的高吞吐量访问。 Hadoop MapReduce:用于在计算集群上分布式处理大型数据集的软件框架。
Hadoop文件系统 基本功能

    高度容错。 高吞吐量。 适用于大型数据集的应用。 可以用商品硬件构建。
Namenode和Datanodes

    主/从架构。 HDFS集群由一个Namenode组成,一个管理文件系统命名空间的主服务器,并规定客户端对文件的访问。 DataNode管理附加到它们运行的​​节点的存储。 HDFS公开文件系统命名空间,并允许用户数据存储在文件中。 文件被分成一个或多个块,并且一组块存储在DataNode中。 DataNodes:根据Namenode的指令提供读取,写入请求,执行块创建,删除和复制。

在此处输入图像描述

    HDFS旨在跨大型群集中的计算机存储非常大的文件。 每个文件都是一系列块。 除最后一个文件外,文件中的所有块都具有相同的大小。 复制块以实现容错。 Namenode从集群中的每个DataNode接收Heartbeat和BlockReport。 BlockReport包含Datanode上的所有块。
Hadoop Shell命令

    使用的常用命令: -
      ls用法: hadoop fs -ls Path (列表的dir /文件路径)。 Cat用法: hadoop fs -cat PathOfFileToView

在此处输入图像描述

hadoop shell命令的链接: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html

在ubuntu上安装Hadoop

创建Hadoop用户:

sudo addgroup hadoop
 

添加用户:

sudo adduser --ingroup hadoop hduser001
 

在此处输入图像描述

配置SSH:

su -hduser001
ssh-keygen -t rsa -P ""
cat .ssh/id rsa.pub >> .ssh/authorized_keys
 

注意 :如果在编写授权密钥时出现错误[ bash:.ssh / authorized_keys:没有此类文件或目录 ]。点击这里

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

将hadoop用户添加到sudoer的列表:

sudo adduser hduser001 sudo
 

在此处输入图像描述

禁用IPv6:

在此处输入图像描述 在此处输入图像描述

安装Hadoop:

sudo add-apt-repository ppa:hadoop-ubuntu/stable
sudo apt-get install hadoop
 

在此处输入图像描述 在此处输入图像描述

在Linux上安装或设置

伪分布式群集设置过程

先决条件

  • 安装JDK1.7并设置JAVA_HOME环境变量。

  • 创建一个新用户为“hadoop”。

    useradd hadoop

  • 设置无密码SSH登录到自己的帐户

     su - hadoop
     ssh-keygen
     << Press ENTER for all prompts >>
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
     chmod 0600 ~/.ssh/authorized_keys
     
  • 通过执行ssh localhost 进行验证

  • 通过编辑/etc/sysctl.conf 禁用IPV6,具体如下:

     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv6.conf.default.disable_ipv6 = 1
     net.ipv6.conf.lo.disable_ipv6 = 1
     
  • 检查使用cat /proc/sys/net/ipv6/conf/all/disable_ipv6

    (应该返回1)

安装配置:

  • 使用wget 命令从Apache归档文件下载所需的Hadoop版本。

     cd /opt/hadoop/
     wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz
     tar -xvf hadoop-2.x.x.gz
     mv hadoop-2.x.x.gz hadoop 
    (or)
    
     ln -s hadoop-2.x.x.gz hadoop
     chown -R hadoop:hadoop hadoop
     
  • 使用以下环境变量基于shell更新.bashrc / .kshrc

      export HADOOP_PREFIX=/opt/hadoop/hadoop
      export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
      export JAVA_HOME=/java/home/path
      export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
     
  • $HADOOP_HOME/etc/hadoop 目录下编辑下面的文件

    • 核心的site.xml

      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://localhost:8020</value>
          </property>
      </configuration> 
       
    • mapred-site.xml中

      从其模板创建mapred-site.xml

      cp mapred-site.xml.template mapred-site.xml

        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration> 
       
    • 纱的site.xml

       <configuration>
           <property>
               <name>yarn.resourcemanager.hostname</name>
               <value>localhost</value> 
           </property>
           <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
           </property>
       </configuration>
       
    • HDFS-site.xml中

       <configuration>
           <property>
               <name>dfs.replication</name>
               <value>1</value>
           </property>
           <property>
               <name>dfs.namenode.name.dir</name>
               <value>file:///home/hadoop/hdfs/namenode</value>
           </property>
           <property>
               <name>dfs.datanode.data.dir</name> 
               <value>file:///home/hadoop/hdfs/datanode</value> 
           </property>
       </configuration>
       

    创建父文件夹以存储hadoop数据

    mkdir -p /home/hadoop/hdfs
     
  • 格式化NameNode(清理目录并创建必要的元文件)

    hdfs namenode -format
     
  • 开始所有服务:

    start-dfs.sh && start-yarn.sh
    mr-jobhistory-server.sh start historyserver
     

而是使用start-all.sh(不建议使用)。

而是使用stop-all.sh(不建议使用)。