Ricerca…


Osservazioni

Cos'è Apache Hadoop?

La libreria del software Apache Hadoop è un framework che consente l'elaborazione distribuita di grandi set di dati su cluster di computer utilizzando semplici modelli di programmazione. È progettato per passare da singoli server a migliaia di macchine, ognuna delle quali offre calcolo e archiviazione locali. Anziché affidarsi all'hardware per garantire un'elevata disponibilità, la libreria stessa è progettata per rilevare e gestire i guasti a livello di applicazione, offrendo così un servizio altamente disponibile su un cluster di computer, ognuno dei quali potrebbe essere soggetto a guasti.

Apache Hadoop include questi moduli:

  • Hadoop Common : le utilità comuni che supportano gli altri moduli Hadoop.
  • Hadoop Distributed File System (HDFS) : un file system distribuito che fornisce accesso ad alta velocità ai dati delle applicazioni.
  • Hadoop YARN : un framework per la pianificazione del lavoro e la gestione delle risorse del cluster.
  • Hadoop MapReduce : un sistema basato su YARN per l'elaborazione parallela di set di dati di grandi dimensioni.

Riferimento:

Apache Hadoop

Versioni

Versione Note di rilascio Data di rilascio
3.0.0-alpha1 2016/08/30
2.7.3 Clicca qui - 2.7.3 2016/01/25
2.6.4 Clicca qui - 2.6.4 2016/02/11
2.7.2 Clicca qui - 2.7.2 2016/01/25
2.6.3 Clicca qui - 2.6.3 2015/12/17
2.6.2 Clicca qui - 2.6.2 2015/10/28
2.7.1 Clicca qui - 2.7.1 2015/07/06

Installazione o installazione su Linux

Una procedura di installazione di cluster pseudo distribuito

Prerequisiti

  • Installa JDK1.7 e imposta la variabile di ambiente JAVA_HOME.

  • Crea un nuovo utente come "hadoop".

    useradd hadoop

  • Imposta l'accesso SSH senza password al proprio account

     su - hadoop
     ssh-keygen
     << Press ENTER for all prompts >>
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
     chmod 0600 ~/.ssh/authorized_keys
    
  • Verifica eseguendo ssh localhost

  • Disabilitare IPV6 modificando /etc/sysctl.conf con i seguenti:

     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv6.conf.default.disable_ipv6 = 1
     net.ipv6.conf.lo.disable_ipv6 = 1
    
  • Controlla che usi cat /proc/sys/net/ipv6/conf/all/disable_ipv6

    (dovrebbe restituire 1)

Installazione e configurazione:

  • Scarica la versione richiesta di Hadoop dagli archivi Apache usando il comando wget .

     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
    
  • Aggiorna .bashrc / .kshrc base alla shell con le seguenti variabili di ambiente

      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
    
  • In $HADOOP_HOME/etc/hadoop modificare la directory sotto i file

    • core-site.xml

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

      Crea mapred-site.xml dal suo modello

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

        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration> 
      
    • filati-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>
      

    Creare la cartella genitore per memorizzare i dati hadoop

    mkdir -p /home/hadoop/hdfs
    
  • Formatta NameNode (pulisce la directory e crea i meta file necessari)

    hdfs namenode -format
    
  • Avvia tutti i servizi:

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

Utilizzare invece start-all.sh (deprecato).

  • Controllare tutti i processi java in esecuzione

    jps 
    
  • Interfaccia Web Namenode: http: // localhost: 50070 /

  • Interfaccia Web di gestione risorse: http: // localhost: 8088 /

  • Per fermare i demoni (servizi):

    stop-dfs.sh && stop-yarn.sh
    mr-jobhistory-daemon.sh stop historyserver
    

Invece usa stop-all.sh (deprecato).

Installazione di Hadoop su ubuntu

Creazione di un utente Hadoop:

sudo addgroup hadoop

Aggiungere un utente:

sudo adduser --ingroup hadoop hduser001

inserisci la descrizione dell'immagine qui

Configurazione di SSH:

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

Nota : se si verificano errori [ bash: .ssh / authorized_keys: nessun file o directory ] durante la scrittura della chiave autorizzata. Controlla qui

inserisci la descrizione dell'immagine qui inserisci la descrizione dell'immagine qui inserisci la descrizione dell'immagine qui

Aggiungi utente hadoop alla lista di sudoer:

sudo adduser hduser001 sudo

inserisci la descrizione dell'immagine qui

Disattivazione di IPv6:

inserisci la descrizione dell'immagine qui inserisci la descrizione dell'immagine qui

Installazione di Hadoop:

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

inserisci la descrizione dell'immagine qui inserisci la descrizione dell'immagine qui

Panoramica Hadoop e HDFS

inserisci la descrizione dell'immagine qui

    Hadoop è un framework software open-source per la memorizzazione e l'elaborazione su larga scala di set di dati in un ambiente di elaborazione distribuito. È sponsorizzato da Apache Software Foundation. È progettato per passare da singoli server a migliaia di macchine, ognuna delle quali offre calcolo e archiviazione locali.
Storia

  • Hadoop è stato creato da Doug Cutting e Mike Cafarella nel 2005.
  • Cutting, che stava lavorando su Yahoo! in quel momento, lo chiamò in onore dell'elefante giocattolo di suo figlio.
  • È stato originariamente sviluppato per supportare la distribuzione per il progetto del motore di ricerca.
I principali moduli di hadoop

    Hadoop Distributed File System (HDFS): un file system distribuito che fornisce accesso ad alta velocità ai dati delle applicazioni. Hadoop MapReduce: una struttura software per l'elaborazione distribuita di set di dati di grandi dimensioni su cluster di calcolo.
Funzioni di base del file system Hadoop

    Altamente tollerante ai guasti. Elevato rendimento. Adatto per applicazioni con set di dati di grandi dimensioni. Può essere costruito con hardware di base.
Namenode e Datanode

    Architettura master / slave. Il cluster HDFS è costituito da un singolo Namenode, un server master che gestisce lo spazio dei nomi del file system e regola l'accesso ai file da parte dei client. I DataNodes gestiscono lo storage collegato ai nodi su cui vengono eseguiti. HDFS espone uno spazio dei nomi del file system e consente di memorizzare i dati dell'utente nei file. Un file è diviso in uno o più blocchi e set di blocchi sono memorizzati in DataNodes. DataNodes: serve le richieste di lettura, scrittura, esegue la creazione di blocchi, la cancellazione e la replica su istruzione dal Namenode.

inserisci la descrizione dell'immagine qui

    HDFS è progettato per archiviare file di grandi dimensioni su macchine in un cluster di grandi dimensioni. Ogni file è una sequenza di blocchi. Tutti i blocchi nel file tranne l'ultimo sono della stessa dimensione. I blocchi vengono replicati per la tolleranza ai guasti. Il Namenode riceve un Heartbeat e un BlockReport da ciascun DataNode nel cluster. BlockReport contiene tutti i blocchi su un Datanode.
Comandi shell Hadoop

    Comandi comuni usati: -
      ls Uso: hadoop fs -ls Percorso (dir / percorso file da elencare). Uso del gatto : hadoop fs -cat PathOfFileToView

inserisci la descrizione dell'immagine qui

Link per comandi hadoop shell: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow