Socialabel

Showing posts with label Hadoop. Show all posts
Showing posts with label Hadoop. Show all posts

Saturday, October 19, 2013

Install Hadoop Pada Kluster Komputer


Untuk Instalasi Hadoop pada kluster dilakukan pada sistem operasi Linux OpenSuse 12.3. Software-software supporter yang diperlukan untuk instalasi Hadoop adalah
1. Java (JRE/JDK)
2. Framework Hadoop (Hadoop 1.2.0)
3. SSH

[Lakukan Pada semua host]
[Master/Node1/Node2/Node3/Node4].

Tahapan pertama silahkan konfigurasi jaringan, pastikan semua host sudah saling terhubung, silahkan gunakan aplikasi ping sebagai tester. jika ada respon dari host tujuan tahap pertama selesai, jika tidak silahkan cek konfigurasi fisik dan logik serta firewall.

Asumsi network yang saya gunakan adalah 192.168.10.0/24 dengan rincian sebagai berikut
 1. master : 192.168.10.2/24  
 2. node1  : 192.168.10.10/24  
 3. node2  : 192.168.10.11/24  
 4. node3  : 192.168.10.12/24  
 5. node4  : 192.168.10.13/24  


Silahkan edit file hosts (root level) pada masing-masing host dengan kriteria sebagai berikut:
 master:/home/Hery # vim /etc/hosts  
 ########### /etc/hosts #############  
 192.168.10.1  master  
 192.168.10.10 node1  
 192.168.10.11 node2  
 192.168.10.12 node3  
 192.168.10.13 node4  

Jika sudah reboot semua komputer master hingga node4, agar konfigurasi hosts file dapat diload kembali.

Friday, October 18, 2013

Hadoop Mode

Dalam pengoperasian sebuah engine hadoop ada beberapa mode yang dapat digunakan untuk memeksplorasi kemampuan dari tools tersebut. Secara umum ada 2 mode yaitu local dan distributed. Namun banyak yang berpendapat dengan membagi mode tersebut menjadi 3 dimana terdapat metode tambahan yang merupakan middle dari 2 metode dasar.

1. Standalone (local) mode:
Mode ini adalah default ketika hadoop pertama kali di ekstrak dan dijalankan tanpa melakukan konfigurasi apapun. FNameNode, DataNode, JobTracker dan TaskTracker berjalan pada proses tunggal file java yang diekseskusi.

2. Pseudo-distributed (middle) mode:
Mode ini adalah mode dimana hadoop telah dilakukan konfigurasi dengan menerapkan beberapa opsi namun tetap menggunakan single host dengan menerapkan mini cluster.

3. Fully distributed mode :
Mode ini adalah mode dimana hadoop berinsteraksi dengan banyak host dalam memproses data, dengan menggunakan JobTracker dan TaskTracker yang berjalan dibanyak komputer.

Saturday, October 5, 2013

Set Multiple Inputs Hadoop Map Job

Pada mapreduce job disedikan 2 metode untuk memberikan inputan kepada program map, yaitu single input dan multiple input. Single input digunakan ketika sebuah program hanya membutuhkan 1 inputan baik itu folder/file. Sedangkan multiple input adalah program disetting menerima beberapa folder/file dalam prosesnya.

Dasar Input path pada Hadoop Map Job
Example Single input:
 FileInputFormat.addInputPath(job, InputPath);  

Multiple Input File/Folder pada Hadoop Map Job
Example Multiple Input:
 Path masukanPertama = new Path(args[1]);  
 Path masukanKedua = new Path(args[2]);  
 Path keluaran = new Path(args[3]);  
 MultipleInputs.addInputPath(job, masukanPertama, TextInputFormat.class, Mapper1.class);  
 MultipleInputs.addInputPath(job, masukanKedua, TextInputFormat.class, Mapper2.class);  
 FileOutputFormat.setOutputPath(job, keluaran);  

Saturday, August 24, 2013

Java Show List Directory Hadoop HDFS

Untuk melihat isi dari sebuah direktori padah HDFS dapat digunakan listen program sbg berikut

 package hery.its.tesis.bigdata.ls;  
   
 import org.apache.hadoop.fs.*;  
 import org.apache.hadoop.conf.*;  
   
 public class liatDirektori{  
     public static void main (String [] args) throws Exception  
     {      
            //Membuat Koneksi ke HDFS  
            Configuration konfigurasi = new Configuration();  
            konfigurasi.set("fs.default.name","hdfs://master:54310/");  
            FileSystem dfs = FileSystem.get(konfigurasi);  
            
            //list direktori HDFS
            FileStatus[] status = dfs.listStatus(new Path("/user/hduser/"));                     
            for(int i=0;i<status.length;i++)
            {
                  System.out.println(status[i].getPath());            
            } 
     }  
 }  

yang terpenting adalah remote HDFS sesuaikann dengan port pada node master masing-masing

Java Code Hadoop Copy File dari HDFS ke Local Hardisk

Lanjutan dari HDFS yang berhubungan dengan sistem berkas, coding dibawah ini merupakan listen java yang berfungsi untuk mengkopi file dari HDFS ke lokal hardisk

 package hery.its.tesis.bigdata.copytolokal;  
   
 import org.apache.hadoop.fs.*;  
 import org.apache.hadoop.conf.*;  
   
 public class CopyHadoop2{  
     public static void main (String [] args) throws Exception  
     {      
            //Membuat Koneksi ke HDFS  
            Configuration konfigurasi = new Configuration();  
            konfigurasi.set("fs.default.name","hdfs://master:54310/");  
            FileSystem dfs = FileSystem.get(konfigurasi);  
              
            //Salin file dari HDFS ke Local Hardisk
            Path src = new Path(dfs.getWorkingDirectory()+"/a");
            Path dst = new Path("/tmp/tmp/a.lokal");
            dfs.copyToLocalFile(src, dst);
            System.out.println("Mengkopi file HDFS "+src+" Ke "+dst);
     }  
 }  

yang terpenting adalah remote HDFS sesuaikann dengan port pada node master masing-masing

Java Hadoop Copy File Local Hardisk ke HDFS

Lanjutan dari HDFS yang berhubungan dengan sistem berkas, coding dibawah ini merupakan listen java yang berfungsi untuk mengkopi file dari  lokal hardisk ke HDFS

 package hery.its.tesis.bigdata.copytohdfs;  
   
 import org.apache.hadoop.fs.*;  
 import org.apache.hadoop.conf.*;  
   
 public class CopyHadoop{  
     public static void main (String [] args) throws Exception  
     {      
            //Membuat Koneksi ke HDFS  
            Configuration konfigurasi = new Configuration();  
            konfigurasi.set("fs.default.name","hdfs://master:54310/");  
            FileSystem dfs = FileSystem.get(konfigurasi);  
              
            //Salin file dari LocaHardsik ke HDFS
            Path src = new Path("/windows/D/UNIVERSITAS/a");
            Path dst = new Path(dfs.getWorkingDirectory()+"/");
            dfs.copyFromLocalFile(src, dst);
            System.out.println("Mengkopi file Local "+src+" Ke " +dst);
                
     }  
 }  

yang terpenting adalah remote HDFS sesuaikann dengan port pada node master masing-masing

Code Delete Directory atau File HDFS

Menyambung tulisan sebelumnya yang membuat Direktori pada HDFS, kali ini adalah code untuk menghapus direktori atau file pada HDFS.

 package hery.its.tesis.bigdata.deldir;  
   
 import org.apache.hadoop.fs.*;  
 import org.apache.hadoop.conf.*;  
   
 public class HapusDirektori{  
     public static void main (String [] args) throws Exception  
     {      
            //Membuat Koneksi ke HDFS  
            Configuration konfigurasi = new Configuration();  
            konfigurasi.set("fs.default.name","hdfs://master:54310/");  
            FileSystem dfs = FileSystem.get(konfigurasi);  
              
            //Hapus Direktori/File di FDHS
            String dirName = "sip";
            Path src = new Path(dfs.getWorkingDirectory()+"/"+dirName);
            dfs.delete(src);
            System.out.println("Contoh Menghapus File "+src+dirName);           
     }  
 }  

yang terpenting adalah remote HDFS sesuaikann dengan port pada node master masing-masing

Create Directory HDFS Hadoop

Salah satu elemen penting dalam HDFS adalah file dan direktori, ya karena isi dari HDFS kalau ngak file dan direktori apa lagi hayo :)

berikut adalah code java untuk membuat direktori pada hadoop file system, sesuaikan dengan konfigurasi pada hadoop config pada namenode masbro masing-masing

 package hery.its.tesis.bigdata.makedir;  
   
 import org.apache.hadoop.fs.*;  
 import org.apache.hadoop.conf.*;  
   
 public class BuatDirektori{  
     public static void main (String [] args) throws Exception  
     {      
            //Membuat Koneksi ke HDFS  
            Configuration konfigurasi = new Configuration();  
            konfigurasi.set("fs.default.name","hdfs://master:54310/");  
            FileSystem dfs = FileSystem.get(konfigurasi);  
              
            //Buat Folder Baru di FDHS  
            System.out.println("Contoh Membuat Direktori");  
            String namaDirektori = "DirektoriBaru";  
            Path sumber = new Path(dfs.getWorkingDirectory()+"/"+ namaDirektori);  
            dfs.mkdirs(sumber);             
            
            System.out.println("Direktori "+namaDirektori+" Berhasil " + dfs.getWorkingDirectory());
     }  
 }  

yang terpenting adalah remote HDFS sesuaikann dengan port pada node master masing-masing

Tuesday, July 23, 2013

[X] SafeMode Hadoop Leave

Runs a HDFS dfsadmin client.
Usage: hadoop dfsadmin [GENERIC_OPTIONS] [-report] [-safemode enter | leave | get | wait] [-refreshNodes] [-finalizeUpgrade] [-upgradeProgress status | details | force] [-metasave filename] [-setQuota <quota> <dirname>...<dirname>] [-clrQuota <dirname>...<dirname>] [-help [cmd]]

ex:
hadoop dfsadmin -safemode leave