Home

Bywidyawan

Single Cluster Hadoop pada Virtual Box

Tutorial ini menjelaskan instalasi single cluster Hadoop 2.0 di Ubuntu 14.04 diatas VirtualBox pada laptop Mac OS 10.10. Tutorial ini salah satunya diilhami dari artikel ini. Instalasi Hadoop di atas VBox memudahkan pembelajaran, baik single maupun multi node cluster.

VirtualBox dan Java

Konfigurasi Ubuntu dan install Java. Instalasi (lihat disini untuk detail) diperlukan karena pemrograman Map Reduce pada Hadoop terutama menggunakan Java.

  • Login di Ubuntu server dan update paket index
sudo apt-get update
  • Periksa bila java sudah terpasang
java -version
  • Bila belum terpasang, install Java
sudo apt-get install default-jre
  • install java-jdk (untuk kompilasi java application)
sudo apt-get install default-jdk
  • update ‘JAVA_HOME’ environment variable (dibutuhkan oleh beberapa program)
sudo update-alternatives --config java
sudo nano /etc/environment
JAVA_HOME=“/usr/lib/jvm/java-7-openjdk-i386/"
source /etc/environment 
echo $JAVA_HOME

Instalasi Hadoop

  • Unduh Hadoop, salah satunya dari mirror site spt dibawah. Contoh dibawah hadoop diunduh langsung ke Ubuntu.
wget -o http://mirrors.advancedhosters.com/
apache/hadoop/common/stable/hadoop-2.2.0.tar.gz
tar -xvzf archive.tar.gz --owner root --group root --no-same-owner 2>&1 > tar2.log
  • Buat hadoop group dan user (avoid security issue)
sudo addgroup hadoop sudo adduser --ingroup hadoop hduser
sudo su hduser
  • Menghilangkan warning start-dfs.sh
export HADOOP_OPTS="$HADOOP_OPTS -XX:-PrintWarnings -Djava.net.preferIPv4Stack=true"
  • Membuat SSH-certificate
ssh-keygen -t rsa -P

(terms setting default) Identifikasi kita sudah disimpan  /home/hduser/.ssh/id_rsa. Public key tersimpan di /home/hduser/.ssh/id_rsa.pub

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
ssh localhost
  • ubah owner dari file hadoop
cd /usr/local
sudo chown -R hduser:hadoop hadoop
  • Setup environment variable
 
cd ~
nano .bashrc

Copikan di akhir file

###Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
###end of paste
  • buat directory untuk data
cd~
mkdir -p mydata/hdfs/namenode
mkdir -p mydata/hdfs/datanode

Konfigurasi Hadoop

  • Update JAVA_HOME
cd /usr/local/hadoop/etc/hadoop
nano hadoop-env.sh
export JAVA_HOME=${JAVA_HOME}
ubah ke
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
  • verifikasi versi Hadoop
hadoop version

Bila tidak ada pesan error, berarti hadoop sudah sukses terinstalasi. Sebelum bisa dijalankan, Hadoop terlebih dulu perlu dikonfigurasi.

 nano core-site.xml

paste setting berikut diantara configure tag

  <property>
    fs.default.name
    hdfs://localhost:9000
  </property>
 nano yarn-site.xml

paste setting berikut diantara configure tag

<property>
  yarn.nodemanager.aux-services
  mapreduce_shuffle
</property>
<property>
   yarn.nodemanager.aux-services.mapreduce.shuffle.class
   org.apache.hadoop.mapred.ShuffleHandler  
</property>

save dan close file.

mv mapred-site.xml.template mapred-site.xml
nano mapred-site.xml

Paste setting berikut diantara configure tags:

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

nano hdfs-site.xml

Paste setting berikut diantara configure tags:

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>

Simpan dan tutup file.

Format Namenode

hdfs namenode -format

Memulai Hadoop Services

start-dfs.sh
....
start-yarn.sh
....
jps

Jika semuanya lancer, services dibawah akan berjalan

DataNode
ResourceManager
Jps
NodeManager
NameNode
SecondaryNameNode

Menguji Hadoop (menghitung nilai dari pi)

$cd /usr/local/hadoop
$hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 2 5

Number of Maps  = 2
Samples per Map = 5
13/10/21 18:41:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
using builtin-java classes where applicable
Wrote input for Map #0
Wrote input for Map #1
Starting Job
13/10/21 18:41:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
13/10/21 18:41:04 INFO input.FileInputFormat: Total input paths to process : 2
13/10/21 18:41:04 INFO mapreduce.JobSubmitter: number of splits:2
13/10/21 18:41:04 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
...

Hasil test seharusnya mirip seperti dibawah:

Job Finished in 24.815 seconds (number rounded to 1000th decimal)
Estimated value of Pi is 3.60000000000 (or similar number)

Selamat mencoba!

Bywidyawan

Integrasi Sistem Informasi

Mengembangkan dan menerapkan sebuah sistem informasi (SI) tidak mudah. Selain tantangan teknis, permasalahan non-teknis akan banyak dijumpai dalam proses tersebut.

Pengembangan SI di lingkup universitas (baca: UGM) juga menjumpai banyak tantangan. Kesulitan utama adalah, dalam sejarahnya, banyak unit (fakultas/direktorat) yang sudah mempunyai aplikasi sendiri-sendiri (berikut database nya).

Hal ini menyebabkan terbentuk banyak pulau data yang tidak saling terhubung. Disintegrasi informasi menyebabkan sumbangan SI terhadap proses bisnis di UGM menjadi tidak maksimal. Evidence-based policy making (pengambilan keputusan dengan berdasar data) juga sulit dilakukan.

Dalam mengintegrasikan SI ada dua pilihan: menggunakan satu aplikasi & database, atau mengintegrasikan yang sudah ada menjadi bentuk service (layanan). Arsitektur SI di UGM bisa dilihat pada gambar di bawah. Webservice merupakan platform yang digunakan untuk mengintegrasikan aplikasi. Data warehouse digunakan untuk agregasi data lintas aplikasi.

Untuk SI yang sudah terlanjur ada maka pilihan kedua (dalam bentuk webservice) ditempuh. Tapi untuk aplikasi baru maka pendekatan pertama yang ditempuh.

Saat ini UGM sedang mengerjakan 24 inisiatif pengembangan dan integrasi SI. Penerapan SI berhasil bila sudah selaras dengan proses bisnisnya. SI akan membuat proses bisnis menjadi lebih efektif dan efisien.

Fast forward, bila ingin mengetahui kisah selanjutnya, bisa lihat tulisan kedua dan ketiga

Bywidyawan

Spam: Sampah Informasi

Spam merupakan masalah utama di dunia per-email-an. Di tahun 2013 diperkirakan dari sekitar 500 milyar email yg dikirim perhari, 80% nya adalah spam atau 400M/hari! Jumlah sampah informasi yang masif.

Sudah ada teknologi anti-spam untuk membantu menyaringnya. Walau begitu, secara rata2 masih ada sekitar 20% yang masuk ke email pengguna. Anti spam memang tidak sempurna, tapi user bisa membantu untuk memperbaiki kinerjanya. Hal ini dikarenakan anti spam bisa dilatih.

Bila ada spam masuk ke mailbox, maka bisa ditandai (mark) sebagai ‘spam’. Atau ada email beneran yang dimasukkan sebagai spam, bisa ditandai sebagai ‘not spam‘ atau dipindahkan ke inbox. Spam filter umumnya menggunakan Bayesian probability. Semakin banyak dilatih, maka akan semakin baik performanya. Practice make perfect.

Selama mengamati kinerja anti-spam milik UGM beberapa bulan terakhir, banyak email berasal dari domain milik universitas yang akan dikategorikan sebagai spam. Termasuk domain dari bbrapa PT ternama di Jakarta, Bandung dan Surabaya. Dari beberapa universitas di eropa pun begitu. Artinya, beberapa akun dari domain universitas tersebut pernah/sering digunakan untuk mengirimkan spam.

Email dari UGM juga bukannya imun. Beberapa user sering mengeluhkan email yang dikirim bounching/ditolak. Hal ini dikarenakan ada user UGM yg akunnya terbajak, dan digunakan untuk mengirimkan spam. Akibatnya reputasi domain ugm.ac.id menjadi terpengaruh dan oleh server penerima ditolak. Ibarat akibat nila setitik rusak susu sebelanga.

Bagaimana mencegah akun supaya tidak terbajak? Pertama, gunakan password yang aman (kombinasi huruf besar/kecil & angka, semakin banyak karakter juga semakin aman). Kedua, waspada terhadap website phising, yang berniat membajak login kita.

Tapi secanggih apapun anti spam yang digunakan, mereka tetap mesin yang kemampuannya terbatas. Otak, pikiran dan pengalaman manusia tetap merupakan filter terbaik. Jadi, tetap percayakan pada common sense anda dalam menghadapi spam yang ada.

Lihat video ini juga tentang tutorial anti spam.

Bywidyawan

UGM Gone Google

Seperti tertulis di post sebelumnya, UGM berusaha meningkatkan kualitas beberapa layanan TI dasarnya (jaringan, Internet, email). Kualitas layanan dasar ini merupakan pondasi untuk ber-inovasi dibidang TI lainnya.

Email merupakan salah satu layanan utama yang paling banyak digunakan. Selama masa2 awal di PSDI, saya mendengar beberapa hal yang sering dikeluhkan ttg email seperti spam, bouncing, keterbatasan kuota dan email yang sering terlambat sampai. Sebenarnya keterbatasan diatas bisa ditangani dengan user yang lebih pro-aktif, seperti rajin mendelete mailbox nya, menggunakan POP3, menggunakan password yang sulit dibajak dll. Tapi seperti layaknya penggunaan teknologi yang lain, edukasi merupakan hal yang tidak mudah dan tidak murah (waktu, tenaga dan juga biaya). Kesulitan akan bertambah bila yang diedukasi adalah dosen ;). Selain itu, user punya benchmark layanan email seperti Yahoo, Gmail, Hotmail dll.

Ditengah keinginan untuk terus berinovasi ditengah keterbatasan yang ada, tawaran penggunaan Google Apps for Education menjadi menarik. Mereka menawarkan layanan email menggunakan server dan anti spam mereka, juga kapasitas yang besar (sampai 30 Gb), dan layanan yang lain (Drive, Hangout, Calendar dll).

Namun demikian, salah satu hal yang terbersit ketika mendengar penawaran dari representatif Google adalah tentang kepemilikan data dan privacy. Pengguna biasanya khawatir tentang 2 hal utama tersebut.

Dari diskusi terungkap bahwa Google, dalam term & condition nyamenjamin 2 hal tersebut: data tetap milik pengguna dan privacy dilindungi. Hal ini terlihat dengan tidak adanya data mining  & tidak ada iklan di email.

Dengan menimbang segala kelebihan dan kekurangannya akhirnya diputuskan untuk menggunakan GApps di UGM semenjak maret 2013. Diantara universitas besar di Indonesia, UGM termasuk pelopor yang berani. Sampai tulisan ini dibuat, banyak pengguna yang mengapresiasi langkah tersebut, dan ribuan civitas akademika menggunakannya. Bila pengguna komersial membayar sekitar $50/tahun/user, maka dengan 100.000 akun yg diberikan free ke UGM, maka kerjasama ini bernilai 100.000 x $50/tahun = $5 juta ~ 50 milyar rupiah/tahun !

Secara teknis, salah satu yang membedakan implementasi dgn yg lain adalah server email existing di UGM  tetap dijalankan. Email yang diterima akan dikirim ganda. Sehingga bisa dikatakan sistemnya adalah hybrid cloud. Dengan redundasi tentunya akan meningkatkan kehandalan.

Enjoy!

Note: untuk mengakses GApps, login di http://ugmail.ugm.ac.id.

Bywidyawan

Layanan Teknologi Informasi UGM

Sejak berubah kelembagaan 2012, layanan PSDI (dulu PPTIK) bertambah ragamnya. Tadinya tanggung jawab utamanya memberikan layanan Internet dan aplikasi TI (email, web, VOIP dll), sekarang juga mengelola Sistem Informasi (SI) di UGM. Pengembangan SI termasuk development dan juga integrasi sistem2 yang ada.

Memberikan layanan Teknologi Informasi untuk universitas sebesar UGM itu susah-susah gampang.  Ada 60.000 mahasiswa (terbesar se Indonesia), 2500+ dosen, dan 4000+ staff karyawan. Diantara itu semua, memuaskan dosen, mungkin itu yang paling susah :).

Ketika diminta menahkodai PSDI, saya memulainya dengan mengkategorisasi layanan TI di UGM. Layanan dasar, yaitu jaringan dan Internet.  Layanan aplikasi, seperti email & web. Layanan inovasi, seperti Sistem Informasi.

Layanan dasar merupakan layanan yang kritis, putus dalam hitungan detik saja semua user tahu dan biasanya langsung bereaksi dan mengeluh. Internet juga sudah merupakan layanan yang take it for granted, atau normalnya ada. Akibatnya diperlakukan mirip listrik PLN, ketika lancar tidak ada yang mengapresiasi, ketika macet banyak yang notifikasi :D.

Email merupakan salah satu layanan aplikasi TI yang sangat penting. Email merupakan alat komunikasi utama dosen di dunia maya. Gangguan layanan selama beberapa saat (orde menit-jam), maka akan terasa. Permasalahan utama lain adalah spam. Tidak hanya mailbox user yang kemasukan spam, tapi juga akun yang terbajak yang kemudian digunakan untuk mengirimkan spam.

Dua layanan utama diatas harus distabilisasi agar UGM bisa melangkah ke penyediaan layanan yang lebih inovatif (web, sistem informasi dll).

Untuk meningkatkan kehandalan Internet, UGM melanggan 2 ISP yang berbeda: Telkom dan Lintas Artha. Satu provider merupakan backup yang lain. Selain itu masing2 provider menyediakan 3 jalur berbeda: 1 jalur internasional, 1 jalur nasional IIX (Indonesia Internet Exchange) dan CDN (Content Delivery Network untuk akses You Tube).

Langganan bandwidth  juga ditingkatkan seperti gambar dibawah.

 

 

 

 

 

 

Pada saat tulisan ini dibuat, posisi bandwidth di UGM adalah 800 Mbps. Banyak yang mengapresiasi peningkatan bandwidth ini secara pribadi, sangat menyenangkan tentunya 🙂

Selain itu UGM juga sedang dalam tahap membangun jalur redundan Fiber Optic di lingkungan kampus. Kita sudah mempunyai jaringan FO, tapi sudah cukup berumur (12 tahun), sehingga membutuhkan peremajaan dan backup. Peta jalur redundan bisa dilihat pada gambar dibawah.

 

 

 

 

 

 

Untuk meningkatkan kehandalan layanan email, tunggu tulisan berikutnya yang menceritakan kerjasama dengan Google.