Susret sa Hadoop-om

Prvi put sam čuo za Hadoop pre oko šest meseci na jednoj konferenciji. Nisam imao pojma šta je, niti čemu služi. Predavač je govorio o tome kako se Hadoop koristi za BigData i kako je jako moćan. Napomenuo je i: “Ako želite nešto ozbiljno da radite u IT-u, krenite ovo. Hadoop je nova tehnologija, nije još iskorišćena. Batalite Cloud tehnologije, mnogi to rade.”. Pitao sam se o čemu priča. Kako sam uvek bio znatiželjan, po završetku predavanja googlao sam o Hadoop-u. Na prvi pogled mi ništa nije bilo jasno, ali evo danas mogu da se pohvalim nekim srednjim teorijskim i početnim praktičnim iskustvom. U ovu avanturu sam se upustio sa nekoliko prijatelja.

hadoop

Hadoop

Rešio sam da počnem da pišem ovaj blog kako bih prebližio Hadoop tehnologiju zaintersovanima iz Srbije i regiona. Nadam se da će nekog zainteresovati ova tema kako bi se stvorila i zajednica koja bi doprinela lakšem učenju i primeni ove tehnologije. Potrudiću se da opišem neka lična iskustva, jer trenutno imam priliku da testiram Hadoop i sve što ide uz njega. Moram priznati da nije jednostavno raditi nešto novo, ali je jako interesantno. Zamislite samo kako je tražiti rešenje nekog problema preko googla i ne naći ga! Tada vam jedino preostaje da postavite pitanje i nadate se odgovoru ili da potpuno sami smislite rešenje.

Ukratko rečeno Hadoop je open-source software framework Apache fondacije. Služi za skladištenje i procesiranje velikih količina podataka. Kada kažem velike količine, mislim na više TB (terabytes), a možda je bolje reći i PB (petabytes). U današnje vreme sve je više podataka i sve se vrti oko toga da se iz podataka izvuku informacije, da se upotrebe i da se stekne profit. Zamislite kako Facebook i Twitter obrađuju podatke, zamislite koliko je kompleksno to uraditi, a da pritom to treba uraditi što brže da bi pobedili konkurenciju.

Hadoop je nastao 2005. godine od strane Doug Cutting i Mike Cafarella. Ime je dobio po slonu, igrački Cutting-ovog sina. Napisan je u Java programskom jeziku. Može se reći da su najbitniji elementi Hadoop-a njegov fajl sistem HDFS (Hadoop Distributed File System), MapReduce model i YARN platforme o kojima ću kasnije detaljnije pisati. Naravno moram da napomenem da Hadoop kao sam nije toliko moćan. Postoje razni Apache projekti koji se dodaju na Hadoop i svi zajedno čine Hadoop ecosystem. U ovoj fazi izučavanja Hadoop-a najviše sam se upoznao sa Pig-om (Apache Pig), Hive-om, HCatalog-om, HBase-om i Sqoop-om. Naravno na putu sam da se upoznam i sa Flume-om, ZooKeeper-om i Oozie-om, tako da ću ubuduće pisati o svim Apache projektima vezanim za Hadoop. Posebno moram da istaknem Ambari, koji služi za upravljanje Hadoop klasterima, a može da posluži i za instalaciju Hadoop-a. Naravno tu je i Hue koji predstavlja neku vrstu web GUI-a za Hadoop ecosystem.

 hadoop

Danas postoje firme koje nude Hadoop okruženja, odnosno nude paket alata i programa koji služe da se lakše instalira Hadoop i ostali alati. Najpoznatiji su Hortonworks, Cloudera, MapR…. Lično koristim Hortonworks HDP jer je open-source i besplatan je.

Uskoro ću detaljno opisati svaki deo Hadoop ekosistema i potrudiću se da ne odem samo u teoriju nego da pokažem i primere, kao i neka svoja iskustva.