Diesem Kapitel erklärt wie wird HBase installiert und anfänglich konfiguriert. Java und Hadoop sind erforderlich, vorgehen um mit HBase,so müssen Sie herunterladen und installieren Java und Hadoop in Ihrem System.
Vor der Installation von Hadoop in Linux-Umgebung, müssen wir Einrichten Linux verwendung ssh (sichere Shell). Befolgen Sie die unten gegebenen Schritte für den Aufbau des Linux-Umgebung.
Zunächst einmal ist es empfehlenswert, einen eigenen Benutzer erstellen für Hadoop, die Hadoop-Dateisystem aus der Unix-Dateisystem zu isolieren. Befolgen Sie die Schritte unten gegebenen, um einen Benutzer zu erstellen.
Öffnen Sie die Linux-Terminal und die folgenden Befehle ein, um einen Benutzer zu erstellen.
$ su password: # useradd hadoop # passwd hadoop New passwd: Retype new passwd
SSH-einrichten ist erforderlich, um verschiedene Operationen auf dem Cluster durchführen wie Start, Stopp, und verteilte Daemon Shell Operationen. Um verschiedene Benutzer von Hadoop authentifizieren, ist es erforderlich, öffentliche / private Schlüsselpaar für eine Hadoop Benutzer bereitzustellen und teilen es mit verschiedene Benutzern.
Die folgenden Befehle werden verwendet, um ein Schlüsselwertepaar mit Hilfe SSH zu erzeugen. Kopieren Sie die öffentlichen Schlüssel Formular id_rsa.pub in authorized_keys und bieten den Eigentümer, Lesen und Schreiben von Berechtigungen zu authorized_keys Datei beziehungsweise.
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
ssh localhost
Java ist die Haupt- Voraussetzung für Hadoop Und HBase.Zunächst einmal sollten Sie die Existenz von Java in Ihrem System mit Hilfe"java -version" verifizieren. Die Syntax der Java-Version Befehl ist unten angegeben.
$ java -version
Wenn alles funktioniert Geldbuße, es wird Ihnen die folgende Ausgabe.
java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b13) Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Wenn Java nicht auf Ihrem System installiert, dann gehen Sie folgendermaßen vor für die Installation von Java.
Herunterladen Java. (JDK
Dann jdk-7u71-linux-x64.tar.gz wird in das System herunterladen werden.
In der Regel werden Sie die heruntergeladene Java-Datei im Download-Ordner zu finden. Verifizieren Sie es und extrahieren Sie die jdk-7u71-linux-x64.gz Datei mit Hilfe den folgenden Befehlen.
$ cd Downloads/ $ ls jdk-7u71-linux-x64.gz $ tar zxf jdk-7u71-linux-x64.gz $ ls jdk1.7.0_71 jdk-7u71-linux-x64.gz
Zu machen Java verfügbar für alle Benutzer verfügbar,müssen Sie sie auf den Standort "/ usr / local /" zu bewegen. Öffnen Wurzel und typ die folgenden Befehle.
$ su password: # mv jdk1.7.0_71 /usr/local/ # exit
Für Einrichten oben PATH und JAVA_HOME Variablen, fügen Sie die folgenden Befehle ein, um ~ / .bashrcDatei.
export JAVA_HOME=/usr/local/jdk1.7.0_71 export PATH= $PATH:$JAVA_HOME/bin
Jetzt anwenden alle Änderungen in aktuell ausgeführten System.
$ source ~/.bashrc
Verwenden Sie die folgenden Befehle ein, um Java-Alternativen zu konfigurieren:
# alternatives --install /usr/bin/java java usr/local/java/bin/java 2 # alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2 # alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2 # alternatives --set java usr/local/java/bin/java # alternatives --set javac usr/local/java/bin/javac # alternatives --set jar usr/local/java/bin/jar
Jetzt verifiziferen die java -version Befehl vom Terminal wie oben erklärt
Nach der Installation von Java müssen Sie Hadoop zu installieren. Zunächst, verifizieren Sie die Existenz von Hadoop mit Hilfe "Hadoop-Version" Befehl wie unten dargestellt.
hadoop version
Wenn alles funktioniert Geldbuße, es wird Ihnen die folgende Ausgabe.
Hadoop 2.6.0 Compiled by jenkins on 2014-11-13T21:10Z Compiled with protoc 2.5.0 From source with checksum 18e43357c8f927c0695f1e9522859d6a This command was run using /home/hadoop/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar
Wenn Ihr System ist außerstande, um Hadoop zu lokalisieren, dann laden Sie Hadoop in Ihrem System. folgen die Befehle, dies zu tun.
Herunterladen und Extrahieren von Hadoop-2.6.0 von Apache Software Foundation mit Hilfe den folgenden Befehlen.
$ su password: # cd /usr/local # wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop- 2.6.0/hadoop-2.6.0-src.tar.gz # tar xzf hadoop-2.6.0-src.tar.gz # mv hadoop-2.6.0/* hadoop/ # exit
Installieren Hadoop in einem der erforderlichen Modus. Hier, zeigen wir HBase Funktionalitäten in pseudo verteilten Modus, daher Hadoop installieren pseudo verteilten Modus.
Die folgenden Schritte sind für die Installation verwendet werden Hadoop 2.4.1 .
Sie können setzen Hadoop Umgebungsvariablen durch Anhängen die folgenden Befehle ein, um ~ / .bashrc Datei.
export HADOOP_HOME=/usr/local/hadoop export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_INSTALL=$HADOOP_HOME
Jetzt anwenden alle Änderungen in aktuell ausgeführten System.
$ source ~/.bashrc
Sie können zu finden alle Hadoop-Konfigurationsdateien in der Lage "$ HADOOP_HOME / etc / Hadoop". Sie müssen zu Änderungen vornehmen in diejenigen Konfigurationsdateien entsprechend Ihren Hadoop-Infrastruktur.
$ cd $HADOOP_HOME/etc/hadoop
Um Hadoop-Programme in Java zu entwickeln, sie haben um rücksetzen die Java-Umgebungsvariable in hadoop-env.sh Datei durch Ersetzen JAVA_HOME Wert mit der Lage der Java in Ihrem System.
export JAVA_HOME=/usr/local/jdk1.7.0_71
Sie wird müssen die folgenden Dateien bearbeiten, um zu konfigurieren Hadoop.
core-site.xml
Die Core-site.xml Datei enthält Informationen wie beispielsweise die Portnummer verwendet für Hadoop-Instanz , Speicher zugewiesen für das Dateisystem, Speichergrenze zum Speichern von Daten , und die Größe des Lese- / Schreibpuffer.
Öffnen Kern-site.xml und fügen Sie die folgenden Eigenschaften in zwischen der <Konfiguration> und </Konfiguration> Etikett.
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration>
hdfs-site.xml
Die HDFS-site.xml Datei enthält Informationen wie beispielsweise den Wert der Replikations daten, namenode Pfad und DataNode Pfad Ihrer lokalen Dateisystemen, in dem Sie die Hadoop-Infrastruktur speichern werden soll.
lassen Sie uns annehmen die folgenden Daten.dfs.replication (data replication value) = 1 (In the below given path /hadoop/ is the user name. hadoopinfra/hdfs/namenode is the directory created by hdfs file system.) namenode path = //home/hadoop/hadoopinfra/hdfs/namenode (hadoopinfra/hdfs/datanode is the directory created by hdfs file system.) datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
Öffnen Sie diese Datei und fügen Sie die folgenden Eigenschaften in zwischen der <Konfiguration>, </Konfiguration> Schlagworte.
<configuration$gt; <property$gt; <name$gt;dfs.replication</name $gt; <value$gt;1</value$gt; </property$gt; <property$gt; <name$gt;dfs.name.dir</name$gt; <value$gt;file:///home/hadoop/hadoopinfra/hdfs/namenode</value$gt; </property$gt; <property$gt; <name$gt;dfs.data.dir</name$gt; <value$gt;file:///home/hadoop/hadoopinfra/hdfs/datanode</value$gt; </property$gt; </configuration$gt;
Hinweis : In der oben Datei sind alle Eigenschaftswerte benutzerdefiniert und sie kann machen Änderungen nach Ihren Hadoop Infrastruktur.
yarn-site.xml
Diese Datei wird verwendet, um Garn in Hadoop konfigurieren. Öffnen Sie die Garn-site.xml-Datei und fügen Sie die folgende Eigenschaft in zwischen der <configuration$gt;, </configuration $gt; Schlagworte in dieser Datei.
<configuration$gt; <property$gt; <name$gt;yarn.nodemanager.aux-services</name$gt; <value$gt;mapreduce_shuffle</value$gt; </property$gt; </configuration$gt;
mapred-site.xml
Diese Datei wird verwendet, um angeben welche kartereduzieren Rahmen sind verwenden wir.Standardmäßig, enthält Hadoop eine Vorlage von Garn-site.xml. Zunächst einmal ist es erforderlich, zu kopieren die Datei von mapred-site.xml.template zu mapred-Datei site.xml Datei mit Hilfe dem folgenden Befehl.
$ cp mapred-site.xml.template mapred-site.xml
Öffnen mapred-site.xml Datei und fügen Sie die folgenden Eigenschaften in zwischen der <Konfiguration> und </Konfiguration> Schlagworte.
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
Die folgenden Schritte werden verwendet, um die Hadoop-Installation zu überprüfen.
Einrichten die namenode mit Hilfe dem Befehl “hdfs namenode -format” wie folgt
$ cd ~ $ hdfs namenode -format
Das erwartete Ergebnis ist wie folgt.
10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = localhost/192.168.1.11 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.4.1 ... ... 10/24/14 21:30:56 INFO common.Storage: Storage directory /home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted. 10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0 10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11 ************************************************************/
Mit dem folgenden Befehl wird verwendet, um dfs starten. Die Ausführung dieses Befehls wird starten Ihre Hadoop-Dateisystem.
$ start-dfs.sh
Die erwartete Ausgabe ist wie folgt.
10/24/14 21:37:56 Starting namenodes on [localhost] localhost: starting namenode, logging to /home/hadoop/hadoop- 2.4.1/logs/hadoop-hadoop-namenode-localhost.out localhost: starting datanode, logging to /home/hadoop/hadoop- 2.4.1/logs/hadoop-hadoop-datanode-localhost.out Starting secondary namenodes [0.0.0.0]
Mit dem folgenden Befehl wird verwendet, um das Garn Skript zu starten. Die Ausführung dieses Befehls wird starten Ihre Garn Daemons.
$ start-yarn.sh
Die erwartete Ausgabe ist wie folgt.
starting yarn daemons starting resourcemanager, logging to /home/hadoop/hadoop- 2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out localhost: starting nodemanager, logging to /home/hadoop/hadoop- 2.4.1/logs/yarn-hadoop-nodemanager-localhost.out
Die Standard-Portnummer zu Zugriff Hadoop ist 50070. Verwenden Sie die folgende URL, um Hadoop-Dienste auf Ihre Browser bekommen.
http://localhost:50070
Die Standardportnummer, um alle Anwendungen von Cluster zugreifen ist 8088. Verwenden Sie die folgende URL, um diesen Dienst zu besuchen.
http://localhost:8088/
Wir können HBase in jeder der drei Modi installieren: Standalone-Modus, Pseudo verteilten Modus und vollständig verteilten Modus.
Laden Sie die neueste stabile Version von HBase Form http://www.interiordsgn.com/apache/hbase/stable/ mit Hilfe"wget" Kommando, und entpacken Sie es mit Hilfe des tar "zxvf" -Befehl. Siehe den folgenden Befehl aus.
$cd usr/local/ $wget http://www.interior-dsgn.com/apache/hbase/stable/hbase-0.98.8- hadoop2-bin.tar.gz $tar -zxvf hbase-0.98.8-hadoop2-bin.tar.gz
Verschiebung, um Superuser-Modus und bewegen Sie die HBase Mappe zu Ordner / usr / lokal, wie unten gezeigt.
$su $password: enter your password here mv hbase-0.99.1/* Hbase/
Bevor Sie mit HBase fortfahren, müssen Sie die folgenden Dateien zu bearbeiten und zu konfigurieren HBase.
hbase-env.sh
Setzen Sie die Java-Startseite für HBase und offene hbase-env.sh Datei aus dem Ordner conf. Bearbeiten Umgebungsvariable JAVA_HOME und ändern Sie den vorhandenen Pfad zu Ihrem aktuellen Variable JAVA_HOME wie unten dargestellt.
cd /usr/local/Hbase/conf gedit hbase-env.sh
Diese wird Öffnen env.sh Datei von HBase . Jetzt ersetzen Sie die vorhandene JAVA_HOME Wert mit Ihrem aktuellen Wert, wie unten gezeigt.
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
hbase-site.xml
Dies ist die Hauptkonfigurationsdatei von HBase. Setzen Sie das Datenverzeichnis zu an einem geeigneten Ort durch Öffnen des HBase Home-Ordner in / usr / local / HBase. Innen conf Ordner, werden Sie mehrere Dateien zu finden, öffnen Sie die hbase-site.xml Datei wie unten gezeigt.
#cd /usr/local/HBase/ #cd conf # gedit hbase-site.xml
Inneren des hbase-site.xml Datei, finden Sie das <Konfiguration> und </Konfiguration> schlagworte. Innerhalb ihnen, stellen Sie den HBase Verzeichnis unter dem Eigenschaft Schlüssel mit die Namen "hbase.rootdir", wie unten gezeigt.
<configuration> //Here you have to set the path where you want HBase to store its files. <property> <name>hbase.rootdir</name> <value>file:/home/hadoop/HBase/HFiles</value> </property> //Here you have to set the path where you want HBase to store its built in zookeeper files. <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/zookeeper</value> </property> </configuration>
Mit diese, ist die HBase Installation und Konfiguration Teil erfolgreich abgeschlossen. Wir können start- HBase durch die Verwendung hbase.sh Skript vorgesehen im Ordner bin von HBase. für dass öffnen HBase Home-Ordner und führen Sie HBase Startskript wie unten gezeigt.
$cd /usr/local/HBase/bin $./start-hbase.sh
Wenn alles gut geht, wenn Sie versuchen, HBase Start Skript ausführen, es wird Eingabeaufforderung Sie eine Meldung Spruch dass HBase hat gestartet.
starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out
lasst uns nun prüfen, wie HBase in Pseudo verteilten Modus installiert ist.
Bevor Sie mit HBase fortfahren, konfigurieren Hadoop und HDFS auf Ihrem lokalen System oder auf einem Remote-System und stellen Sie sicher, sie ausgeführt werden. Stoppen HBase wenn es ist Laufen.
hbase-site.xml
Bearbeiten hbase-Datei site.xml, um hinzufügen die folgenden Eigenschaften.
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
Es wird erwähnt, in welchem Modus HBase ausgeführt werden soll. Auf die gleiche Datei aus dem lokalen Dateisystem, ändern Sie die hbase.rootdir, Ihre HDFS Beispiel Adresse, mit Hilfe die hdfs://// URI syntax. Wir werden läuft HDFS auf die localhost bei Port 8030.
<property> <name>>hbase.rootdir</name> <value>hdfs://localhost:8030/hbase</value> </property>
Nach der Konfiguration über ist, blättern zu HBase Home-Ordner und starten Sie HBase mit dem folgenden Befehl.
$cd /usr/local/HBase $bin/start-hbase.sh
Hinweis : Vor dem Start HBase, stellen Sie sicher, Hadoop ist Laufen.
HBase schafft seinem Verzeichnis in HDFS. Um das erstellte Verzeichnis zu sehen, gehen Sie zu Hadoop bin und typ Sie den folgenden Befehl.
$ ./bin/hadoop fs -ls /hbase
Wenn alles gut geht, es wird Ihnen die folgende Ausgabe.
Found 7 items drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/.tmp drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/WALs drwxr-xr-x - hbase users 0 2014-06-25 18:48 /hbase/corrupt drwxr-xr-x - hbase users 0 2014-06-25 18:58 /hbase/data -rw-r--r-- 3 hbase users 42 2014-06-25 18:41 /hbase/hbase.id -rw-r--r-- 3 hbase users 7 2014-06-25 18:41 /hbase/hbase.version drwxr-xr-x - hbase users 0 2014-06-25 21:49 /hbase/oldWALs
Mit Hilfe der "local-master-backup.sh" können Sie bis zu 10 Server starten. Öffnen Sie den Home-Ordner von HBase, Master und führen Sie den folgenden Befehl ein, um es zu starten.
$ ./bin/local-master-backup.sh 2 4
Um einen Backup-Master zu töten, Sie müssen seine Prozess-ID, welche in der Datei gespeichert werden genannt "/ tmp / hbase-USER-X-master.pid." können Sie töten die Backup-Master mit Hilfe dem folgenden Befehl.
$ cat /tmp/hbase-user-1-master.pid |xargs kill -9
Sie können mehrere Region Server von einem einzigen System laufen mit dem folgenden Befehl.
$ .bin/local-regionservers.sh start 2 3
Um einen region Server anzuhalten, verwendung Sie folgenden Befehl.
$ .bin/local-regionservers.sh stop 3
Gegeben unten sind die Folge von Schritten, die vor dem Starten des HBase Schale gefolgt werden. Öffnen Sie das Terminal und melden Sie sich als Superuser.
Stöbern durch Hadoop Hause sbin Verzeichnis und starten Sie Hadoop-Dateisystem wie dargestellt unten.
$cd $HADOOP_HOME/sbin $start-all.sh
Stöbern durch die HBase Stamm verzeichnis bin-Ordner und starten Sie HBase.
$cd /usr/local/HBase $./bin/start-hbase.sh
Dies wird das gleiche Verzeichnis sein. Starten Sie es wie unten gezeigt.
$./bin/local-master-backup.sh start 2 (number signifies specific server.)
Starten die region server wie unten dargestellt.
$./bin/./local-regionservers.sh start 3
Sie können HBase Shell starten Sie den folgenden Befehl.
$cd bin $./hbase shell
Dies gibt Ihnen die HBase Shell Eingabeaufforderung wie unten dargestellt.
2014-12-09 14:24:27,526 INFO [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.98.8-hadoop2, r6cfc8d064754251365e070a10a82eb169956d5fe, Fri Nov 14 18:26:29 PST 2014 hbase(main):001:0>
Um auf die Weboberfläche von HBase zuzugreifen, geben Sie die folgende URL in den Browser.
http://localhost:60010
Diese Schnittstelle listet Ihre aktuell ausgeführten Region Server, Backup-Master und HBase Tabellen.
Wir können auch mit HBase mit Java-Bibliotheken, aber vor dem Zugriff auf HBase mit Java-API Sie Klassenpfad für diesen Bibliotheken festlegen müssen kommunizieren.
Bevor Sie mit der Programmierung fortfahren, stellen Sie den Klassenpfad zu HBase Bibliotheken in .bashrc Datei. Öffnen .bashrc in einer der Redakteurewie unten dargestellt.
$ gedit ~/.bashrc
Stellen Klassenpfad für HBase Bibliotheken (lib Ordner in HBase) in es wie unten dargestellt.
export CLASSPATH=$CLASSPATH://home/hadoop/hbase/lib/*
Dies ist die "Klasse nicht gefunden" Ausnahme beim Zugriff auf die HBase mit Java-API zu vermeiden.