Πώς να εγκαταστήσετε το Hadoop Single Node Cluster (Pseudonode) στο CentOS 7


Το Hadoop είναι ένα πλαίσιο ανοιχτού κώδικα που χρησιμοποιείται ευρέως για την αντιμετώπιση Bigdata. Τα περισσότερα από τα έργα Bigdata/Data Analytics δημιουργούνται πάνω από το Hadoop Eco-System. Αποτελείται από δύο επίπεδα, το ένα είναι για Αποθήκευση δεδομένων και ένα άλλο για Επεξεργασία δεδομένων.

Η Αποθήκευση θα αναλαμβάνεται από το δικό της σύστημα αρχείων που ονομάζεται HDFS (Διανεμημένο σύστημα αρχείων Hadoop) και θα πραγματοποιηθεί η Επεξεργασία φροντίδα από YARN (Ένας άλλος Διαπραγματευτής Πόρων). Το Mapreduce είναι η προεπιλεγμένη μηχανή επεξεργασίας του Hadoop Eco-System.

Αυτό το άρθρο περιγράφει τη διαδικασία εγκατάστασης της εγκατάστασης Pseudonode του Hadoop, όπου θα βρίσκονται όλοι οι δαίμονες (JVM) εκτέλεση συμπλέγματος Single Node στο CentOS 7.

Αυτό είναι κυρίως για αρχάριους να μάθουν Hadoop. Σε πραγματικό χρόνο, το Hadoop θα εγκατασταθεί ως σύμπλεγμα πολλαπλών κόμβων όπου τα δεδομένα θα διανέμονται μεταξύ των διακομιστών ως μπλοκ και η εργασία θα εκτελείται με παράλληλο τρόπο.

Προαπαιτούμενα

  • Μια ελάχιστη εγκατάσταση διακομιστή CentOS 7.
  • Έκδοση Java v1.8.
  • Σταθερή έκδοση Hadoop 2.x.

Σε αυτήν την σελίδα

  • Πώς να εγκαταστήσετε την Java στο CentOS 7
  • Ρύθμιση σύνδεσης χωρίς κωδικό πρόσβασης στο CentOS 7
  • Πώς να εγκαταστήσετε το Hadoop Single Node στο CentOS 7
  • Πώς να ρυθμίσετε το Hadoop στο CentOS 7
  • Μορφοποίηση του συστήματος αρχείων HDFS μέσω του NameNode

Εγκατάσταση Java στο CentOS 7

1. Το Hadoop είναι ένα Οικοσύστημα που αποτελείται από Java. Χρειαζόμαστε υποχρεωτικά την εγκατάσταση Java στο σύστημά μας για να εγκαταστήσουμε το Hadoop.

yum install java-1.8.0-openjdk

2. Στη συνέχεια, επαληθεύστε την εγκατεστημένη έκδοση της Java στο σύστημα.

java -version

Διαμόρφωση σύνδεσης χωρίς κωδικό πρόσβασης στο CentOS 7

Πρέπει να έχουμε διαμορφώσει το ssh στον υπολογιστή μας, το Hadoop θα διαχειρίζεται τους κόμβους με τη χρήση του SSH. Ο κύριος κόμβος χρησιμοποιεί σύνδεση SSH για να συνδέσει τους υποτελείς κόμβους του και να εκτελέσει λειτουργίες όπως εκκίνηση και διακοπή.

Πρέπει να ρυθμίσουμε το ssh χωρίς κωδικό πρόσβασης, έτσι ώστε ο κύριος να μπορεί να επικοινωνεί με slaves χρησιμοποιώντας ssh χωρίς κωδικό πρόσβασης. Διαφορετικά, για κάθε εγκατάσταση σύνδεσης, πρέπει να εισαγάγετε τον κωδικό πρόσβασης.

Σε αυτόν τον μεμονωμένο κόμβο, οι υπηρεσίες Master (Namenode, Secondary Namenode & Resource Manager) και το Slave< Οι υπηρεσίες (Datanode & Nodemanager) θα εκτελούνται ως ξεχωριστά JVM. Παρόλο που είναι ένας κόμβος, πρέπει να έχουμε ssh χωρίς κωδικό πρόσβασης για να κάνουμε το Master να επικοινωνεί με τον Slave χωρίς έλεγχο ταυτότητας.

3. Ρυθμίστε μια σύνδεση SSH χωρίς κωδικό πρόσβασης χρησιμοποιώντας τις ακόλουθες εντολές στο διακομιστή.

ssh-keygen
ssh-copy-id -i localhost

4. Αφού διαμορφώσετε τη σύνδεση SSH χωρίς κωδικό πρόσβασης, προσπαθήστε να συνδεθείτε ξανά, θα συνδεθείτε χωρίς κωδικό πρόσβασης.

ssh localhost

Εγκατάσταση του Hadoop στο CentOS 7

5. Μεταβείτε στον ιστότοπο του Apache Hadoop και πραγματοποιήστε λήψη της σταθερής έκδοσης του Hadoop χρησιμοποιώντας την ακόλουθη εντολή wget.

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
tar xvpzf hadoop-2.10.1.tar.gz

6. Στη συνέχεια, προσθέστε τις μεταβλητές περιβάλλοντος Hadoop στο αρχείο ~/.bashrc όπως φαίνεται.

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7. Αφού προσθέσετε μεταβλητές περιβάλλοντος στο αρχείο ~/.bashrc, προμηθευτείτε το αρχείο και επαληθεύστε το Hadoop εκτελώντας τις ακόλουθες εντολές.

source ~/.bashrc
cd $HADOOP_PREFIX
bin/hadoop version

Διαμόρφωση του Hadoop στο CentOS 7

Πρέπει να διαμορφώσουμε παρακάτω τα αρχεία διαμόρφωσης Hadoop για να χωρέσουν στο μηχάνημά σας. Στο Hadoop, κάθε υπηρεσία έχει τον δικό της αριθμό θύρας και τον δικό της κατάλογο για την αποθήκευση των δεδομένων.

  • Αρχεία διαμόρφωσης Hadoop – core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml

8. Αρχικά, πρέπει να ενημερώσουμε τη διαδρομή JAVA_HOME και Hadoop στο αρχείο hadoop-env.sh όπως φαίνεται .

cd $HADOOP_PREFIX/etc/hadoop
vi hadoop-env.sh

Εισαγάγετε την ακόλουθη γραμμή στην αρχή του αρχείου.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9. Στη συνέχεια, τροποποιήστε το αρχείο core-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi core-site.xml

Επικόλληση που ακολουθεί μεταξύ των ετικετών <configuration> όπως φαίνεται.

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

10. Δημιουργήστε τους παρακάτω καταλόγους στον αρχικό κατάλογο χρήστη tecmint, ο οποίος θα χρησιμοποιηθεί για αποθήκευση NN και DN.

mkdir -p /home/tecmint/hdata/
mkdir -p /home/tecmint/hdata/data
mkdir -p /home/tecmint/hdata/name

10. Στη συνέχεια, τροποποιήστε το αρχείο hdfs-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi hdfs-site.xml

Επικόλληση που ακολουθεί μεταξύ των ετικετών <configuration> όπως φαίνεται.

<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/tecmint/hdata/name</value>
  </property>
  <property>
          <name>dfs .datanode.data.dir</name>
          <value>home/tecmint/hdata/data</value>
  </property>
</configuration>

11. Και πάλι, τροποποιήστε το αρχείο mapred-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

Επικόλληση που ακολουθεί μεταξύ των ετικετών <configuration> όπως φαίνεται.

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

12. Τέλος, τροποποιήστε το αρχείο yarn-site.xml.

cd $HADOOP_PREFIX/etc/hadoop
vi yarn-site.xml

Επικόλληση που ακολουθεί μεταξύ των ετικετών <configuration> όπως φαίνεται.

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

Μορφοποίηση του συστήματος αρχείων HDFS μέσω του NameNode

13. Πριν ξεκινήσουμε το Cluster, πρέπει να μορφοποιήσουμε το Hadoop NN στο τοπικό μας σύστημα όπου έχει εγκατασταθεί. Συνήθως, θα γίνει στο αρχικό στάδιο πριν ξεκινήσει το cluster την πρώτη φορά.

Η μορφοποίηση του NN θα προκαλέσει απώλεια δεδομένων στο metastore NN, επομένως πρέπει να είμαστε πιο προσεκτικοί, δεν θα πρέπει να μορφοποιούμε το NN ενώ εκτελείται το σύμπλεγμα, εκτός εάν απαιτείται σκόπιμα.

cd $HADOOP_PREFIX
bin/hadoop namenode -format

14. Ξεκινήστε τον δαίμονα NameNode και τον δαίμονα DataNode: (θύρα 50070).

cd $HADOOP_PREFIX
sbin/start-dfs.sh

15. Ξεκινήστε τον δαίμονα ResourceManager και τον δαίμονα NodeManager: (θύρα 8088).

sbin/start-yarn.sh

16. Για να διακόψετε όλες τις υπηρεσίες.

sbin/stop-dfs.sh
sbin/stop-dfs.sh
Περίληψη

Περίληψη
Σε αυτό το άρθρο, ακολουθήσαμε τη διαδικασία βήμα προς βήμα για τη ρύθμιση του Hadoop Pseudonode (Single Node) Cluster. Εάν έχετε βασικές γνώσεις Linux και ακολουθήσετε αυτά τα βήματα, το σύμπλεγμα θα ανέβει σε 40 λεπτά.

Αυτό μπορεί να είναι πολύ χρήσιμο για τον αρχάριο να αρχίσει να μαθαίνει και να εξασκεί το Hadoop ή αυτή η έκδοση βανίλιας του Hadoop μπορεί να χρησιμοποιηθεί για σκοπούς ανάπτυξης. Αν θέλουμε να έχουμε ένα σύμπλεγμα σε πραγματικό χρόνο, είτε χρειαζόμαστε τουλάχιστον 3 φυσικούς διακομιστές στο χέρι είτε πρέπει να παρέχουμε το Cloud για να έχουμε πολλούς διακομιστές.