hadoop官網翻譯第二天Setting up a Single Node Cluster.

xiaoliuyiting發表於2018-12-25

如有不對的地方,請大家指出,共同進步

Getting Started

The Hadoop documentation(文件) includes the information you need to get started using Hadoop. Begin with the Single Node Setup which shows you how to set up a single-node Hadoop installation(安裝). Then move on to the Cluster Setup to learn how to set up a multi-node Hadoop installation.

hadoop文件包含開始使用Hadoop的資訊。開始是單節點的安裝,教你hadoop單節點的安裝方法,然後是叢集安裝,教你學習,多節點hadoop的安裝。

 

Hadoop: Setting up a Single Node Cluster.

設定單節點叢集。

 

Purpose

This document describes how to set up and configure a single-node Hadoop installation so that you can quickly perform simple operations using Hadoop MapReduce and the Hadoop Distributed File System (HDFS).

本文件描述了,怎樣去建立並且配置一個單節點hadoop的安裝,這樣你可以使用MR和HDFS快速執行簡單的操作

Prerequisites

Supported Platforms

  • GNU/Linux is supported as a development and production platform. Hadoop has been demonstrated(展示) on GNU/Linux clusters with 2000 nodes.

  • Windows is also a supported platform but the followings steps are for Linux only. To set up Hadoop on Windows, see wiki page.

支援GNU/Linux作為開發和生產平臺。Hadoop已經在具有2000個節點的GNU/Linux叢集上進行了演示。

 Windows也是一個受支援的平臺,但是下面的步驟只針對Linux。要在Windows上設定Hadoop,請參閱wiki頁面。

Required Software

Required software for Linux include:

  1. Java™ must be installed. Recommended Java versions are described at HadoopJavaVersions.

  2. ssh must be installed and sshd must be running to use the Hadoop scripts that manage remote Hadoop daemons.

在linux所需要的軟體

1、java必須被安裝,在HadoopJavaVersions中檢視了適合的java版本

2、必需安裝ssh,sshd必須執行以使用Hadoop指令碼管理遠端Hadoop守護程式。

Installing Software

If your cluster doesn’t have the requisite software you will need to install it.

For example on Ubuntu Linux:

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

如果你的叢集沒有安裝所需的軟體,你需要安裝它

例如在 Ubuntu Linux:

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

 

Download

To get a Hadoop distribution, download a recent stable release from one of the Apache Download Mirrors.

 要獲得Hadoop發行版,請從Apache下載映象下載一個最新的穩定版本

Prepare to Start the Hadoop Cluster

Unpack the downloaded Hadoop distribution. In the distribution, edit the file etc/hadoop/hadoop-env.sh to define some parameters as follows:

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

Try the following command:

  $ bin/hadoop

This will display the usage documentation for the hadoop script.

Now you are ready to start your Hadoop cluster in one of the three supported modes:

解壓縮下載的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
  • 單機模式:預設情況下執行為一個單獨機器上的獨立Java程式,主要用於除錯環境
  • Pseudo-Distributed Mode
  • 偽分佈模式:在單個機器上模擬成分散式多節點環境,每一個Hadoop守護程式都作為一個獨立的Java程式執行
  • Fully-Distributed Mode
  • 完全分散式模式:真實的生產環境,搭建在完全分散式的叢集環境

Standalone Operation

By default, Hadoop is configured to run in a non-distributed mode, as a single Java process. This is useful for debugging.

The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.

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

預設情況下,Hadoop被配置為在非分散式模式下執行,作為單個Java程式。這對於除錯很有用。

下面的示例複製未打包的conf目錄作為輸入,然後查詢並顯示給定正規表示式的每個匹配。輸出被寫入給定的輸出目錄。

Pseudo-Distributed Operation

Hadoop can also be run on a single-node in a pseudo-distributed mode where each Hadoop daemon runs in a separate Java process.

Hadoop還可以在一個偽分散式模式的單個節點上執行,其中每個Hadoop守護程式在單獨的Java程式中執行。

Configuration

Use the following:

使用以下方法:

etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

常用配置項說明:

  • fs.defaultFS這是預設的HDFS路徑。當有多個HDFS叢集同時工作時,使用者在這裡指定預設HDFS叢集,該值來自於hdfs-site.xml中的配置。

  • fs.default.name這是一個描述叢集中NameNode結點的URI(包括協議、主機名稱、埠號),叢集裡面的每一臺機器都需要知道NameNode的地址。DataNode結點會先在NameNode上註冊,這樣它們的資料才可以被使用。獨立的客戶端程式通過這個URI跟DataNode互動,以取得檔案的塊列表。

  • hadoop.tmp.dir 是hadoop檔案系統依賴的基礎配置,很多路徑都依賴它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,預設就放在/tmp/hadoop-${user.name}這個路徑中。

更多說明請參考core-default.xml,包含配置檔案所有配置項的說明和預設值。

 

etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

常用配置項說明:

  • fs.defaultFS這是預設的HDFS路徑。當有多個HDFS叢集同時工作時,使用者在這裡指定預設HDFS叢集,該值來自於hdfs-site.xml中的配置。

  • fs.default.name這是一個描述叢集中NameNode結點的URI(包括協議、主機名稱、埠號),叢集裡面的每一臺機器都需要知道NameNode的地址。DataNode結點會先在NameNode上註冊,這樣它們的資料才可以被使用。獨立的客戶端程式通過這個URI跟DataNode互動,以取得檔案的塊列表。

  • hadoop.tmp.dir 是hadoop檔案系統依賴的基礎配置,很多路徑都依賴它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,預設就放在/tmp/hadoop-${user.name}這個路徑中。

更多說明請參考core-default.xml,包含配置檔案所有配置項的說明和預設值。

 

Setup passphraseless ssh

Now check that you can ssh to the localhost without a passphrase:

現在檢查是否可以在沒有密碼的情況下ssh到本地主機:

  $ ssh localhost

If you cannot ssh to localhost without a passphrase, execute the following commands:

如果沒有密碼無法ssh到localhost,請執行以下命令:

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

Execution

The following instructions are to run a MapReduce job locally. If you want to execute a job on YARN, see YARN on Single Node.

以下說明將在本地執行MapReduce作業。如果您想在YARN上執行作業,請參閱單節點上執行YARN。 

       在使用hadoop前,必須格式化一個全新的HDFS安裝,通過建立儲存目錄和NameNode持久化資料結構的初始版本,格式化         過程建立了一個空的檔案系統。由於NameNode管理檔案系統的後設資料,而DataNode可以動態的加入或離開叢集,因此這個     格式化過程並不涉及DataNode。同理,使用者也無需關注檔案系統的規模。叢集中DataNode的數量決定著檔案系統的規模。   DataNode可以在檔案系統格式化之後的很長一段時間內按需增加。

  1. Format the filesystem:

      $ bin/hdfs namenode -format
    
  2. Start NameNode daemon and DataNode daemon:

    啟動hdfs守護程式,分別啟動NameNode和DataNode

      $ sbin/start-dfs.sh
    

    hadoop守護程式日誌輸出被寫入$HADOOP_LOG_DIR目錄(預設為$HADOOP_HOME/logs)。 

    The hadoop daemon log output is written to the $HADOOP_LOG_DIR directory (defaults to $HADOOP_HOME/logs).

  3. Browse the web interface for the NameNode; by default it is available at:

    • 瀏覽用於NameNode的網路介面;預設情況下,可以在:NameNode - http://localhost:50070/
  4. Make the HDFS directories required to execute MapReduce jobs:

     建立執行MapReduce作業所需的HDFS目錄:

      $ bin/hdfs dfs -mkdir /user
      $ bin/hdfs dfs -mkdir /user/<username>
    
  5. Copy the input files into the distributed filesystem:

     將輸入檔案複製到分散式檔案系統中:

      $ bin/hdfs dfs -put etc/hadoop input
    
  6. Run some of the examples provided:

     執行所提供的一些示例:

      $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar grep input output 'dfs[a-z.]+'
    
  7. Examine the output files: Copy the output files from the distributed filesystem to the local filesystem and examine them:

     檢查輸出檔案:將輸出檔案從分散式檔案系統複製到本地檔案系統,並檢查它們:

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

    or

    View the output files on the distributed filesystem:

    或者直接在分散式檔案系統中檢視 

      $ bin/hdfs dfs -cat output/*
    
  8. When you’re done, stop the daemons with:

    完成後,使用以下命令停止守護程式: 

      $ sbin/stop-dfs.sh

YARN on a Single Node

You can run a MapReduce job on YARN in a pseudo-distributed mode by setting a few parameters and running ResourceManager daemon and NodeManager daemon in addition.

The following instructions assume that 1. ~ 4. steps of the above instructions are already executed.

您可以通過設定一些引數並執行ResourceManager守護程式和NodeManager守護程式,在偽分散式模式下在YARN上執行MapReduce作業。

         執行MapReduce作業。

  1. Configure parameters as follows:etc/hadoop/mapred-site.xml:

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    mapred.job.trackerJobTracker的主機(或者IP)和埠。
    更多說明請參考mapred-default.xml,包含配置檔案所有配置項的說明和預設值
    

    etc/hadoop/yarn-site.xml:

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

    常用配置項說明:

    yarn.nodemanager.aux-services通過該配置,使用者可以自定義一些服務
    更多說明請參考yarn-default.xml,包含配置檔案所有配置項的說明和預設值

  2. Start ResourceManager daemon and NodeManager daemon:

     啟動ResourceManager守護程式和NodeManager守護程式:

      $ sbin/start-yarn.sh
    
  3. Browse the web interface for the ResourceManager; by default it is available at:

     瀏覽ResourceManager的網頁介面;預設情況下,可以在:

    ResourceManager - http://localhost:8088/
  4. Run a MapReduce job.

  5. When you’re done, stop the daemons with:

     完成後,使用以下命令停止守護程式:

      $ sbin/stop-yarn.sh

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章