hadoopAan de slag met hadoop


Opmerkingen

Wat is Apache Hadoop?

De Apache Hadoop-softwarebibliotheek is een raamwerk dat de distributie van grote gegevenssets over clusters van computers mogelijk maakt met behulp van eenvoudige programmeermodellen. Het is ontworpen om op te schalen van afzonderlijke servers naar duizenden machines, die elk lokale berekening en opslag bieden. In plaats van te vertrouwen op hardware om hoge beschikbaarheid te leveren, is de bibliotheek zelf ontworpen om fouten op de applicatielaag te detecteren en af te handelen, waardoor een zeer beschikbare service wordt geleverd bovenop een cluster van computers, die elk vatbaar zijn voor storingen.

Apache Hadoop omvat deze modules:

  • Hadoop Common : de algemene hulpprogramma's die de andere Hadoop-modules ondersteunen.
  • Hadoop Distributed File System (HDFS) : een gedistribueerd bestandssysteem dat hoge doorvoertoegang tot toepassingsgegevens biedt.
  • Hadoop YARN : Een raamwerk voor taakplanning en clusterresourcebeheer.
  • Hadoop MapReduce : een op YARN gebaseerd systeem voor parallelle verwerking van grote gegevenssets.

Referentie:

Apache Hadoop

versies

Versie Release-opmerkingen Publicatiedatum
3.0.0-alpha1 2016/08/30
2.7.3 Klik hier - 2.7.3 2016/01/25
2.6.4 Klik hier - 2.6.4 2016/02/11
2.7.2 Klik hier - 2.7.2 2016/01/25
2.6.3 Klik hier - 2.6.3 2015/12/17
2.6.2 Klik hier - 2.6.2 2015/10/28
2.7.1 Klik hier - 2.7.1 2015/07/06

Hadoop-overzicht en HDFS

voer hier de afbeeldingsbeschrijving in

    Hadoop is een open-source softwareframework voor opslag en grootschalige verwerking van gegevenssets in een gedistribueerde computeromgeving. Het wordt gesponsord door Apache Software Foundation. Het is ontworpen om op te schalen van afzonderlijke servers naar duizenden machines, die elk lokale berekening en opslag bieden.
Geschiedenis

  • Hadoop werd in 2005 gecreëerd door Doug Cutting en Mike Cafarella.
  • Cutting, die bij Yahoo! werkte destijds genoemd naar het speelgoedolifantje van zijn zoon.
  • Het werd oorspronkelijk ontwikkeld om de distributie voor het zoekmachineproject te ondersteunen.
Belangrijke modules van hadoop

    Hadoop Distributed File System (HDFS): een gedistribueerd bestandssysteem dat hoge doorvoertoegang tot toepassingsgegevens biedt. Hadoop MapReduce: een softwareframework voor gedistribueerde verwerking van grote gegevenssets op rekenclusters.
Hadoop Bestandssysteem Basisfuncties

    Zeer fouttolerant. Hoge doorvoer. Geschikt voor toepassingen met grote gegevenssets. Kan worden gebouwd met standaard hardware.
Namenode en Datanodes

    Master / slave-architectuur. HDFS-cluster bestaat uit een enkele Namenode, een masterserver die de naamruimte van het bestandssysteem beheert en de toegang tot bestanden door clients regelt. De DataNodes beheren de opslag die is gekoppeld aan de knooppunten waarop ze worden uitgevoerd. HDFS geeft een naamruimte voor het bestandssysteem weer en laat toe dat gebruikersgegevens in bestanden worden opgeslagen. Een bestand wordt opgesplitst in een of meer blokken en een set blokken wordt opgeslagen in DataNodes. DataNodes: dient lees-, schrijfverzoeken, voert blokcreatie, verwijdering en replicatie uit op instructie van Namenode.

voer hier de afbeeldingsbeschrijving in

    HDFS is ontworpen om zeer grote bestanden op verschillende computers in een groot cluster op te slaan. Elk bestand is een reeks blokken. Alle blokken in het bestand behalve de laatste hebben dezelfde grootte. Blokken worden gerepliceerd voor fouttolerantie. De Namenode ontvangt een Heartbeat en een BlockReport van elke DataNode in het cluster. BlockReport bevat alle blokken op een Datanode.
Hadoop Shell-commando's

    Veelgebruikte opdrachten: -
      ls Gebruik: hadoop fs –ls Path (map / bestandspad naar lijst). Cat Gebruik: Hadoop fs -cat PathOfFileToView

voer hier de afbeeldingsbeschrijving in

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

Installatie van Hadoop op ubuntu

Hadoop-gebruiker maken:

sudo addgroup hadoop
 

Gebruiker toevoegen:

sudo adduser --ingroup hadoop hduser001
 

voer hier de afbeeldingsbeschrijving in

SSH configureren:

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

Opmerking : Als u fouten krijgt [ bash: .ssh / Authorized_keys: Geen dergelijk bestand of map ] tijdens het schrijven van de geautoriseerde sleutel. Bekijk hier .

voer hier de afbeeldingsbeschrijving in voer hier de afbeeldingsbeschrijving in voer hier de afbeeldingsbeschrijving in

Voeg de Hadoop-gebruiker toe aan de lijst van de gebruiker:

sudo adduser hduser001 sudo
 

voer hier de afbeeldingsbeschrijving in

IPv6 uitschakelen:

voer hier de afbeeldingsbeschrijving in voer hier de afbeeldingsbeschrijving in

Hadoop installeren:

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

voer hier de afbeeldingsbeschrijving in voer hier de afbeeldingsbeschrijving in

Installatie of Setup op Linux

Een Pseudo Distributed Cluster Setup-procedure

voorwaarden

  • Installeer JDK1.7 en stel de omgevingsvariabele JAVA_HOME in.

  • Maak een nieuwe gebruiker aan als "hadoop".

    useradd hadoop

  • Stel SSH-login zonder wachtwoord in op zijn eigen account

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

  • Schakel IPV6 uit door /etc/sysctl.conf bewerken met het volgende:

     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv6.conf.default.disable_ipv6 = 1
     net.ipv6.conf.lo.disable_ipv6 = 1
     
  • Controleer of u cat /proc/sys/net/ipv6/conf/all/disable_ipv6

    (moet 1 retourneren)

Installatie en configuratie:

  • Download de vereiste versie van Hadoop uit Apache-archieven met de opdracht 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
     
  • Update .bashrc / .kshrc basis van uw shell met onderstaande omgevingsvariabelen

      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 directory bewerk onderstaande bestanden

    • kern-site.xml

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

      Maak mapred-site.xml van de sjabloon

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

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

    Maak de bovenliggende map om de hadoop-gegevens op te slaan

    mkdir -p /home/hadoop/hdfs
     
  • Formaat NameNode (ruimt de map op en maakt de nodige metabestanden aan)

    hdfs namenode -format
     
  • Start alle services:

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

Gebruik in plaats daarvan start-all.sh (verouderd).

Gebruik in plaats daarvan stop-all.sh (verouderd).