HBase - instalacja

W tym rozdziale wyjaśniono, jak instaluje się i początkowo konfiguruje HBase. Java i Hadoop są wymagane do kontynuowania HBase, więc musisz pobrać i zainstalować Javę i Hadoop w swoim systemie.

Konfiguracja przed instalacją

Przed zainstalowaniem Hadoopa w środowisku Linux, musimy skonfigurować Linuksa przy użyciu ssh(Bezpieczna powłoka). Wykonaj poniższe czynności, aby skonfigurować środowisko Linux.

Tworzenie użytkownika

Przede wszystkim zaleca się utworzenie oddzielnego użytkownika dla Hadoop w celu odizolowania systemu plików Hadoop od systemu plików Unix. Wykonaj poniższe czynności, aby utworzyć użytkownika.

  • Otwórz root za pomocą polecenia „su”.
  • Utwórz użytkownika z konta root za pomocą polecenia „useradd username”.
  • Teraz możesz otworzyć istniejące konto użytkownika za pomocą polecenia „su nazwa użytkownika”.

Otwórz terminal Linux i wpisz następujące polecenia, aby utworzyć użytkownika.

$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

Konfiguracja SSH i generowanie klucza

Konfiguracja SSH jest wymagana do wykonywania różnych operacji w klastrze, takich jak uruchamianie, zatrzymywanie i rozproszone operacje powłoki demona. Aby uwierzytelnić różnych użytkowników Hadoop, wymagane jest podanie pary kluczy publiczny / prywatny dla użytkownika Hadoop i udostępnienie go różnym użytkownikom.

Poniższe polecenia służą do generowania pary klucz-wartość przy użyciu protokołu SSH. Skopiuj klucze publiczne z formularza id_rsa.pub do Authorized_keys i zapewnij właścicielowi, odpowiednio, uprawnienia do odczytu i zapisu w pliku allowed_keys.

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

Sprawdź ssh

ssh localhost

Instalowanie Java

Java jest głównym wymaganiem wstępnym dla Hadoop i HBase. Przede wszystkim powinieneś zweryfikować istnienie javy w twoim systemie używając “java -version”. Poniżej podano składnię polecenia wersji java.

$ java -version

Jeśli wszystko działa dobrze, otrzymasz następujący wynik.

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)

Jeśli java nie jest zainstalowana w twoim systemie, wykonaj poniższe kroki, aby zainstalować java.

Krok 1

Pobierz java (JDK <najnowsza wersja> - X64.tar.gz), odwiedzając poniższy link Oracle Java .

Następnie jdk-7u71-linux-x64.tar.gz zostaną pobrane do twojego systemu.

Krok 2

Pobrany plik java znajdziesz zazwyczaj w folderze Pobrane. Sprawdź go i wyodrębnij plikjdk-7u71-linux-x64.gz plik za pomocą następujących poleceń.

$ 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

Krok 3

Aby udostępnić Javę wszystkim użytkownikom, musisz przenieść ją do lokalizacji „/ usr / local /”. Otwórz root i wpisz następujące polecenia.

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

Krok 4

Do konfiguracji PATH i JAVA_HOME zmienne, dodaj następujące polecenia do ~/.bashrc plik.

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH= $PATH:$JAVA_HOME/bin

Teraz zastosuj wszystkie zmiany w aktualnie działającym systemie.

$ source ~/.bashrc

Krok 5

Użyj następujących poleceń, aby skonfigurować alternatywy Java:

# 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

Teraz zweryfikuj java -version polecenie z terminala, jak wyjaśniono powyżej.

Pobieranie Hadoop

Po zainstalowaniu Java, musisz zainstalować Hadoop. Przede wszystkim sprawdź istnienie Hadoop za pomocą polecenia „Wersja Hadoop”, jak pokazano poniżej.

hadoop version

Jeśli wszystko działa dobrze, otrzymasz następujący wynik.

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

Jeśli Twój system nie może zlokalizować Hadoop, pobierz Hadoop w swoim systemie. Aby to zrobić, postępuj zgodnie z poleceniami podanymi poniżej.

Pobierz i wyodrębnij hadoop-2.6.0 z Apache Software Foundation, używając następujących poleceń.

$ 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

Instalowanie Hadoop

Zainstaluj Hadoop w dowolnym wymaganym trybie. Tutaj demonstrujemy funkcjonalności HBase w trybie pseudo rozproszonym, dlatego zainstaluj Hadoop w trybie pseudo rozproszonym.

Podczas instalacji wykonywane są następujące kroki Hadoop 2.4.1.

Krok 1 - Konfiguracja Hadoop

Możesz ustawić zmienne środowiskowe Hadoop, dołączając następujące polecenia do ~/.bashrc plik.

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

Teraz zastosuj wszystkie zmiany w aktualnie działającym systemie.

$ source ~/.bashrc

Krok 2 - Konfiguracja Hadoop

Wszystkie pliki konfiguracyjne Hadoop można znaleźć w lokalizacji „$ HADOOP_HOME / etc / hadoop”. Musisz wprowadzić zmiany w tych plikach konfiguracyjnych zgodnie z infrastrukturą Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Aby tworzyć programy Hadoop w Javie, musisz zresetować zmienną środowiskową Java w hadoop-env.sh plik, zastępując JAVA_HOME wartość wraz z lokalizacją Java w systemie.

export JAVA_HOME=/usr/local/jdk1.7.0_71

Będziesz musiał edytować następujące pliki, aby skonfigurować Hadoop.

core-site.xml

Plik core-site.xml plik zawiera informacje, takie jak numer portu używanego dla wystąpienia Hadoop, pamięć przydzielona dla systemu plików, limit pamięci do przechowywania danych i rozmiar buforów do odczytu / zapisu.

Otwórz plik core-site.xml i dodaj następujące właściwości między tagami <configuration> i </configuration>.

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

hdfs-site.xml

Plik hdfs-site.xml plik zawiera informacje, takie jak wartość danych replikacji, ścieżka nazwy i ścieżki danych lokalnych systemów plików, w których chcesz przechowywać infrastrukturę Hadoop.

Przyjmijmy następujące dane.

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

Otwórz ten plik i dodaj następujące właściwości między tagami <configuration>, </configuration>.

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

Note: W powyższym pliku wszystkie wartości właściwości są zdefiniowane przez użytkownika i można wprowadzać zmiany zgodnie z infrastrukturą Hadoop.

yarn-site.xml

Ten plik służy do konfigurowania przędzy w Hadoop. Otwórz plik yarn-site.xml i dodaj następującą właściwość między <configuration $ gt ;, </ configuration $ gt; tagi w tym pliku.

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

mapred-site.xml

Ten plik jest używany do określenia, której platformy MapReduce używamy. Domyślnie Hadoop zawiera szablon yarn-site.xml. Przede wszystkim należy skopiować plik zmapred-site.xml.template do mapred-site.xml plik za pomocą następującego polecenia.

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

otwarty mapred-site.xml file i dodaj następujące właściwości między tagami <configuration> i </configuration>.

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

Weryfikacja instalacji Hadoop

Poniższe kroki służą do weryfikacji instalacji Hadoop.

Krok 1 - Konfiguracja nazwy węzła

Skonfiguruj namenode za pomocą polecenia „hdfs namenode -format” w następujący sposób.

$ cd ~
$ hdfs namenode -format

Oczekiwany wynik jest następujący.

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
************************************************************/

Krok 2 - Weryfikacja plików dfs na platformie Hadoop

Następujące polecenie służy do uruchamiania dfs. Wykonanie tego polecenia spowoduje uruchomienie systemu plików Hadoop.

$ start-dfs.sh

Oczekiwany wynik jest następujący.

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]

Krok 3 - weryfikacja skryptu przędzy

Następujące polecenie służy do uruchamiania skryptu przędzy. Wykonanie tego polecenia spowoduje uruchomienie demonów przędzy.

$ start-yarn.sh

Oczekiwany wynik jest następujący.

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

Krok 4 - Dostęp do Hadoop w przeglądarce

Domyślny numer portu dostępu do Hadoop to 50070. Użyj następującego adresu URL, aby pobrać usługi Hadoop w przeglądarce.

http://localhost:50070

Krok 5 - Sprawdź wszystkie aplikacje klastra

Domyślny numer portu dostępu do wszystkich aplikacji klastra to 8088. Aby odwiedzić tę usługę, użyj następującego adresu URL.

http://localhost:8088/

Instalowanie HBase

Możemy zainstalować HBase w dowolnym z trzech trybów: trybie autonomicznym, trybie pseudo rozproszonym i trybie pełnej dystrybucji.

Instalowanie HBase w trybie autonomicznym

Pobierz najnowszą stabilną wersję formularza HBase http://www.interior-dsgn.com/apache/hbase/stable/używając polecenia „wget” i wyodrębnij go za pomocą polecenia tar „zxvf”. Zobacz następujące polecenie.

$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

Przejdź do trybu superużytkownika i przenieś folder HBase do / usr / local, jak pokazano poniżej.

$su
$password: enter your password here
mv hbase-0.99.1/* Hbase/

Konfigurowanie HBase w trybie autonomicznym

Przed kontynuowaniem z HBase, musisz edytować następujące pliki i skonfigurować HBase.

hbase-env.sh

Ustaw java Home dla HBase i otwórz hbase-env.shplik z folderu conf. Edytuj zmienną środowiskową JAVA_HOME i zmień istniejącą ścieżkę do bieżącej zmiennej JAVA_HOME, jak pokazano poniżej.

cd /usr/local/Hbase/conf
gedit hbase-env.sh

Spowoduje to otwarcie pliku env.sh HBase. Teraz zamień istniejąceJAVA_HOME wartość z aktualną wartością, jak pokazano poniżej.

export JAVA_HOME=/usr/lib/jvm/java-1.7.0

hbase-site.xml

To jest główny plik konfiguracyjny HBase. Ustaw katalog danych w odpowiedniej lokalizacji, otwierając folder macierzysty HBase w / usr / local / HBase. W folderze conf znajdziesz kilka plików, otwórz plikhbase-site.xml plik, jak pokazano poniżej.

#cd /usr/local/HBase/
#cd conf
# gedit hbase-site.xml

W środku hbase-site.xmlpliku, znajdziesz tagi <configuration> i </configuration>. W nich ustaw katalog HBase pod kluczem właściwości o nazwie „hbase.rootdir”, jak pokazano poniżej.

<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>

Dzięki temu część instalacji i konfiguracji HBase została pomyślnie zakończona. Możemy uruchomić HBase za pomocąstart-hbase.shskrypt znajdujący się w folderze bin HBase. W tym celu otwórz folder domowy HBase i uruchom skrypt startowy HBase, jak pokazano poniżej.

$cd /usr/local/HBase/bin
$./start-hbase.sh

Jeśli wszystko pójdzie dobrze, przy próbie uruchomienia skryptu startowego HBase pojawi się komunikat informujący, że HBase został uruchomiony.

starting master, logging to /usr/local/HBase/bin/../logs/hbase-tpmaster-localhost.localdomain.out

Instalowanie HBase w trybie pseudo-rozproszonym

Sprawdźmy teraz, jak HBase jest instalowana w trybie pseudo-rozproszonym.

Konfigurowanie HBase

Przed kontynuowaniem z HBase skonfiguruj Hadoop i HDFS w systemie lokalnym lub zdalnym i upewnij się, że są uruchomione. Zatrzymaj HBase, jeśli jest uruchomiona.

hbase-site.xml

Edytuj plik hbase-site.xml, aby dodać następujące właściwości.

<property>
   <name>hbase.cluster.distributed</name>
   <value>true</value>
</property>

Wspomni w którym trybie należy uruchomić HBase. W tym samym pliku z lokalnego systemu plików zmień hbase.rootdir, adres instancji HDFS, używając składni hdfs: //// URI. Używamy HDFS na lokalnym hoście na porcie 8030.

<property>
   <name>hbase.rootdir</name>
   <value>hdfs://localhost:8030/hbase</value>
</property>

Uruchamianie HBase

Po zakończeniu konfiguracji przejdź do folderu domowego HBase i uruchom HBase za pomocą następującego polecenia.

$cd /usr/local/HBase
$bin/start-hbase.sh

Note: Przed uruchomieniem HBase upewnij się, że Hadoop jest uruchomiony.

Sprawdzanie katalogu HBase w HDFS

HBase tworzy swój katalog w HDFS. Aby wyświetlić utworzony katalog, przejdź do bin Hadoop i wpisz następujące polecenie.

$ ./bin/hadoop fs -ls /hbase

Jeśli wszystko pójdzie dobrze, otrzymasz następujący wynik.

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

Uruchamianie i zatrzymywanie mistrza

Korzystając z „local-master-backup.sh” możesz uruchomić do 10 serwerów. Otwórz folder domowy HBase, master i wykonaj następujące polecenie, aby go uruchomić.

$ ./bin/local-master-backup.sh 2 4

Aby zabić mastera kopii zapasowej, potrzebujesz jego identyfikatora procesu, który zostanie zapisany w pliku o nazwie “/tmp/hbase-USER-X-master.pid.” możesz zabić master kopii zapasowej za pomocą następującego polecenia.

$ cat /tmp/hbase-user-1-master.pid |xargs kill -9

Uruchamianie i zatrzymywanie serwerów RegionServers

Możesz uruchomić wiele serwerów regionalnych z jednego systemu za pomocą następującego polecenia.

$ .bin/local-regionservers.sh start 2 3

Aby zatrzymać serwer regionu, użyj następującego polecenia.

$ .bin/local-regionservers.sh stop 3

 

Uruchamianie HBaseShell

Po pomyślnym zainstalowaniu HBase możesz uruchomić HBase Shell. Poniżej podano sekwencję kroków, które należy wykonać, aby uruchomić powłokę HBase. Otwórz terminal i zaloguj się jako superużytkownik.

Uruchom system plików Hadoop

Przejrzyj katalog domowy sbin Hadoop i uruchom system plików Hadoop, jak pokazano poniżej.

$cd $HADOOP_HOME/sbin
$start-all.sh

Uruchom HBase

Przejrzyj folder bin katalogu głównego HBase i uruchom HBase.

$cd /usr/local/HBase
$./bin/start-hbase.sh

Uruchom serwer główny HBase

To będzie ten sam katalog. Uruchom go, jak pokazano poniżej.

$./bin/local-master-backup.sh start 2 (number signifies specific
server.)

Region początkowy

Uruchom serwer regionalny, jak pokazano poniżej.

$./bin/./local-regionservers.sh start 3

Uruchom HBase Shell

Możesz uruchomić powłokę HBase za pomocą następującego polecenia.

$cd bin
$./hbase shell

Spowoduje to wyświetlenie monitu powłoki HBase, jak pokazano poniżej.

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>

Interfejs sieciowy HBase

Aby uzyskać dostęp do interfejsu internetowego HBase, wpisz następujący adres URL w przeglądarce.

http://localhost:60010

Ten interfejs zawiera listę aktualnie uruchomionych serwerów regionu, kopii zapasowych głównych i tabel HBase.

Serwery HBase Region i Backup Masters

Tabele HBase

Ustawianie środowiska Java

Możemy również komunikować się z HBase za pomocą bibliotek Java, ale przed uzyskaniem dostępu do HBase za pomocą Java API należy ustawić ścieżkę klas dla tych bibliotek.

Ustawianie ścieżki klas

Przed przystąpieniem do programowania ustaw ścieżkę klasy na biblioteki HBase w .bashrcplik. otwarty.bashrc w dowolnym z edytorów, jak pokazano poniżej.

$ gedit ~/.bashrc

Ustaw w nim ścieżkę klasy dla bibliotek HBase (folder lib w HBase), jak pokazano poniżej.

export CLASSPATH = $CLASSPATH://home/hadoop/hbase/lib/*

Ma to zapobiec wystąpieniu wyjątku „nie znaleziono klasy” podczas uzyskiwania dostępu do bazy danych HBase przy użyciu interfejsu API języka Java.