GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Apache Hadoop na CentOS 7, Ubuntu 18.04 a Debian 9

Apache Hadoop je open-source softwarový framework napsaný v Javě pro distribuované úložiště a distribuovaný proces a zvládá velmi velkou velikost datových sad jejich distribucí mezi počítačové clustery.

Namísto spoléhání se na vysokou dostupnost hardwaru jsou moduly Hadoop navrženy tak, aby detekovaly a řešily selhání na aplikační vrstvě, takže vám poskytují vysoce dostupné služby.

Hadoop framework se skládá z následujících modulů,

  • Hadoop Common – Obsahuje společnou sadu knihoven a nástrojů, které podporují další moduly Hadoop
  • Hadoop Distributed File System (HDFS) – je distribuovaný souborový systém založený na Javě, který ukládá data a poskytuje aplikaci velmi vysokou propustnost.
  • Hadoop YARN – Spravuje zdroje ve výpočetních clusterech a používá je k plánování uživatelských aplikací.
  • Hadoop MapReduce – je rámec pro zpracování dat ve velkém měřítku.

Tato příručka vám pomůže nainstalovat Apache Hadoop na CentOS 7, Ubuntu 18.04 a Debian 9. Tato příručka by měla fungovat také na Ubuntu 16.04.

Předpoklady

Přepněte na uživatele root.

su -

NEBO

sudo su -

Nainstalujte Javu

Apache Hadoop vyžaduje pouze verzi Java 8. Můžete si tedy vybrat instalaci OpenJDK nebo Oracle JDK.

ČTĚTE: Jak nainstalovat Oracle Java na CentOS 7 / RHEL 7

ČTĚTE: Jak nainstalovat Oracle Java na Ubuntu 18.04

ČTĚTE: Jak nainstalovat Oracle Java na Debian 9

Zde, pro toto demo, budu instalovat OpenJDK 8.

### CentOS 7 / RHEL 7 ###

# yum -y install java-1.8.0-openjdk wget

### Ubuntu 18.04 / 16.04 & Debian 9 ###

# apt update 
# apt install -y openjdk-8-jdk wget

Zkontrolujte verzi Java.

# java -version

Výstup:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

Vytvořit uživatele Hadoop a povolit ověřování bez hesla

Pro konfiguraci a spuštění Apache Hadoop se doporučuje vytvořit běžného uživatele. Vytvořte tedy uživatele s názvem hadoop a nastavte heslo.

# useradd -m -d /home/hadoop -s /bin/bash hadoop

# passwd hadoop

Jakmile vytvoříte uživatele, nakonfigurujte ssh bez hesla do místního systému. Vytvořte ssh klíč pomocí následujících příkazů.

# su - hadoop

$ ssh-keygen

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

Ověřte komunikaci bez hesla s místním systémem. Pokud děláte ssh poprvé, zadejte yes pro přidání RSA klíčů ke známým hostitelům.

$ ssh 127.0.0.1

Nainstalujte Apache Hadoop

Stáhněte si Hadoop

Můžete navštívit stránku Apache Hadoop a stáhnout si nejnovější balíček Hadoop, nebo můžete v terminálu zadat následující příkaz ke stažení Hadoop v3.2.0.

$ wget https://www-us.apache.org/dist/hadoop/common/stable/hadoop-3.2.0.tar.gz

$ tar -zxvf hadoop-3.2.0.tar.gz 

$ mv hadoop-3.2.0 hadoop

Nainstalujte Hadoop

Hadoop podporuje tři režimy clusterů

  1. Místní (samostatný) režim – běží jako jeden proces Java.
  2. Pseudo-distribuovaný režim – Každý démon Hadoop běží v samostatném procesu.
  3. Plně distribuovaný režim – Jedná se o skutečný víceuzlový cluster od několika uzlů po extrémně velký cluster.

Nastavení proměnných prostředí

Zde budeme konfigurovat Hadoop v Pseudo-distribuovaném režimu. Nejprve nastavte proměnné prostředí v souboru ~/.bashrc.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre   ## Change it according to your system
export HADOOP_HOME=/home/hadoop/hadoop   ## Change it according to your system
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Použijte proměnné prostředí na aktuální relaci.

$ source ~/.bashrc

Upravit konfigurační soubory

Upravte soubor prostředí Hadoop.

vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

Nastavte proměnnou prostředí JAVA_HOME.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

Hadoop má mnoho konfiguračních souborů a musíme je upravit v závislosti na režimech clusteru, které jsme nastavili (Pseudo-Distributed).

$ cd $HADOOP_HOME/etc/hadoop

Upravte soubor core-site.xml.

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://server.itzgeek.local:9000</value>
        </property>
</configuration>

Upravte soubor hdfs-site.xml.

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

Vytvořte adresáře NameNode a DataNode v domovském adresáři uživatele hadoop.

 mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}

Upravit mapred-site.xml.

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

Upravte soubor yarn-site.xml.

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

Nyní naformátujte NameNode pomocí následujícího příkazu. Nezapomeňte zkontrolovat adresář úložiště.

$ hdfs namenode -format

Výstup:

.    .    .
.    .    .

2019-05-12 06:38:42,066 INFO common.Storage: Storage directory /home/hadoop/hadoopdata/hdfs/namenode has been successfully formatted.
2019-05-12 06:38:42,169 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 using no compression
2019-05-12 06:38:42,483 INFO namenode.FSImageFormatProtobuf: Image file /home/hadoop/hadoopdata/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 of size 401 bytes saved in 0 seconds .
2019-05-12 06:38:42,501 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2019-05-12 06:38:42,516 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at server.itzgeek.local/192.168.1.10
************************************************************/

Firewall

Povolte Apache Hadoop přes bránu firewall. Spusťte níže uvedené příkazy jako uživatel root.

FirewallD:

firewall-cmd --permanent --add-port=9870/tcp
firewall-cmd --permanent --add-port=8088/tcp
firewall-cmd --reload

UFW:

ufw allow 9870/tcp
ufw allow 8088/tcp
ufw reload

Spusťte démona NameNode a démona DataNode pomocí skriptů v adresáři /sbin, který poskytuje Hadoop.

$ start-dfs.sh

Výstup:

Starting namenodes on [server.itzgeek.local]
server.itzgeek.local: Warning: Permanently added 'server.itzgeek.local,192.168.1.10' (ECDSA) to the list of known hosts.
Starting datanodes
localhost: Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Starting secondary namenodes [server.itzgeek.local]
2019-05-12 06:39:14,171 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Otevřete svůj webový prohlížeč a přejděte na níže uvedenou adresu URL, kde můžete procházet NameNode.

http://ip.ad.dre.ss:9870/

Spusťte démona ResourceManager a démona NodeManager.

$ start-yarn.sh

Výstup:

Starting resourcemanager
Starting nodemanagers

Otevřete svůj webový prohlížeč a přejděte na níže uvedenou adresu URL, abyste získali přístup k ResourceManager.

http://ip.ad.dre.ss:8088/

Test Hadoop Single Node Cluster

Před provedením nahrání vytvořte adresář na HDFS.

$ hdfs dfs -mkdir /raj

Nahrajte soubor do adresáře HDFS s názvem raj.

$ hdfs dfs -put ~/.bashrc /raj

Nahrané soubory lze zobrazit v NameNode>> Nástroje >> Procházet systém souborů v NameNode.

http://ip.ad.dre.ss/explorer.html#/raj

Zkopírujte soubory z HDFS do místních systémů souborů.

$ hdfs dfs -get /raj /tmp/

Soubory a adresáře můžete odstranit pomocí následujících příkazů.

hdfs dfs -rm -f /raj/.bashrc
hdfs dfs -rmdir /raj

Závěr

To je vše. Úspěšně jste nakonfigurovali jeden uzel Hadoop cluster a otestovali souborový systém hadoop. Podělte se o svůj názor v sekci komentářů.


Cent OS
  1. Jak nainstalovat Apache Hadoop na CentOS 7

  2. Jak nainstalovat Apache Hadoop na Ubuntu 18.04 LTS

  3. Jak nainstalovat Hadoop na Debian 11

  1. Jak nainstalovat Ansible na CentOS 7 / RHEL 7 / Ubuntu 18.04 / 16.04 &Debian 9

  2. Jak nainstalovat Apache Hadoop na Debian 9 Stretch

  3. Jak nainstalovat Apache Hadoop na Debian 11

  1. Jak nainstalovat Apache Hadoop na CentOS 8

  2. Jak nainstalovat Apache Hadoop na Ubuntu 14.04

  3. Jak nainstalovat Apache na Ubuntu?