Socialabel

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

VMware WorkStation Failed to lock the file


Ada kalahnya sebuah projek virtualisasi yang sedang running mengalami poweroff secara paksa, baik dilakukan oleh guest yang bersangkutan ataupun terjadi kecelakaan seperti komputer host yang powernya bermasalah seperti listrik padam tiba-tiba. Dampak dari aktifitas tersebut yang sering saya  dialami adalah virtual hardisk sering terkunci/lock ketika projek tersebut di start kembali sehingga vmware yang dirunning tidak berhasil booting.
Failed to lock the file
Cannot open the disk '/home/Hery/vmware/Hadoop.C1/[X] BigData-cl1.vmdk' or one of the snapshot disk it depends on.



Solusi yang dapat dilakukan adalah masuk ke direktori home vmware, cari direktori tempat menyimpan projek vmware dan remove/rename direktori yang berakhiran .lck.


setelah langkah tersebut dilakukan, semoga virtualisasi dapat dilanjutkan kembali,