Apache Hadoop 2.9.2文档中文译文 -------未完!!!!!!

目录

一. General(概括)

1. Overview

2. Single Node Setup

3. Cluster Setup

4. Commands Reference

5. FileSystem Shell

6. Hadoop Compatibility

7. Interface Classification

8. FileSystem Specification

二. Common(共同)

1. CLI Mini Cluster

2. Native Libraries

3. Proxy User

4. Rack Awareness

5. Secure Mode

6. Service Level Authorization

7. HTTP Authentication

8. Credential Provider API

9. Hadoop KMS

10. Tracing

三. HDFS

1. Architecture

2. User Guide

3. Commands Reference

4. NameNode HA With QJM

5. NameNode HA With NFS

6. Federation

7. ViewFs

8. Snapshots

9. Edits Viewer

10. Image Viewer

11. Permissions and HDFS

12. Quotas and HDFS

13. HFTP

14. libhdfs (C API)

15. WebHDFS (REST API)

16. HttpFS

17. Short Circuit Local Reads

18. Centralized Cache Management

19. NFS Gateway

20. Rolling Upgrade

21. Extended Attributes

22. Transparent Encryption

23. Multihoming

24. Storage Policies

25. Memory Storage Support

26. Upgrade Domain

27. DataNode Admin

28. Router Federation

四. MapReduce

1. Tutorial

2. Commands Reference

3. Compatibility with 1.x

4. Encrypted Shuffle

5. Pluggable Shuffle/Sort

6. Distributed Cache Deploy

7. Support for YARN Shared Cache

五. MapReduce REST APIs

1. MR Application Master

2. MR History Server

六. YARN

1. Architecture

2. Commands Reference

3. Capacity Scheduler

4. Fair Scheduler

5. ResourceManager Restart

6. ResourceManager HA

7. Node Labels

8. Web Application Proxy

9. Timeline Server

10. Timeline Service V.2

11. Writing YARN Applications

12. YARN Application Security

13. NodeManager

14. DockerContainerExecutor

15. Running Applications in Docker Containers

16. Using CGroups

17. Secure Containers

18. Registry

19. Reservation System

20. Graceful Decommission

21. Opportunistic Containers

22. YARN Federation

23. Shared Cache

七. YARN REST APIs

1. Introduction

2. Resource Manager

3. Node Manager

4. Timeline Server

5. Timeline Service V.2

八. Hadoop compatible File Systems

1. Amazon S3

2. Azure Blob Storage

3. OpenStack Swift

九. Auth

1. Overview

2. Examples

3. Configuration

4. Building

十. Tools

1. Hadoop Streaming

2. Hadoop Archives

3. Hadoop Archive Logs

4. DistCp

5. GridMix

6. Rumen

7. Resource Estimator Service

8. Scheduler Load Simulator

9. Hadoop Benchmarking

十一. Reference

1. Changelog and Release Notes

2. API docs

3. Metrics

十二. Configuration

1. core-default.xml

2. hdfs-default.xml

3. mapred-default.xml

4. yarn-default.xml

5. Deprecated Properties


一. General(概括)

1. Overview(概述)

Apache Hadoop 2.9.2

Apache Hadoop 2.9.2是2.x.y发行版中的一个点发行版,它建立在前一个稳定版2.9.1的基础上。

以下是主要特性和改进的简要概述:

*  Common

        >  阿里云OSS支持

       >  Hadoop资源估测器

*  HDFS

       >  基于HDFS路由器的联合

*  YARN

       >  YARN 时间轴服务v.2

       >  YARN联合

       >  随即容器

      >  YARN Web UI v.2

      >  通过API(仅在容量调度器上支持)改变队列配置

      >  更新已分配/正在运行的容器的资源和执行类型。(仅在容量调度器上支持)

入门(Getting Started)

Hadoop文档包括开始使用Hadoop所需要的信息。从单节点设置(Single Node Setup)开始,它向您展示了如何设置单节点Hadoop安装;然后转到集群设置(Cluster Setup),学习如何设置多节点Hadoop安装。

2. Single Node Setup

Hadoop: Setting up a Single Node Cluster.

Purpose

本文档描述了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。

Prerequisites(前提条件)

支持的平台

  • 支持GNU/Linux作为开发和生产平台。Hadoop已经在具有2000个节点的GNU/Linux集群上进行了演示。
  • 也支持Window平台,但是下面的步骤只针对Linux。要在Window上设置Hadoop,请参阅wiki page。

所需软件

对于Linux需要的软件包括:

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

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

安装软件

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

例如在Ubuntu Linux:

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

 

 

 

 

Download

要获得一个Hadoop发行版,请从Apache Download Mirrors之一下载最新的稳定版本。

Prepare to Start the Hadoop Cluster

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

  # set to the root of your Java installation
  export JAVA_HOME=/usr/java/latest

尝试以命令:

       $ bin/hadoop

 

 

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

现在您将在三种支持的模式之一中启动Hadoop集群:

  • Local(Standalone) Mode--本地(独立)模式
  • Pseudo-Distributed Mode--伪分布模式
  • Fully-Distributed Mode--完全分布式模式

Standalone Operation

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

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

  $ mkdir input
  $ cp etc/hadoop/*.xml input
  $ bin/hadoop --config etc/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar grep input output 'dfs[a-z.]+'
  $ cat output/*

摘抄:

默认的模式,无需运行任何守护进程(daemon),所有程序都在单个JVM上执行。由于在本机模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。


使用本地文件系统,而不是分布式文件系统。

Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。

用于对MapReduce程序的逻辑进行调试,确保程序的正确。

所谓默认模式,及安装完jdk及hadoop,配置好相应的环境,及本地模式配置完成

Pseudo-Distributed Operation

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

Configuration

使用如下:

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>

Setup passphraseless ssh(设置无密码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

Execution

以下说明用于在本地运行MapReduce作业。如果想在YARN上运行作业,请参见YARN on Single Node。

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 -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input

6.运行提供的一些示例:

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

7.检查输出文件:将输出文件从分布式文件系统复制到本地文件系统,然后查看它们:

$ bin/hdfs dfs -get output output
$ cat output/*

or

在分布式文件系统上查看文件:

$ bin/hdfs dfs -cat output/*    

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

$ sbin/stop-dfs.sh

YARN on a Single Node

通过设置一些参数并运行ResourceManager守护进程和NodeManager守护进程,您可以在伪分布式模式的YARN上运行MapReduce作业。以下说明假定Execution中的前4步已经执行。

1.配置参数如下:

etc/hadoop/mapred-site.xml:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanger.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

2.启动ResourceManager守护进程和NodeManager守护进程

$ sbin/start-yarn.sh

3.浏览ResourceManager web页面;默认位于:

  • ResourceManager  -  http://localhost:8088/

4. 运行MapReduce作业。

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

$ sbin/stop-yarn.sh

Fully-Distributed Operation

有关设置完全分布式、非普通集群的信息,请参阅Cluster Setup.

3. Cluster Setup

Hadoop Cluster Setup

Pursose

本文描述了如何安装和配置Hadoop集群,从几个节点到具有数千个节点的超大集群。要使用Hadoop,您可能首先希望将其安装在一台机器上(请参阅单节点设置)

本文档不包括安全性或高可用性等高级主题。

Prerequisites(前提条件)

  • 安装Java。参阅Hadoop Wiki了解已知的好的版本。
  • 从Apache镜像下载稳定版Hadoop。

Installation(安装)

安装Hadoop集群通常需要在集群中的所有机器上解压软件,或者通过适合您的操作系统的打包系统安装软件。把硬件分成几个功能是很重要的。

通常集群中的一台机器被指定为Namenode,另一台机器被专门指定为ResourceManager。这些都是主机。其它服务(比如web应用代理服务器和MapReduce作业历史服务器)通常运行在专用硬件或共享基础设施上,这取决于负载。

集群中其它机器同时充当DataNode和NodeManager。这些都是slaves。

Configuring Hadoop in Non-Secure Mode(非安全模式下配置Hadoop)

Hadoop的Java配置是由两种重要的配置文件驱动的:

  • 只读默认配置 -- core-default.xml,hdfs-default.xml,yarn-default.xml,mapred-default.xml。
  • 特定站点配置 -- etc/hadoop/core-site.xml,etc/hadoop/hdfs-site.xml,etc/hadoop/yarn-site.xml,etc/hadoop/mapred-site.xml。

另外,你可以通过etc/hadoop/hadoop-env.sh和etc/hadoop/yarn-env.sh设置特定站点的值来控制分布的bin目录中的hadoop脚本。

要配置hadoop集群,你需要配置Hadoop守护进程执行的环境和Hadoop守护进程的配置参数。

HDFS守护进程是:NameNode,SecondaryNode,DataNode。YARN守护进程是:ResourceManager,NodeManager,WebAppProxy

。如果用到了MapReduce,那么MapReduce Job History服务器也将会运行。对于大型安装,它们通常安装在单独的主机上。

配置Hadoop守护进程环境

管理员应该使用etc/hadoop/hadoop-env.sh和可选的etc/hadoop/mapred-env.sh和etc/hadoop/yarn-env.sh脚本对Hadoop守护进程环境进行特定站点的自定义。

至少,必须定义JAVA_HOME,以便在每个远程节点上正确定义它。

管理员可以使用下表中显示的配置选项配置各个守护进程:

Daemon Environment Variable
NameNode HADOOP_NAMENODE_OPTS
DataNode HADOOP_DATANODE_OPTS
Secondary NameNode HADOOP_SECONDARYNAMENODE_OPTS
ResourceManager YARN_RESOURCEMANAGER_OPTS
NodeManager YARN_NODEMANAGER_OPTS
WebAppProxy  YARN_PROXY_SERVER_OPTS
MapReduce Job History Server HADOOP_JOB_HISTORYSERVER_OPTS

例如,要将Namenode配置为使用parallelGC,应该在hadoop-env.sh中添加如下语句:

export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC"

查看etc/hadoop/hadoop-env.sh文件中的其它示例。

可以自定义的其它有用配置参数包括:

  • HADOOP_PID_DIR -- 存储守护进程进程ID文件的目录
  • HADOOP_LOG_DIR --存储守护进程日志文件的目录。如果日志文件不存在,则会自动创建.
  • HADOOP_HEAPSIZE / YARN_HEAPSIZE --要使用的堆大小,单位是MB.例如,如果此变量设置为1000,那么堆将设置为1000MB.这用于配置守护进程的堆大小.默认情况下,值是1000.如果你想为每一个守护进程单独配置值,你可以使用它.

大多情况下,应该指定HADOOP_PID_DIR和HADOOP_LOG_DIR目录,这样它们只能由运行hadoop守护进程的用户写入.否者可能会发生符号攻击.

在整个系统shell环境配置中配置HADOOP_PREFIX也是传统的做法.比如,目录profile.d中一个简单的脚本:

HADOOP_PREFIX=/path/to/hadoop

export HADOOP_PREFIX

 

Daemon Environment Variable
ResourceManager YARN_RESOURCEMANAGER_HEAPSIZE
NodeManager YARN_NODEMANAGER_HEAPSIZE
WebAppProxy YARN_PROXYSERVER_HEAPSIZE
Map Reduce Job History Server HADOOP_JOB_HISTORYSERVER_HEAPSIZE

配置Hadoop守护进程

本节处理在给定配置文件中要指定的重要参数:

  • etc/hadoop/core-site.xml
Parameter Value Notes
fs.defaultFS NameNode URI hdfs://host:port/
io.file.buffer.size 131072 序列文件中使用的读/写缓冲区大小
  • etc/hadoop/hdfs-site.xml
  • Configuration for NameNode:
Parameter Value Notes
dfs.namenode.name.dir NameNode持久存储名称空间和事务日志的本地文件系统上的路径 如果这是一个以逗号分隔的目录列表,那么那么将在所有目录中复制名称表,以实现冗余

dfs.hosts  /

dfs.hosts.exclude

允许/排除的数据节点列表 如果必要,使用这些文件控制允许的数据节点列表
dfs.blocksize 268435456 对于大型文件系统,HDFS块大小为256MB
dfs.namenode.handler 100 处理来自大量数据节点的PRCs的更多名称节点服务器线程数
  • Configurations  for DataNode:
Parameter Value Notes
dfs.datanode.data.dir 数据节点的本地文件系统上的以逗号分隔的路径列表,其中数据节点存储块 如果这是一个逗号分隔目录列表,那么数据将存储在所有命名分目录中,通常存储在不同的设备上
  • etc/hadoop/yarn-site.xml
  • Configurations for ResourceManager and NodeManager:
Parameter Value Notes
yarn.acl.enable

true /

false

enable ACLs?默认为false

yarn.admin.acl

 

Admin  在集群上设置管理员的ACL.ACLs的形式:逗号分隔的用户+空格+逗号分隔的组.默认为特殊值*,表示所有人;仅仅是特殊值空格表示任何人都没权限.
yarn.log-aggregation-enable false 启用或禁用日志聚合的配置
  • Configuration for ResourceManager:
Parameter Value Notes
yarn.resourcemanager.address

供用户提交作业的ResourceManager的host:port

 

如果设置了host:port,将会覆盖设置在yarn.resourcemanager.hostname中的主机名.
yarn.resourcemanager.scheduler.address 供应用程序管理器与调度程序进行对话以获取资源的ResourceManager的host:port 如果设置了host:port,将会覆盖设置在yarn.resourcemanager.hostname中的主机名.
yarn.resourcemanager.resource-tracker.address ResourceManager host:port for NodeManagers 如果设置了host:port,将会覆盖设置在yarn.resourcemanager.hostname中的主机名.
yarn.resourcemanager.admin.address 用于管理命令的ResourceManager的host:port 如果设置了host:port,将会覆盖设置在yarn.resourcemanager.hostname中的主机名.
yarn.resourcemanager.webapp.address ResourceManager web-ui host:port 如果设置了host:port,将会覆盖设置在yarn.resourcemanager.hostname中的主机名.
yarn.resourcemanager.hostname ResourceManager host host 可以替代所有yarn.resourcemanager*address资源的单一主机名.为ResourceManager组件生成默认端口.
yarn.resourcemanager.scheduler.class ResourceManager Scheduler class CapacityScheduler(推荐),FairScheduler(也推荐),或者FiFoScheduler.使用完全限定的类名,比如:org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
yarn.scheduler.minimum-allocation-mb 在ResourceManager上分配给每个容器请求的最小内存限制 单位是MBs
yarn.scheduler.maximum-allocation-mb 在ResourceManager上分配给每个容器请求的最大内存限制 单位是MBs

yarn.resourcemanager.nodes.include-path /

yarn.resourcemanager.nodes.exclude-path

允许/排除的NodeManagers列表 如果有必要,使用这些文件控制允许的NodeManagers列表
  • Configurations for NodeManager:
Parameter Value Notes
yarn.nodemanager.resource.memory-mb

资源,即给定的NodeManager的可用物理内存,单位是MB

 

定义NodeManager上可供运行容器使用的总可用资源
yarn.nodemanager.vmem-pmem-ratio 任务的虚拟内存使用可能超出物理内存的最大比率 每个任务的虚拟内存使用率可能超出其物理内存限制的比率;NodeManager上的任务使用的虚拟内存总量超过其物理内存使用的比率.
yarn.nodemanager.local-dirs 写入中间数据的本地文件系统上以逗号分隔的路径列表。 多路径有助于扩展磁盘I/O.
yarn.nodemanager.log-dirs 写入日志的本地文件系统上以逗号分隔的路径列表。 多路径有助于扩展磁盘I/O
yarn.nodemanager.log.retain-seconds 10800 NodeManager上日志保留的默认时间(以秒为单位),仅当log-aggregation禁用时适用.
yarn.nodemanager.remote-app-log-dir /logs 应用程序完成时应用程序日志所要移动到的HDFS目录.需要设置适当的权限.仅当log-aggregation启用时适用.
yarn.nodemanager.remote-app-log-dir-suffix logs 附加到远程日志目录的后缀.日志将聚集到${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam},仅当log-aggregation启用时适用.
yarn.nodemanager.aux-services mapreduce_shuffle 需要为Map Reduce应用程序设置的洗牌服务
  • Configuration for History Server(需要移动到别处):
Parameter Value Notes
yarn.log-aggregation.retain-seconds

-1

 

在删除聚合日志之前保留多长时间.-1表示禁止.注意,此参数值设置太小将会向NameNode发送垃圾邮件.

yarn.log-aggregation.retain-check-internal-seconds

 

-1 检查聚合日志间隔之间的时间间隔.如果设置为零或负值,则该值将计算为聚合日志保留时间的十分之一.注意,此参数值设置太小将会向NameNode发送垃圾邮件.
  • etc/hadoop/mapred-site.xml
  • Configurations for MapReduce Applications:
Parameter Value Notes
mapreduce.framework.name

yarn

 

执行框架设置为YARN
mapreduce.map.memory.mb 1536 maps更大的资源限制.描述:调度程序为每个map任务请求的内存量.
mapreduce.map.java.opts -Xmx1024M  
mapreduce.reduce.memory.mb  3072 reduces更大的资源限制.描述:调度程序为每个reduce任务请求的内存量.
mapreduce.reduce.java.opts -Xm2560M  
mapreduce.task.io.sort.mb 512 有效排序数据时更大的内存限制.描述:排序文件时要使用的缓冲区内存总量,以兆字节为单位。默认情况下,为每个合并流提供1MB,这将使查找最小化。
mapreduce.task.io.sort.factor 100 排序文件时同时合并的更多的流.描述:排序文件时要同时合并的流的数目。这将确定打开的文件句柄数。
mapreduce.reduce.shuffle.parallelcopyies 50 用于从大量的maps获取输出后在reduces上运行的更多的并行副本数.描述:在复制(混排)阶段通过由reduce运行的默认并行传输数.
  • Configuration for MapReduce JobHistroy Server:
Parameter Value Notes
mapreduce.jobhistory.address MapReduce JobHistroy Server host:port 默认端口是10020.描述:MapReduce JobHistory Server IPC(进程间通信) host:port
mapreduce.jobhistory.webapp.address MapReduce JobHistory Server Web UI host:port 默认端口是19888.描述:MapReduce JobHistory Server Web UI host:port
mapreduce.jobhistory.intermediate-done-dir /mr-history/tmp MapReduce作业写入历史文件的目录.
mapreduce.jobhistory.done-dir /mr-history/done MR JobHistory 服务器管理历史文件的目录

Monitoring Health of NodeManagers

Hadoop提供了一种机制,管理员可以通过该机制将节点管理器配置为定期运行管理员提供的脚本,以确定节点是否正常。 

管理员可以通过在脚本中执行他们选择的任何检查来确定节点是否处于健康状态.如果脚本检测到节点处于不健康状态,它必须将一行以字符串ERROR开头的内容打印到标准输出中。NodeManager定期生成脚本并检查其输出。如果脚本的输出包含如上所述的字符串错误,则节点的状态报告为不健康,并且该节点被ResourceManager列入黑名单。不再向该节点分配任何其他任务。但是,NodeManager将继续运行该脚本,以便如果节点再次恢复健康,它将自动从ResourceManager上的黑名单节点中删除。节点的运行状况以及脚本的输出(如果不正常)可供管理员在ResourceManager Web界面中使用。自节点正常运行以来的时间也显示在Web界面上.

etc/hadoop/ yarns -site.xml中的下面的参数可以用来控制节点健康监控脚本.

Parameter Value Notes
yarn.nodemanager.health-checker.script.path Node health script 用于检查节点运行状况的脚本.
yarn.nodemanager.health-checker.script.opts Node health script options 用于检查节点运行状况的脚本选项.描述:传递给运行状况检查脚本的参数
yarn.nodemanager.health-checker.inter  Node health script interval 运行health script的时间间隔.描述:运行磁盘运行状况检查程序代码的频率.
yarn.nodemanager.health-checker.script.timeout-ms Node health script  timeout interval health script 执行超时.

如果只有部分本地磁盘损坏,则健康检查程序脚本不应该给出ERROR.NodeManager能够定期检查本地磁盘的运行状况(特别是检查nodemanager-local-dirs和nodemanager-log-dirs),并且在根据配置属性yarn.nodeManager.disk-health-checker.min-health-disks设置的值达到坏目录数阈值后,整个节点都被标记为不健康,而且这个信息也会发送给资源管理器。引导盘被攻击,或者健康检查程序脚本检测到引导盘中的故障.

Slaves File

在文件etc/hadoop/slaves中列出所有从属主机名或IP地址,每行一个.Helper scripts(如下所述)将使用etc/hadoop/slaves文件一次在很多主机上运行命令.它不用于任何基于Java的Hadoop配置.为了使用此功能,必须为用于运行Hadoop的帐户建立ssh信任(通过无密码ssh或其它方式,如Kerberos).

Hadoop Rack Awareness

许多Hadoop组建具有机架感知功能,并利用网络拓扑结构提高性能和安全性.Hadoop守护进程通过调用管理员配置的模块来获取集群中从机的机架信息.有关更多具体信息,请参阅 Rack Awareness文档.

强烈建议在启动HDFS之前配置机架感知.

Logging

Hadoop使用 Apache log4j.通过Apache Commons日志框架进行日志记录.编辑etc/hadoop/log4j.properties文件以自定义Hadoop守护进程的日志配置(日志格式等).

Operating the Hadoop Cluster(操作Hadoop集群)

完成所有必需的配置后,将文件分发到所有计算机上的HADOOP_CONF_DIR目录.这应该是所有机器上的同一个目录.一般来说,建议HDFS和YARN作为单独的用户来运行.在大多数安装中,HDFS进程作为hdfs执行,YARN通常使用yarn帐户.

Hadoop Starttup

要启动Hadoop集群,需要同时启动HDFS和YARN集群.

第一次打开HDFS时,必须要格式化.将一个新的分布式文件系统格式化为hdfs:

[hdfs]$ $HADOOP_PREFIX/bin/hdfs  namenode  -format  <cluster_name>

在指定的节点上使用下面命令启动HDFS NameNode 作为hdfs:

[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh  --config  $HADOOP_CONF_DIR  --script  hdfs  start  namenode

在每个指定的节点上使用下面命令启动一个DataNode 作为hdfs:

[hdfs]$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh  --confg  $HADOOP_CONF_DIR  --script  hdfs start  datanode

如果配置了etc/hadoop/slaves和ssh可信访问(参阅Single Node Setup),那么所有的HDFS进程都可以用一个实用脚本启动.作为hdfs:

[hdfs]$ $HADOOP_PR

EFIX/sbin/start-dfs.sh

用下面的命令启动YARN,运行在指定的ResourceManager上,作为yarn:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  start  resourcemanager

在每个指定的主机上运行一个脚本以启动一个NodeManager,作为 yarn:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  start  nodemanager

启动一个独立的WebAppProxy服务器.作为 yarn 运行在WebAppProxy上.如果多个服务器用来平衡负载,则应该在每个服务器运行它们:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  start  proxyserver

如果配置了etc/hadoop/slaves和ssh可信访问(参阅Single Node Setup),那么所有的YARN进程都可以用一个实用脚本启动.作为yarn:

[yarn]$ $HADOOP_YARN/HOME/sbin/start-yarn.sh

用下面的命令启动MapReduce JobHistory服务器,运行在指定的服务器上,作为 mapred:

[mapred]$ $HDOOP_PREFIX/sbin/mr-jobhistory-daemon.sh  --config  $HADOOP_CONF_DIR  start  historyserver

Hadoop Shutdown

使用以下命令停止NameNode,运行在指定的NameNode,作为 hdfs:

[hdfs]$ $HADOOP_PREFIX/sbin/hadopo-daemon.sh  --config  $HADOOP_CONF_DIR  --script  hdfs stop  namenode

运行一个脚本以停止一个DataNode,作为 hdfs:

[hdfs]$  $HADOOP_PREFIX/sbin/hadoop-daemon.sh  --config  $HADOOP_CONF_DIR  --script  hdfs  stop  datanode

如果配置了etc/hadoop/slaves和ssh可信访问(参阅 Single Node Setu),那么所有的HDFS进程都可以用一个实用的脚本来停止.作为 hdfs:

[hdfs]$ $HADOOP_PREFIX/sbin/stop-dfs.sh

用下面的命令停止ResourceManager,运行在指定的ResourceManager,作为 yarn:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  stop  resourcemanager

运行一个脚本以停止一个从属服务器器上NodeManager,作为 yarn:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  stop  nodemanager

如果配置了etc/hadoop/slaves和ssh可信访问(参阅 Single Node Setu),那么就可以使用实用脚本程序停止所有yarn进程.作为 hdfs:

[yarn]$ $HADOOP_YARN_HOME/sbin/stop-yarn.sh

停止WebAppProxy服务器.运行在WebAppProxy服务器上,作为 yarn. 如果多个服务器用于负载平衡,则应该在每个服务器上运行:

[yarn]$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh  --config  $HADOOP_CONF_DIR  stop  proxyserver

用下面的命令停止MapReduce JobHistory服务器,运行在指定的服务器上,作为 mapred:

[mapred]$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh  --config  $HADOOP_CONF_DIR  stop  historyserver

Web Inerfaces

Hadoop集群启动并运行后,请按照以下说明检查组件的web-ui:

Daemon Web Interface Notes
NameNode http://nn_host:port/ Default HTTP port is 50070.
ResourceManager http://rm_host:port/ Default HTTP port is 8088.
MapReduce JobHistory Server http://jhs_host:port/ Default HTTP port is 19888

4. Commands Reference(命令参考)

Hadoop Commands Guide

概述

所有Hadoop命令都由bin/hadoop脚本调用.在没有任何参数的情况下运行hadoop脚本将打印所有命令的描述.

Usage: hadoop [--config confdir]  [--loglevel  loglevel]  [COMMAND]  [GENERIC_OPTIONS]  [COMMAND_OPTIONS]

FIELD  Description
--config  confdir 覆盖默认的配置目录.默认是${HADOOP_HOME}/conf
--loglevel  loglevel 覆盖日志级别.有效的日志级别包括:FATAL(致命),ERROR(错误),WARN(警告),INFO(信息),DEBUG(调试)和TRACE(跟踪).默认是INFO(信息)
GENERIC_OPTIONS 有多个命令支持的公共选项集合
COMMAND_OPTIONS 本文档中描述了Hadoop公共子项目的各种命令及其选项.HDFS和YARN包含在其它文档中.

GENERIC_OPTIONS

许多子命令使用一组通用的配置选项来改变其行为:

GENERIC_OPTION Description
-archives  <comma  separated  list of archives> 指定要在计算机上不归档的逗号分隔的存档.仅适用于job.
-conf  <configuration  file> 指定应用程序配置文件
-D <property>=<value> 对给定属性使用值
-files  <comma  separated  list  of  files> 指定要复制到map reduce 集群的逗号分隔的文件.仅适用于job.
-fs  <file:///> or <hdfs://namenode:port> 指定要使用的默认文件系统URL.会覆盖配置中的fs.defaultFS属性
-jt  <local>  or  <resourcemanager:port> 指定ResourceManager.仅适用于job.
-libjars  <comma  separated  list  of  jars> 指定要包含在classpath(类路径)中的逗号分隔的jar文件

Hadoop Common Commands

所有这些命令都是从hadoop  shell命令执行的.它们已经被分解成 User Commands 和 Administration Commands.

User Commands

对Hadoop集群用户有用的命令.

archive

创建hadoop 备份.更多信息请参阅 Hadoop Archives Guide.


checknative

Usage: hadoop  checknative  [-a]  [-h]

COMMAND_OPTION Description
-a 检查所有库是否可用
-h 打印帮助

此命令检查Hadoop本机代码的可用性.参阅Native Libaries 以获取更多信息.默认情况下,此命令只检查libhadoop的可用性.


classpath

Usage: hadoop  classpath  [--glob |--jar  <path> |-h  |--help]   

COMMAND_OPTION Description
--glob 扩展通配符
--jar  path 把路径作为清单写入名为 path  的jar中
-h, --help 打印帮助

打印获取Hadoop jar和所需库的类路径.如果不带参数调用,则打印由命令脚本设置的类路径,很有可能在类路径条目中包含通配符.其它选项在通配符扩展后打印类路径,或将类路径写入JAR文件的清单中。后者在不能使用通配符且扩展类路径超过支持的最大命令行长度的环境中很有用。


credential

Usage: hadoop  credential  <subcommand>  [options]

COMMAND_OPTION Description
create  alias [-provider  provider-path]  [-strict]  [-value  credential-value] 提示用户将凭据存储为给定别名.除非指定-provider,否则将使用core-site.xml文件中的hadoop.security.credential.provider.path .如果provider使用默认密码,-strict标志将导致命令失败.使用-value标志提供凭证值(也就是别名密码),而不是提示. 
delete  alias  [-provider  provider-path]  [-strict]  [-f] 使用提供的别名删除凭据.除非指定-provider,否则将使用core-site.xml文件中的hadoop.security.credential.provider.path .如果provider使用默认密码,-strict标志将导致命令失败. 除非指定了-f, 否则命令要求确认.
list  [-provider  provider-path]  [-strict] 列出特定provider包含的所有credential别名,比如core-site.xml中配置的或通过-provider参数指定的.如果provider使用默认密码,-strict标志将导致命令失败.

用于管理凭据provider中的凭据, 密码和机密的命令.

 

Hadoop中的CredentialProvider允许分离应用程序以及它们如何存储所需密码/机密.为了指示特定的provider类型和位置,用户必须在core-site.xml中提供hadoop.security.credential.provider.path配置元素, 或者在以下每个命令上使用命令行选项 -provider.  provider path是一个逗号分隔的URLs列表,这些URLs指示应咨询的provider的列表的类型和位置. 例如,以下路径:

user:///,jceks://file/tmp/test.jceks,jceks://hdfs@nn1.example.com/my/path/test.jceks

表示应该通过User Provider 咨询当前用户的凭据; 位于/tmp/test.jceks的本地文件是Java Keystore Provider;  位于HDFS中的nn1.example.com/my/path/test.jceks也是Java Keystore Provider的存储区.

当使用credential命令式,它通常用于向特定凭证存储提供程序提供密码或秘密. 为了指示使用哪个提供程序存储,应该使用-provider选项. 否则,给定多个提供程序的路径,将使用第一个非瞬时提供程序. 这可能是你想要的,也可能不是.

提供程序经常要求提供密码或其它机密.如果提供程序需要一个密码,但找到密码,它将使用默认密码,并发出警告信息,表明正在使用默认密码. 如果提供了-strict标志,警告信息将变为错误信息,命令将立即返回错误状态.

示例:  hadoop  credential  list  --provider  jceks://file/tmp/test.jceks


distcp

Usage: hadoop  distcp  <srcurl>  <desturl>  

递归地复制文件或目录. 有关更多信息,请参阅 Hadoop DistCp Guide.


fs

Usage: hadoop  fs  [generic  options]

运行通用文件系统用户客户端. 此命令记录在 File System Shell Guide. 当使用HDFS时, 它是hdfs  dfs 的同义词.


jar

Usage: hadoop  jar  <jar>  [mainClass]  args...

运行一个jar文件.

注意:使用yarn  jar 来启动YARN应用程序.


key

Usage: hadoop  key  <subcommand>  [options]

COMMAND_OPTIONS Description
create  keyname  [-cipher cipher ]  [-size  size]  [-description  description]  [-attr  attribute=value] [-provider  provider]  [-strict]  [-help]  在-provider参数指定的提供程序中,为keyname参数指定的名称创建一个新密钥. 如果提供程序使用默认密码,-strict标志将导致命令失败。可以使用-cipher参数指定密码。默认密码当前为“AES/CTR/NoPadding”. 默认键大小是128. 可以用-size参数指定请求的密钥长度. 使用-attr参数可以指定任意attribute=value类型的属性.   -attr可以指定多次,每次一个属性.
roll  keyname  [-provider  provider]  [-strict]  [-help] 在使用-provider参数指示的提供程序中为指定密钥创建新版本. 如果提供程序使用默认密码,-strict标志将导致命令失败。
delete keyname  [-provider  provider]  [-strict]  [-f]  [-help] 在使用-provider参数指示的提供程序中删除keyname参数指定的密钥所有版本. 如果提供程序使用默认密码,-strict标志将导致命令失败。 该命令要求用户确认,除非指定了-f。
list  [-provider  provider]  [-strict]  [-metadata]  [-help] 显示正如core-site.xml配置的或由-provider参数指定的特定提供程序所包含的密钥名. 如果提供程序使用默认密码,-strict标志将导致命令失败。-metadata选项显示元数据
-help 打印此命令的用法

通过密钥提供程序(KeyProvider)管理密钥. 有关密钥提供程序详情,请参阅 Transparent Encryption Guide.

提供程序经常要求提供密钥或其它机密. 如果提供程序需要密码,但找不到密码,它将使用默认密码并发出警告消息,说明正在使用默认密码。如果提供了-strict标志,则警告消息将变为错误消息,命令将立即返回错误状态。

注意: 某些 KeyProvider(比如:org.apache.hadoop.crypto.key.JavaKeyStoreProvider)不支持大写密钥名.

注意: 某些密钥提供程序不直接执行密钥删除(例如, 执行软删除,或延迟实际删除,以防出错). 在这种情况下,在删除密钥之后创建/删除具有相同名称的密钥时可能会遇到错误.  请检查基础密钥提供程序以获得详细信息。


trace

查看和修改Hadoop tracing 设置. 请参阅Tracing Guide.


version

Usage: hadoop version


CLASSNAME

Usage: hadoop  CLASSNAME

运行名为CLASSNAME的类.


envvars

Usage: hadoop  envvars

显示计算的Hadoop环境变量

 

Administration Commands

对Hadoop集群管理员有用的命令.

daemonlog

Usage: 

COMMAND_OPTION Description
-getlevel  host:port  classname  [-protocol  (http|https)] 打印在host:port  运行的守护进程中由限定类名(classname)标识的日志等级. -protocol标志指定用于连接的协议
-setlevel  host:port  classname  level  [-protocol  (http|https)] 设置在host:port  运行的守护进程中由限定类名(classname)标识的日志等级. -protocol标志指定用于连接的协议

动态获取/设置守护进程中由限定类名标识的日志的日志级别. 默认情况下,该命令发送一个HTTP请求,但可以通过使用参数-protocol https发送一个HTTPS请求来覆盖它。

例如:

$  bin/hadoop  daemonlog  -setlevel  127.0.0.1:50070  org.apache.hadoop.hdfs.server.namenode.NameNode  

$  bin/hadoop  daemonlog  -getlevel  127.0.0.1:50074  org.apache.hadoop.hdfs.server.namenode.NameNode DEBUG -protocol  https

  注意: 改设置不是永久性的, 重启守护进程时会重置. 此命令通过向守护进程内部的Jetty servlet发送HTTP/HTTPS请求来工作,因此它支持以下守护进程:

  • HDFS
    • name node
    • secondary name node
    • data node
    • journal node
  • YARN
    • resource manager
    • node manager
    • Timeline server

但是,该命令不支持KMS服务器,因为它的Web界面基于不支持servlet的Tomcat.

 

5. FileSystem Shell

Overview

文件系统(FS)shell包含各种类似shell的命令,这些命令直接和分布式文件系统(HDFS)以及Hadoop支持的其它文件系统交互,例如,Local FS, HFTP FS, S3和其它。FS shell 这样来调用:

bin/hadoop  fs <args>

所有FS shell都把path URIs当作参数。URI格式是:scheme://authority/path. 对于HDFS来说,scheme是hdfs;对于Local FS来说,scheme是file。scheme和authority是可选的,如果未指定,则使用配置中指定的默认scheme。HDFS文件或目录,如/parent/child,可以指定为hdfs://namenodehost/parent/child或仅指定为/parent/child(假定你的配置设置为指向hdfs://namenodehost)。

FS shell中大多数命令的行为类似于相应的Unix命令。每个命令都描述了不同之处。错误信息发送到stderr,输出发送到stdout.

如果使用了HDFS,则hdfs dfs是同义词。

可以使用相对路径。对于HDFS来说,当前工作目录是HDFS主目录/user/<username>,此目录通常需要手动创建。HDFS也可以隐式访问,例如,当使用HDFS垃圾文件夹时, .Trash文件夹就在主目录中.

参阅 Commands Manual知晓通用shell选项.

appendToFile

Usage:  hadoop  fs  -appendToFile  <localfile>  ...   <dst>

将单个或多个src从本地文件系统追加到目标文件系统. 还从stdin读取输入并追加到目标文件系统.

  • hadoop  fs  -appendToFile  localfile  /user/hadoop/hadoopfile
  • hadoop  fs  -appendToFile  localfile1  localfile2  /user/hadoop/hadoopfile
  • hadoop  fs  -appendToFile  localfile  hdfs://nn.example.com/hadoop/hadoopfile     注意:会在HDFS根目录下创建新文件夹hadoop
  • hadoop  fs  -appendToFile  -  hdfs//nn.example.com/hadoop/hadoopfile    从stdin读取输入

退出代码:

成功时返回0,失败时返回1.

cat

Usage: hadoop  fs  -cat  [-ignoreCrc]  URI  [URI ...]

将源路径复制到stdout.

Options

  • -ignoreCrc选项表示禁用校验和验证.

示例:

  • hadoop  fs  -cat  hdfs://nn1.example.com/file1   hdfs://nn2.example.com/file2
  • hadoop  fs  -cat  file:///file3    /user/hadoop/file4

checksum

Usage: hadoop  fs  -checksum  URI 

返回一个文件的校验和信息.

示例:

  • hadoop  fs  -checksum  hdfs://nn1.example.com/file1
  • hadoop  fs  -checksum  file:///etc/hosts

chgrp

Usage: hadoop  fs  -chgrp  [-R]  GROUP  URI  [URI  ...]

改变文件的组关联. 用户必须是文件属主(所有者),否则必须是超级用户. 其它信息在 Permissions Guide.

Options

  • -R选项将通过目录结构递归地进行更改。

chmod

Usage: hadoop  fs  -chmod  [-R]  <MODE[,MODE]...  |  OCTALMODE>  URI  [URI ...]

更改文件权限。使用-R,通过目录结构递归地进行更改。用户必须是文件属主(所有者),否则必须是超级用户. 其它信息在 Permissions Guide.

选项:

  • -R选项将通过目录结构递归地进行更改。

chown

Usage: hadoop  fs  -chown  [-R]  [OWNER][:[GROUP]]  URI  [URI  ...]

改变文件所有者。用户必须是文件属主(所有者),否则必须是超级用户. 其它信息在 Permissions Guide.

Options

  • -R选项将通过目录结构递归地进行更改。

copyFromLocal

Usage: hadoop  fs  -copyFromLocal   <localsrc>  URI

类似于fs  -put 命令,只是源文件仅限于本地文件引用。

选项:

  • -p: 保留访问和修改时间,所有权和权限。(假设权限可以通过文件系统传播)
  • -f: 如果目标已存在就覆盖目标
  • -l: 允许DataNode将文件延迟保存到磁盘,强制复制因子为1。此标志将导致耐久性降低。小心使用。
  • -d: 跳过创建后缀为._COPYIN
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
hadoop 中文文档index Prefetch chain 预处理链 Pre selector Precondition Enforcer Fetch chain 提取链 Fetch DNS Fetch Http Extractor chain抽取链 Extractor HTML Extractor JS Write Chain 写链 ARC Writer Processor Post process Chain Crawl State Updater Post selector 范围部件,边界部件,处理器链   预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。 提取链:主要是获得资源,进行DNS转换,填写请求和响应表单   抽取链:当提取成时,抽取感兴趣的HTML,JavaScript,通常那里有新的也适合的URI,此时URI仅仅被发现,不会被评估   写链:存储爬行结果,返回内容和抽取特性,过滤存储。   提交链:做最后的维护,例如,测试那些不在范围内的,提交给边界部件 1. Pre fetch Chain 预处理链。 1.1 precondition Enforcer: 预处理。Enforcer 处理。确定、提供捉取所需要的基本信息。 例如:查询、请求一个DNS,或者是 请求、分析一个robots.txt文件。--这些都是在进行下一步之前所要做的事情。 1.2 Pre selector :预选择器。查看爬虫的域,看是否这个URL已经被处理(捉取)过了。如果被捉取过了,那么就把这个URL的状态置为 OUT_OF_SCOPE (超出了域的范围),并且直接跳到 post processor(后处理),更新该爬虫的信息。 1.3 Quota Enforcer :限额处理。这是一个简单的配额处理器。检查主机、服务器、边界组 和现在的捉取URL已经超过了配额的话,阻塞正在处理的URL,并且该URL的状态设置为 S_BLOCKED_BY_QUOTA。 1.4 Runtime Limit Enforcer :持续时间限制处理。这是在爬虫程序中的时限控制处理器。 这个处理器是扩展和提高Heritrix 长时间运行能力所必不可少的一个类。设置允许的最大允许时间,如果对一个URL的处理超过了这个最大的时间,那么处理器可以停止或暂停这个URL的处理。 1.4.1 暂停工作-暂停爬虫。一个修改(增加)持续时间可以重新恢复爬虫的工作。如果试图恢复爬虫的运行,而不修改运行允许的持续时间的话,爬虫会再次被停止。 1.5 Runtime Limit Enforcer . Operation:状态变量枚举。包含处理状态的常量。暂停、停止、阻塞。 2. Fetch Chain 捉取处理链。 2.1 Fetch DNS :捉取DNS。处理器去分析 和处理以dns:开始的URL. 2.2 Fetch HTTP :捉取HTTP。使用了Apache 的 HttpClient类库。处理以http:开头的URL。 2.3 Fetch FTP : 捉取FTP。捉取FTP的目录和文档,远程的FTP服务器必须支持 NLIST 命令。现在大多数的FTP服务器支持。 2.4 Fetch Stats :捉取的主机、端口、或者是边检组的一个统计。 2.5 BDB Cookie Storage :缓存器。使用BDB嵌入数据库引擎实现的缓存器,存储容量大。 2.6 Default Server Cache :服务器默认缓存器。 2.7 Heritrix Http Method Retry Handler : http 方法重请求帮助类。 2.8 Heritrix Protocol Socket Factory : Hreitrix的标准协议端口工厂。 2.9 Heritrix SSL Protocol Socket Factory :heritrix的SSL 协议端口工厂。 2.10 Simple Cookie Storage : 简单缓存存储器。 3. Extractor Chain 链接提取处理链。 3.1 Extractor 处理捉取的URL链接,这个类提供错误帮助当分析文档内容的时候。当然可以用它的子类 ContentExtactor 来替代。 3.2 Extractor HTML 从HTML 内容里提取链接。 3.3 Extractor CSS 从 CSS 里面提取链接。 3.4 Extractor JS 从 JS 里面提取链接。 3.5 Extractor PDF 从 PDF里面提起链接。 3.6 Extractor SWF 从 Flash里面提取链接。 3.7 Extractor Universal 最后一个链接提取器,通过提取任何看起来像链接的。如果使用的话,那么一般把它放在链接提取链的最后一个。 3.8 Extractor URI 从URI 里面提取链接。如果该URI中含有其他链接的话。 3.9 Extractor XML 从XML里面提取 链接。 3.10 Link Context 链接字典的内容。 4. Write Chain 写处理链。 4.1 ARC Writer Processor 这是一个把捉取到的结果进行写写的处理,存储为 ARC(网络档案文件格式)的文档。每个 Heritrix实例只有一个这样的些处理线程在运行。 4.2 Default Metadata Provider 一个合适爬虫元数据的标准集。 4.3 Mirror Writer Processor 镜像 写处理。把捉取到的结果以镜像的形式存储。 4.4 Writer Pool Processor 写处理池。这是一个虚拟的文件池处理的实现。是ARC Writer Processor的父类。 5. Post Process Chain 后处理链。 5.1 Crawl State Updater :爬虫状态更新程序。 这是在处理了一个URL后的一步,用来更新已经被处理的URL的信息。这些信息包括IP、robots等信息。 5.2 Frontier Scheduler :定制边界URL的查询调度表。增加想要的或者是链接到其他地的链接。 5.3 Links Scope r 链接范围。确定哪个链接在范围内。把链接转换成Crawl URL类型,然后去查看该Crawl URL是不是在范围内。 5.4 Low Disk Pause Processor 当系统的磁盘很少了的时候,暂停处理。 5.5 Supplementary Links Scope r 做普通的处理后再追加一些补充的处理的类。 5. Frontier 边界,下一个URL决定器。 5.1 Adaptive Revisit Frontier 重新检索边界程序。这是一个重复访问指定URL的边界程序。等待时间是可以设置的。 5.2 Adaptive Revisit Host Queue 是Crawl URL的一个主要的队列,每个队列应该代表一个主机(虽然这不是必须的)。 5.3 Adaptive Revisit Queue List 管理着Adaptive Revisit Host Queue 组成的列表。 5.4 BDB Frontier BDB数据库边界。使用 Berkeley DB 来维护自己知道的主机。 5.5 BDB Multiple Work Queues 是一个用嵌入式数据库实现的。 5.6 BDB Work Queue 一个独立的,有着相同class Key的列表。 6. Toe Pool 线程池。 6.1 Toe Pool 是一个Toe Thread线程池。 6.2 Toe Thread 是一个线程。 7 Crawl Controller Implement 主控制程序。 该类集合了所有的类,它可以协调执行爬虫和提供高水平的界面给运行的爬虫。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值