• Rezultati Niso Bili Najdeni

2.5 Python in pomembnejˇse knjiˇ znice

3.1.3 Konfiguracija Hadoopa

Omreˇzje

Vsi raˇcunalniki v gruˇci morajo biti prisotni v enakem omreˇzju. Lahko upo-rabimo tudi VPN, vendar to seveda negativno vpliva na konˇcni performans.

Dobra praksa je, da raˇcunalnikom dodelimo statiˇcne IP-naslove tako, da v vsakem trenutku vemo, preko katerega IP-naslova se lahko poveˇzemo do ka-terega raˇcunalnika. Statiˇcni IP lahko dodelimo na DHCP-streˇzniku ali pa na samem raˇcunalniku [27]. Najbolje, da to storimo tako, da se bodo na-stavitve obdrˇzale tudi po ponovnem zagonu naprave, konfiguracijo zapiˇsemo v datoteko “/etc/network/interfaces”. Z ukazoma “ifdown” in “ifup” pa le ugasnemo ter priˇzgemo mreˇzni vmesnik tako, da nemudoma dobimo ˇzelene nastavitve.

Naslednja naloga je, da vse IP-naslove raˇcunalnikov, ki so v gruˇci, zapiˇsemo v datoteko “/etc/hosts” poznanih streˇznikov in jim dodelimo vzdevke.

Listing 3.1: Nastavitev mreˇznega vmesnika eth0 s statiˇcnim IP-naslovom.

a u t o e t h 0

i f a c e e t h 0 i n e t s t a t i c a d d r e s s 1 0 . 8 0 . 1 7 . 1 0 0 n e t m a s k 2 5 5 . 2 5 5 . 2 5 5 . 0 g a t e w a y 1 0 . 8 0 . 1 7 . 2 5 4

Listing 3.2: Ureditev Linuxove ”/etc/hosts”datoteke.

1 0 . 8 0 . 1 7 . 1 0 1 M a s t e r 1 0 . 8 0 . 1 7 . 1 0 2 S l a v e 1 1 0 . 8 0 . 1 7 . 1 0 3 S l a v e 2 ...

20 POGLAVJE 3. RA ˇCUNALNIˇSKA GRU ˇCA

SSH-povezava

Vsi raˇcunalniki v gruˇci morajo imeti SSH-dostop drug do drugega. SSH je okrajˇsava za secure shell protokol, slovensko protokol varovane lupine [27]. S protokolom SSH se lahko poveˇzemo na oddaljeni raˇcunalnik in z njim upra-vljamo. Preden pa uporabnik dobi pravice za upravljanje nad raˇcunalnikom, moramo prestati preverjanje avtentikacije.

Za postavitev okolja za SSH-povezavo sprva generiramo dva RSA-kljuˇca velikosti 2048 bitov, tako dobimo kombinacijo javnega in zasebnega kljuˇca.

Oba shranimo v direktorija z imenom “/home/$USER/.ssh”. Pika pred ime-nom direktorija .ssh ponazarja, da je ta neviden. Direktoriju .ssh moramo dodeliti pravice tako, da lahko le lastnik bere, piˇse in poganja programe v njem. Tako omejimo moˇznost zlorabe kljuˇcev, ki so notri, saj drugi uporab-niki raˇcunalnika nimajo dostopa do njih. Nato javni kljuˇc razpoˇsljemo na vse raˇcunalnike v gruˇci in prepiˇsemo vsebino javnega kljuˇca v tekstovno da-toteko “/home/$USER/.ssh/authorized keys”. Uporabniki, od katerih javne kljuˇce imamo v omenjeni datoteki, imajo nato pravico vzpostavitve SSH-seje z naˇsim raˇcunalnikom brez kakrˇsnega koli gesla. Zaradi potrebe raˇcunalniˇske gruˇce pa morajo imeti raˇcunalniki moˇznost tudi vzpostavitve SSH-seje sami vase.

Poslediˇcno vse zasebne kljuˇce, ki jih bo naˇs raˇcunalnik uporabljal, uvo-zimo v klient. agent je program, ki skrbi za vzpostavitev SSH-protokola do drugih raˇcunalnikov s strani klienta, na strani streˇznika pa moramo imeti program SSH-streˇznik, ki sprejme povezavo. Za nastavitve SSH-klienta ˇzelimo, da so vedno prisotne, zato jih zapiˇsemo v datoteko “/ho-me/$USER/.bashrc”. Vsebina te datoteke se izvrˇsi ob prijavi uporabnika v operacijski sistem, zato vanjo shranimo tudi okoljske (angleˇsko environment spremenljivke) in podobne nastavitve. Na novo zapisane nastavitve v dato-teki ”.bashrcˇzaˇcnejo veljati z novo sejo uporabnika. Roˇcno jih lahko osveˇzimo z ukazom ˇsource .bashrc”. Ali smo vso konfiguracijo pravilno nastavili, lahko preverimo tako, da vzpostavimo SSH-sejo sami s seboj, zato v ukazno lupino vpiˇsemo ukaz “ssh localhost”.

3.1. HADOOP 21

Nameˇsˇcanje Jave in Hadoopa

Omenili smo, da je Hadoop napisan v programskem jeziku Java, zato jo je obvezno tudi namestiti na vsak raˇcunalnik, kjer bomo uporabljali Hadoop.

Javo najhitreje namestimo s privzetim Linuxovim upravljavcem paketov. Ne smemo pa pozabiti zapisati v okoljsko spremenljivko “JAVA HOME” pot do njene binarne datoteke. Uspeˇsnost namestitve preverimo tako, da v lupino zapiˇsemo ukaz “java -version”, ˇce dobimo informativni odziv o verziji Jave, je ta uspeˇsno nameˇsˇcena.

Listing 3.3: Namestitev Jave.

add - apt - r e p o s i t o r y ppa : w e b u p d 8 t e a m / j a v a apt - get u p d a t e

apt - get - y i n s t a l l default - jre default - jdk update - a l t e r n a t i v e s - - c o n f i g j a v a

Ko smo uspeˇsno namestili Javo, lahko iz Apachejevega FTP-streˇznika namestimo kompresirano tgz-datoteko, ki vsebuje Hadoop. Datoteko od-premo in njeno vsebino shranimo v “/usr/local/hadoop”. Vsebino, ki smo jo dobili s FTP-streˇznika, premaknemo v novo ustvarjen direktorij. Ustva-riti pa moramo ˇse dva poddirektorija v ”/usr/local/hadoop”, in sicer ”ha-doop tmp/hdfs/namenode”ter ”ha”ha-doop tmp/hdfs/datanode”. V ta dva pod direktorija bo kasneje Hadoopov daemon kasneje zapisoval zaˇcasne podatke, ki jih Hadoop potrebuje za svoje delovanje. Ob koncu namestitve ˇse shranimo Hadoopovo domaˇco mapo kot okoljsko spremenljivko HADOOP HOME in dodamo v spremenljivko PATH-pot do Hadoopovih binarnih datotek ter skript. S poslednjim ukazom ”hadoop versionˇse prepriˇcamo, da ni priˇslo do nobene napake, ˇce se nam izpiˇsejo informacije o nameˇsˇceni distribuciji Hadoopa.

22 POGLAVJE 3. RA ˇCUNALNIˇSKA GRU ˇCA

Hadoopove konfiguracijske datoteke

Hadoopove konfiguracijske datoteke so privzeto v Hadoopovem domaˇcem di-rektoriju “$HOME HADOOP/etc/hadoop”. Vse naslednje datoteke, ki jih moramo urediti za pravilno delovanje HDFS-ja, so v omenjenem direktoriju in so zapisane v XML-formatu.

Odpremo hadoop-env.sh in notri prepiˇsemo spremenljivko JAVA HOME, ki smo jo ˇze nastavili v domaˇci datoteki ”.bashrc”. Kot ˇze samo ime da-toteke nakazuje, lahko tukaj notri nastavimo vse okoljske spremenljivke, ki jih nato Hadoop uporablja pri svojem izvajanju. Prav tako lahko recimo v spremenljivko HADOOP CONF DIR prepiˇsemo prevzeto pot do konfigura-cijskih datotek.

Naslednja datoteka, ki jo moramo popraviti, je core-site.xml. Notri vsta-vimo podatke o IP-naslovu in vratih, na katerih bo Hadoopov HDFS spreje-mal promet. IP lahko zapiˇsemo s spremenljivko ”Master”, saj bo ta kasneje preslikana v IP-naslov, ki smo ga definirali v datoteki ”hosts”.

Listing 3.4: Ureditev core-site.xml datoteke.

< p r o p e r t y >

< name > fs . d e f a u l t . name </ name >

< value > h d f s :// M a s t e r :9000 </ value >

</ p r o p e r t y >

3.1. HADOOP 23

Zadnja konfiguracijska datoteka, ki jo moramo urediti, jehdfs-site.xml.

Vanjo zapiˇsemo nastavitve, ki se nanaˇsajo na HDFS. Kot prvo nastavitev nastavimo faktor, po katerem nato HDFS replicira podatke po naˇsi gruˇci.

Veˇcji kot je faktor, veˇcja je naˇsa toleranca do napak, vendar moramo v obzir vzeti tudi dejstvo, da se tako veˇca ˇstevilo redundantnih podatkov. Drugi dve lastnosti doloˇcita direktorija, ki ju bosta uporabljala Namenode in Datanode, v njih bo Hadoop shranjeval trajne podatke ter zaˇcasne datoteke. Kot zadnjo nastavitev sem izklopil pregled po lastniˇstvu in pravicami nad ripozitoriji ter datotekami, shranjenimi v HDFS-ju.

Listing 3.5: Ureditev hdfs-site.xml datoteke.

< p r o p e r t y >

< name > dfs . r e p l i c a t i o n </ name >

< value >4 </ value >

</ p r o p e r t y >

< p r o p e r t y >

< name > dfs . n a m e n o d e . n a m e . dir </ name >

< value >

f i l e :/ usr / l o c a l / h a d o o p / h a d o o p _ t m p / h d f s / n a m e n o d e

</ value >

</ p r o p e r t y >

< p r o p e r t y >

< name > dfs . d a t a n o d e . d a t a . dir </ name >

< value >

f i l e :/ usr / l o c a l / h a d o o p / h a d o o p _ t m p / h d f s / d a t a n o d e

</ value >

</ p r o p e r t y >

< p r o p e r t y >

< name > dfs . p e r m i s s i o n s </ name >

< value > false </ value >

</ p r o p e r t y >

24 POGLAVJE 3. RA ˇCUNALNIˇSKA GRU ˇCA