• Tidak ada hasil yang ditemukan

APLIKASI PEMBACA GEMPA PADA HADOOP PROGR

N/A
N/A
Protected

Academic year: 2018

Membagikan "APLIKASI PEMBACA GEMPA PADA HADOOP PROGR"

Copied!
16
0
0

Teks penuh

(1)

APLIKASI PEMBACA GEMPA PADA HADOOP

Oleh :

Dedi Tiarno 105090607111037

Alex Sandro I. 105090600111053

S. johansyah I. 105090600111037

PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER

UNIVERSITAS BRAWIJAYA

MALANG

(2)

BAB I PENDAHULUAN

1.1.Latar Belakang

Hadoop adalah sebuah framework opensource untuk menuliskan dan menjalankan aplikasi terdistribusi yang memproses data dalam jumlah yang besar dan terdistribusi dalam suatu cluster komputer. Cluster dalam hal ini adalah sekumpulan sejumlah komputer yang terhubung dalam sebuah jaringan. Framework Hadoop terdiri dari dua buah komponen utama untuk menyelesaikan kedua permasalahan yang disebutkan pada paragraf sebelumnya, yaitu HDFS (Hadoop Distributed File System) dan MapReduce. HDFS adalah sebuah file system terdistribusi untuk menyimpan data dalam jumlah besar secara terdistribusi dalam suatu cluster komputer.

Gempa bumi adalah getaran atau guncangan yang terjadi di permukaan bumi akibat pelepasan energi dari dalam secara tiba-tiba yang menciptakan gelombang seismik. Gempa Bumi biasa disebabkan oleh pergerakan kerak Bumi (lempeng Bumi). Frekuensi suatu wilayah, mengacu pada jenis dan ukuran gempa Bumi yang di alami selama periode waktu. Gempa Bumi diukur dengan menggunakan alat Seismometer. Moment magnitudo adalah skala yang paling umum di mana gempa Bumi terjadi untuk seluruh dunia.

Sehubungan dengan hal diatas, kami menawarkan project pembuatan Aplikasi Pembaca Gempa Pada Hadoop yang dapat digunakkan untuk kalkulasi gempa tersebut.

1.2.Rumusan Masalah

Aplikasi di buat untuk mempercepat proses pengambilan data gempa pada berbagai region dengan lebih efisien,Aplikasi ini dibangun dengan :

 Bahasa pemrograman java

 Environment hadoop

1.3.Batasan Masalah

Adapun batasan masalah dari pembuatan aplikasi ini adalah :

 Tidak memprediksi gempa susulan

(3)

1.4.Ruang Lingkup Proyek Sistem

Adapun ruang lingkup dari pembuatan aplikasi ini adalah :

 Menganalisa tiap data gempa yang di inputkan

 Mencari data gempa max pada tiap region

1.5.Manfaat Pengembangan Sistem

Adapun manfaat dari pembuatan aplikasi ini adalah :

 Dapat melakukan kalkulasi gempa secara cepat

 Dapat menangani big data

1.6.Tujuan Pengembangan Sistem

Adapun tujuan dari pembuatan aplikasi ini adalah :

 Mempercepat proses kalkulasi data gempa

(4)

BAB II IMPLEMENTASI

2.1.Implementasi

Requirement Multinode Hadoop :

1. Dua operating System Linux Ubuntu 12.04 (master dan slave)

2. Hadoop

3. Java versi 6

Sebelum melakukan Instalasi pada masing-masing operating system konfigurasi terlebih dahulu masing-masing host pada master dan slave yang letaknya di diriktori /etc/hosts seperti dibawah ini:

192.168.0.2 Master 192.168.0.2 Slave

Hadoop membutuhkan aplikasi Java, karena java tidak satu paket dengan Ubuntu maka agar hadoop bisa dijalankan di Ubuntu harus di install dahulu paket java di Ubuntu dengan perintah.

# Add the Ferramosca Roberto's repository to your apt repositories

# See https://launchpad.net/~ferramroberto/ #

$ sudo apt-get install python-software-properties $ sudo add-apt-repository ppa:ferramroberto/java

# Update the source list $ sudo apt-get update

# Install Sun Java 6 JDK

$ sudo apt-get install sun-java6-jdk

# Select Sun's Java as the default on your machine.

# See 'sudo update-alternatives --config java' for more information.

#

$ sudo update-java-alternatives -s java-6-sun

kemudian cek versi java untuk memastikan java telah terinstall di Ubuntu dengan perintah $ java-version kemudian untuk melihat paket java yang di install lihat di /usr/lib/jvm/

Menambahkan User sistem pada master dan slave yang nantinya dijadikan sebagai tempat kerja hadoop. Tambahkan Group hadoop dengan perintah $ addgroup

hadoop dan $ adduser –ingroup hadoouser hadoop Kemudian masukkan

(5)

Setelah itu Konfigurasi SSH pada master dan slave, Hadoop memerlukan protocol SSH untuk mengelola Node-nya, SSH di sini dibuat untuk mengakses host melalui remote jaringan dan ke user yang telah di buat. Pertama instalasi terlebih dahulu paket SSH Server di system dengan perintah

$ sudo apt-get install openssh-server

Selesaikan proses instalasi SSH, kemudian masuk ke dalam user hadoop untuk membuat konfigurasi SSH $ su –hadoopuser Perintah ini akan melakukan login ke dalam user hadoop dari user yang sebelumnya digunakan. kemudian buat sertifikasi SSH dari user hadoop dengan perintah $ ssh-keygen –t rsa –P “” Kemudian salin sertifikasi atau kunci yang baru saja di buat ke dalam authorized key

$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoopuser@slave

Kemudian langkah terakhir adalah mendaftarkan sertifikasi SSH ke dalam

server yang secara otomatis akan ditambahkan pada file known_hosts. Apabila sudah terdaftar pada file maka lakukan pengetesan koneksi dari master to master atau dari master to slave dengan perintah ssh master , ssh slave Apabila berhasil SSH akan masukkan kunci yang disebut RSA key dan akan diminta konfirmasi untuk mengijinkan atau tidak, Tuliskan “YES” lalu ENTER untuk melanjutkan prosesnya.

Kemudian Nonaktifkan IPV6 pada master dan slave karena hadoop tidak memerlukan Ipv6. Alasan lain hadoop tidak memerlukan IPV6 dikarenakan hadoop menggunakan IPV4 yaitu 0.0.0.0 dan jika IPV6 tidak di nonaktifkan di kawatirkan akan mengganggu system hadoop. Untuk mematikan IPV6 masuk ke diriktori /etc/sysctl.conf kemudian tambahkan baris

# disable ipv6

net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1

kemudian reboot masing masing hosts agar konfigurasi diatas dapat menimbulkan efek, setelah itu cek ipv6 dengan perintah seperti dibawah ini

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Jika keluar nilai 0 maka IPV6 masih hidup maka coba ulangi langkah-langkah di atas namun jika keluar nilai 1 maka IPV6 sudah mati.

Kemudian Install hadoop di master dan slave, sebelum melakukan instalasi download terlebih dahulu hadoop, versi hadoop yang digunakan dalam percobaan ini adalah hadoop 1.03. Masuk ke direktori /usr/local untuk menginstall hadoop. Setelah download selesai extrak file hadoop dan ubah nama dan permission agar bisa di akses oleh user yang di buat yaitu user hadoopuser, untuk perintahnya seperti dibawah ini.

$ cd /usr/local

(6)

$ sudochown -R hduser:hadoophadoop

Ada beberapa hal yang harus dikonfigurasi dalam hadoop salah satunya adalah hadoop-env.sh yang tujuannya menentukan letak file java yang telah di instalasi. Buka file di direktori /usr/local/hadoop/conf/hadoop-env.sh

# The java implementation to use. Required. exportJAVA_HOME=/usr/lib/jvm/java-6-sun  Konfigurasi Master

Konfigurasi conf/master untuk mendefinisikan namenode dan Jobtracker yang akan selalu bin/start-dfs.sh and bin/start-mapred.sh hadoop. Update

conf/master dengan master (nama host yang di jadikan master).

Konfigurasi conf/slave berkas daftar host, satu per baris, di mana daemon slave Hadoop (DataNodes dan TaskTrackers) akan dijalankan. Master dan slave bertindak sebagai Hadoop slave karena untuk menyimpan dan mengolah data maka pada direktori conf/slave update dengan

master slave

atau sesuaikan dengan nama-nama host yang dijadikan node.

Konfigurasi Master dan Slave

 Konfigurasi file conf/core-site.xml Seperti di bawah ini.

o <property>

o <name>fs.default.name</name>

o <value>hdfs://master:54310</value>

o <description>The name of the default file system. A

URI whose

o scheme and authority determine the FileSystem

implementation. The

o uri's scheme determines the config property

(fs.SCHEME.impl) naming

o theFileSystem implementation class. The uri's

authority is used to

o determine the host, port, etc. for a

filesystem.</description> o </property>

 Konfigurasi file conf/mapred-site.xml Seperti di bawah ini.

o <property>

o <name>mapred.job.tracker</name> o <value>master:54311</value>

o <description>The host and port that the MapReduce

job tracker runs

o at. If "local", then jobs are run in-process as a single map

(7)

o </description> o </property>

 Konfigurasi file conf/hdfs-site.xml dan sesuaikan jumlah node pada value seperti di bawah ini.

o <property>

o <name>dfs.replication</name> o <value>2</value>

o <description>Default block replication.

o The actual number of replications can be specified

when the file is created.

o The default is used if replication is not

specified in create time. o </description>

o </property>

Langkah awal untuk mulai menggunakan hadoop adalah melakukan format name node dari hadoop file system yang telah tertanam pada filesystem. Berikut format yang digunakan untuk melakukan format namenode cluster.

hduser@master:/usr/local/hadoop$ bin/hadoopnamenode –format

Tunggu beberapa saat hingga perintah berjalan sukses.

Menjalankan Multinode dengan perintah dfs.sh dan bin/start-mapred.sh kemudian hasil dari master

(8)

2.2. Keterangan Program Java Class app.java

package com.umermansoor;

import org.apache.hadoop.fs.Path;

public static void main(String[] args) throws Exception { if (args.length != 2) {

System.err.println("Usage: hadoopex <input path> <output path>"); System.exit(-1);

}

Job job = new Job();

job.setJarByClass(App.class);

job.setJobName("Earthquake Measurment");

FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1]));

job.setMapperClass(EarthquakeMapper.class); job.setReducerClass(EarthquakeReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(DoubleWritable.class);

System.exit(job.waitForCompletion(true) ? 0 : 1); }

}

(9)

Class EarthquakeMapper.java

package com.umermansoor;

import org.apache.hadoop.io.DoubleWritable;

* @author umermansoor */

public class EarthquakeMapper extends

Mapper<LongWritable, Text, Text, DoubleWritable> {

/**

* @param key - Input key - The line offset in the file - ignored. * @param value - Input Value - This is the line itself.

* @param context - Provides access to the OutputCollector and Reporter.

* @throws IOException

* @throws InterruptedException */

@Override

public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {

double outputValue = Double.parseDouble(line[8]);

context.write(new Text(outputKey), new DoubleWritable(outputValue));

(10)

Class EarthquakeMapper ini digunakan untuk menerima input dari file yang digunakan kemudian memecahnya menjadi string kemudian mengestrak line11 dari data tersebut yang berupa nama region dan dijadikan sebagai key output dan mengestrak line 8 dari data yang berupa nilai magnitude dari data dan digunakan sebagai output value.

Class EarthquakeReducer.java

package com.umermansoor;

import org.apache.hadoop.io.DoubleWritable; import org.apache.hadoop.mapreduce.Reducer; import java.io.IOException;

import org.apache.hadoop.io.Text;

public class EarthquakeReducer extends

Reducer<Text, DoubleWritable, Text, DoubleWritable> {

/**

* The `Reducer` function. Iterates through all earthquake magnitudes for a

public void reduce(Text key, Iterable<DoubleWritable> values, Context context) throws IOException, InterruptedException {

context.write(key, new DoubleWritable(maxMagnitude)); }

}

(11)

region yang sama hingga menemukan nilai magnitude tertinggi dari suatu region yang di proses tersebut kemudian berpindah ke region lain dengan proses yang sama. Nam region sebagai output key dan nilai magnitude sebagai output value.

2.3. Pengujian Hadoop

Pengujian Multi node hadoop ini dilakukan pada data gempa yang nantinya akan dihasilkan gempa terbesar dari setiap region menggunakan metode mapreduce dengan java.

Pertama, buat terlebih dahulu direktori unutk menyimpan data gempa dengan perintah seperti di bawah ini.

$mkdir /tmp/input

Masukkan data gempa ke dalam diriktori yang telah di buat. Berikutnya dari file system lokal masukkan data ke dalam file system hadoop yaitu hdfs dengan cara menyalinnya dengan menjalankan perintah seperti di bawah ini.

$bin/hadoop dfs -copyFromLocal /tmp/input /user/hadoopuser/input

Perintah diatas akan menyalin format sistem standar Ubuntu menjadi format hadoop dengan menggunakan opsi dfs. Hasilnya dapat dilihat dengan cara dibawah ini:

$bin/hadoop dfs –ls

(12)

Sebelumnya program mapreduce dijadikan ke bentuk jar dan di letakkan di diriktori

/usc/local/hadoop dengan nama hasoopex-1.0-SNAPSHOT.jar . Perintah dengan membaca semua file pada folder input sebagai diriktori hdfs dan memprosesnya kemudian meletakkan hasilnya pada diriktori hdfs yaitu output.

$bin/hadoop jar hadoopex-1.0-SNAPSHOT.jar com.umermansoor.App /user/hadoopuser/input /user/hadoopuser/output

Tunggu hingga proses sampai selesai dan lihat apakah terjadi eror, dan untuk memastikan kesalahan jalankan perintah seperti di bawah ini.

(13)

Pada hasil output akan terlihat dua buat diriktori input dan output seperti di bawah ini. Lihat kembali isi dari folder output akan terlihat seperti di bawah ini

$bin/hadoop dfs -ls output

u ntuk memeriksa file hasil proses dari hdfs, caranya menyalin file dari filesystem hdfs ke dalam file system lokal menggunakan perintah :

$bin/hadoop dfs -cat gutenberg-output /part-r-00000

untuk membaca file secara langsung tanpa harus melakukan copy dari filesystem lokal, perintah di bawah ini hanya akan melakukan copy file resultnya saja ke dalam file syatem lokal. Pertama buat folder untuk meletakkan file outputnya seperti di bawah ini.

$mkdir /tmp/eartquake-output

$bin/hadoop dfs -getmerge output /tmp/earthquake-output

untuk membaca file output yang dipindahkan ke dalam file system lokal dengan menggunakan perintah di bawah ini.

(14)
(15)

BAB III PENUTUP

3.1.Kesimpulan

(16)

DAFTAR PUSTAKA

https://github.com/umermansoor/hadoop-java-example

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/

Referensi

Dokumen terkait

Orang dengan BB-lebih dan obesitas tidak hanya berisiko terhadap kolesterol tinggi tetapi juga, dalam taraf yang lebih ringan berisiko terhadap nilai

Hasil penelitian ini menunjukkan bahwa gel ekstrak Daun Mangrove Api- api memenuhi parameter kualitas gel secara organoleptik, homogenitas, pH dan tidak memiliki efek

Tujuan dari penelitian ini adalah untuk mengetahui dan menganalisis pengaruh produk domestik regional bruto (PDRB), jumlah penduduk, investasi swasta terhadap realisasi

Dari hasil analisis vegetasi diketahui bahwa tanjeng (Rhizophora lamarkli) mempunyai nilai kerapatan yang paling tinggi dibandingkan jenis pohon mangrove yang

Hasil dari naskah perjanjian kerjasama yang telah ditandatangani oleh Dekan dan pihak terkait, selanjutnya didistribusikan ke Wakil Dekan Bidang Akademik dan Publikasi Ilmiah

Penelitian ini dilakukan untuk mengetahui karakteristik kepala rumah tangga petani petani, komoditas yang paling banyak ditanam pada lahan tegalan dan kontribusi

As a result of this development, quantitative rainfall forecasting, such as numerical weather prediction, becomes as main input in crop simulation, especially for water

1. Siswa memperhatika guru yang sedang menyampaikan tujuan pembelajaran.. dengan melibatkan satuan baku dengan benar dan tepat. Guru meminta siswa membuka buku paket