:::: MENU ::::

Posts By / admin

  • Apr 25 / 2016
  • Comments Off on Apache Storm 1.0 Peningkatan Performa dan Sarat Fitur Baru
Uncategorized

Apache Storm 1.0 Peningkatan Performa dan Sarat Fitur Baru

Pada tanggal 12 April lalu versi terbaru dari Apache Storm dirilis. Taylor Goetz, VP Apache Software Foundation untuk project Apache Storm, menyatakan bahwa versi 1.0 ini merupakan sebuah titik yang penting dalam evolusi Apache Storm. Versi terbaru ini mengandung sejumlah besar fitur baru dan perbaikan kinerja.

Storm merupakan sebuah event processor yang memungkinkan dilakukannya proses data streaming secara terdistribusi. Aplikasi Storm terdiri dari komponen yang disebut dengan “spout” dan “bolt”, yang dikonfigurasi dalam sebuah Direct Acyclic Graph untuk merepresentasikan pemrosesan data. Ciri utama dari Storm adalah kemampuan untuk melakukan proses data secara real time.

Apache Storm versi 1.0 memiliki peningkatan performa yang cukup dramatis bahkan diklaim hingga 16 kali lebih cepat dari versi sebelumnya dengan pengurangan latensi hingga 60%. Selain performa ada beberapa fitur yang patut menjadi perhatian, diantaranya :

  1. Pacemaker, heartbeat daemon yang memiliki performa lebih baik dari Zookeeper
  2. Distributed Cache API, yang memungkinkan berbagi file antar topology
  3. High Availability Nimbus, mengatasi permasalahan single point of failure pada Nimbus proses
  4. Streaming Window API, yang menambahkan dukungan terhadap parameter window length dan sliding interval
  5. Automatic Backpressure, yang memungkinkan memperlambat spout secara otomatis ketika ambang batas dari ukuran task buffer terlampaui
  6. Resources Aware Scheduler, implementasi scheduler baru yang menggunakan ketersediaan memory dan CPU sebagai dasar untuk pengaturan task kepada worker
  7. Dynamic Worker Profiling, fitur baru ini memungkinkan pengguna untuk melihat data profile dari worker langsung dari Storm UI

Apache Storm 1.0 ini dapat didownload pada laman https://storm.apache.org/releases.html

Contributor :


Tim idbigdata
always connect to collaborate every innovation 🙂
  • Mar 15 / 2016
  • Comments Off on Challenges For The Biomedical Industry In Terms Of Big Data
Big Data, Forum Info, Implementation, IoT

Challenges For The Biomedical Industry In Terms Of Big Data

Tantangan Industri Biomedis untuk Big Data

Lahirnya Next-Generation Sequencing (NGS) berakibat pada pertumbuhan data genomic secara eksponensial. NGS berhasil memangkas waktu dan biaya yang dibutuhkan untuk melakukan sequencing sebuah genom secara drastis. Biaya sequencing turun secara signifikan dari sekitar US$100M pada tahun 2001 menjadi sekitar US$1000 di tahun 2015. Sebuah studi kasus diagnostik genom http://www.genomemedicine.com/content/7/1/100?utm_source=datafloq&utm_medium=ref&utm_campaign=datafloq pada tahun 2015 menunjukkan bahwa waktu yang diperlukan untuk melakukan whole genome sequencing, analisis dan diagnosis penyakit genetik pada bayi yang sakit berat adalah 26 jam.

8-challenge_04.png

Apakah perpaduan teknologi antara industri biomedis dan big data akan dapat mendukung perkembangan data genomics di masa datang? Berikut adalah beberapa hambatan dan tantangan yang dihadapi dalam perkembangan pemanfaatan data genomics :

  • Meskipun biaya sequencing dan storage sudah relatif rendah, namun biaya komputasi terutama dari sisi infrastruktur masih relatif tinggi. Cloud computing dapat menjadi solusi terhadap kebutuhan komputasi, namun transfer data genomics yang sangat besar dari mesin sequencing ke cloud dapat menjadi tantangan tersendiri.
  • Privasi data genomics juga menjadi sebuah isu, karena penggunaan dan penyebaran (sharing) data tersebut tidak dapat diprediksi. Meskipun data dikumpulkan secara anonimus, masih ada kemungkinan re-identifikasi sehingga menjadi peluang timbulnya pelanggaran privasi.
  • Interoperabilitas antar database genomics maupun dengan sistem medis lainnya (misalnya Electronic Medical Records atau EMR) menjadi tantangan lain yang harus diatasi agar proyek-proyek kolaborasi semacam 100.000 Genome Project (http://www.genomicsengland.co.uk/the-100000-genomes-project/?utm_source=datafloq&utm_medium=ref&utm_campaign=datafloq) dapat memberikan manfaat yang sebesar-besarnya bagi masyarakat maupun pasien yang membutuhkan.
  • Nilai tambah yang ditawarkan oleh bidang translational genomics kepada industri biomedis mungkin tidak langsung terlihat hasilnya. Biaya yang harus dikeluarkan oleh sebuah organisasi untuk menyimpan dan mengolah data genomics mungkin tidak bisa memberikan keuntungan finansial dalam jangka pendek. Hal ini dapat menyurutkan keinginan untuk berinvestasi di bidang ini. Namun, pengetahuan yang didapat dari proyek-proyek yang bersifat riset dapat memberi manfaat yang sangat besar bagi masyarakat maupun bagi pengembangan produk mereka sendiri. Penyedia solusi big data yang mendukung platform big data di bidang genomics akan dapat memperoleh keuntungan dengan menyediakan jasa penyimpanan, pemrosesan dan analisis data.

Perusahaan seperti AWS, Oracle dan Google menempatkan diri sebagai pemain kunci dalam penyediaan infrastruktur komputasional di bidang biomedis dengan menyediakan infrastruktur bagi penyimpanan dan analisis data genomics. Mereka menyadari potensi nilai yang didapat dari penyediaan platform untuk riset genomics.

Dengan semakin menurunnya biaya sequencing dan dengan dimungkinkannya sequencing dalam skala besar, kita dapat menyaksikan pergeseran dari pengobatan reaksioner (mengobati setelah timbulnya penyakit) menjadi pengobatan prediktif dan proaktif. Database genomics yang besar memungkinkan dilakukannya riset untuk lebih memahami dasar-dasar genetik pada bermacam-macam penyakit.

Pengetahuan ini akan mendorong pengembangan obat-obatan dan terapi yang lebih terarah dan bersifat preventif, dan juga memungkinkan pengembangan alat interpretasi genomics secara individual untuk keperluan konseling bagi individu untuk mencegah kemungkinan munculnya penyakit atau kondisi yang berkaitan dengan kecenderungan genetik.

Contributor :

Tim idbigdata
always connect to collaborate every innovation 🙂
  • Mar 07 / 2016
  • Comments Off on Genomics : The Next Big Thing in Big Data
Big Data, Implementation

Genomics : The Next Big Thing in Big Data

Apa itu Genomics?

Genomics adalah bidang yang mempelajari genome, untuk memahami bagaimana suatu organisme bekerja, dan apa akibat dari interaksi antar gen serta pengaruh lingkungan terhadapnya. Sedangkan genome adalah materi genetik yang menjadi cetak biru atau rancangan dari suatu mahluk hidup. Informasi ini diwariskan secara turun temurun dan tersimpan dalam DNA, atau pada beberapa jenis virus, dalam RNA.

Ukuran genome dinyatakan dalam bp atau base pair, yaitu jumlah pasangan nukleotida dalam DNA.

Manusia memiliki sekitar 3 miliar bp dalam genome-nya. Sebetulnya manusia genome manusia 99.9% mirip. Namun perbedaan yang hanya 0.1% tersebut telah menghasilkan keragaman yang sangat besar pada penampilan maupun kondisi fisik seseorang.

Apa Pentingnya Genomics?

Saat ini genomics memiliki peran yang besar dalam berbagai bidang, mulai dari kesehatan, pertanian, lingkungan, industri maupun perkembangan ilmu pengetahuan. Dengan mempelajari gen, manusia dapat menemukan solusi dari banyak permasalahan mendasar di banyak bidang kehidupan.

Misalnya, di bidang medis, genomics dapat membantu dalam meningkatkan kualitas diagnosis penyakit, mengidentifikasi predisposisi terhadap penyakit tertentu (misalnya diabetes tipe 2, penyakit huntington, dll), mendeteksi virus dan bakteri penyebab penyakit, mengembangkan obat yang disesuaikan dengan informasi genetik seseorang (disebut juga ‘personalized medicine’, misalnya penggunaan penanda genetik untuk membantu menentukan dosis War¬farin, obat anti penggumapalan darah, menentukan jenis dan dosis obat untuk kanker, dll), atau memantau pengaruh gaya hidup dan lingkungan terhadap genome dan kesehatan manusia.

Di bidang lingkungan, genomics membantu untuk menemukan sumber-sumber energi yang lebih sustainable seperti biofuels, mengendalikan polusi, melakukan dekontaminasi daerah yang terkena limbah (disebut juga bioremediation, seperti misalnya mikroba yang digunakan untuk membantu membersihkan tumpahan minyak di teluk Meksiko), memantau keragaman hayati dan identifikasi spesies baru.

Dalam bidang pertanian genomics dapat digunakan untuk mengembangkan tanaman yang lebih tahan terhadap serangan hama, penyakit, dan lingkungan, dapat juga digunakan untuk membantu mengidentifikasi hama, mengembangkan tanaman pangan yang lebih kaya kandungan gizi, ataupun mengembangkan ternak yang lebih berkualitas dan tahan terhadap serangan penyakit, dan lain sebagainya.

Teknologi di Balik Perkembangan Genomics

Peran genomics yang besar tersebut dimungkinkan dengan berkembangnya teknologi dalam bidang pemetaan gen dan pengolahan data.

Next Generation Sequencing

Dengan hadirnya teknologi yang disebut dengan Next Generation Sequencing, maka biaya untuk melakukan pemetaan genetik juga mengalami penurunan yang sangat ekstrim.

genomics_pt1_02.png

Jika sebelumnya biaya untuk melakukan sequencing atau pemetaan terhadap genome manusia adalah sebesar 100 juta US$ (dana yang digunakan pada Human Genome Project, yang di-launch di tahun 1986 dan selesai pada 2003), maka saat ini biaya pemetaan genome manusia adalah sekitar 1000 US$.

Penurunan biaya dan waktu pemrosesan menjadikan pemetaan genome menjadi sebuah proses yang terjangkau, sehingga banyak pihak dapat turut memanfaatkan dan mengembangkannya. Sebagai akibatnya, genomics pun menjadi sebuah bidang yang mengalami perkembangan yang sangat cepat pada dekade terakhir ini.

Big Data

Pemetaan dan analisis genome menghasilkan dan membutuhkan data yang sangat besar. Data hasil sequencing dapat mencapai 130 GB lebih per genome. Dengan semakin banyaknya genome yang dipetakan dan dianalisis, terjadilah ledakan di sisi data yang dihasilkan.

Tantangan selanjutnya adalah bagaimana data yang sedemikian besar dapat diproses dan dianalisis, sehingga semakin banyak penelitian maupun pemanfaatan data genomics dapat dilakukan.

Salah satu pendekatannya adalah dengan cara meningkatkan kecepatan prosesor. Teknologi seperti GPU ataupun FPGA (Field Programmable Gate Arrays) menjadi beberapa alternatif dalam hal ini. Solusi lain adalah penggunaan cloud computing, di mana data yang akan digunakan diproses di cloud, sehingga para peneliti tidak perlu membangun sendiri infrastruktur yang mereka gunakan. Namun permasalahannya adalah ketika diperlukan analisis seperti variant calling untuk mendeteksi mutasi gen, sejumlah data yang sangat besar perlu diakses dan dipindahkan ke environment analisis yang sesuai. Transfer data yang sangat besar melalui jaringan menjadi sebuah permasalahan berikutnya.

Dengan kehadiran big data, khususnya Hadoop sebagai solusi komputasi dan penyimpanan data terdistribusi, para peneliti memiliki alternatif baru yang lebih terjangkau. Hadoop menjadi alternatif bagi penyimpanan dan pemrosesan data genome dengan memberikan solusi berupa : biaya yang lebih terjangkau dengan pemanfaatan commodity hardware, peningkatan kapasitas komputasi dengan penggunaan banyak mesin secara paralel, mengurangi data movement dengan melakukan komputasi secara lokal, di mana data tersebut disimpan secara fisik.

Di samping itu, saat ini telah banyak teknologi yang dikembangkan di atas ataupun melengkapi Hadoop ekosistem, seperti misalnya Hive, Pig, Mahout, Yarn, dan lain sebagainya. Terlebih lagi setelah munculnya Spark sebagai platform pemrosesan in memory secara terdistribusi, big data menjadi sebuah alternatif solusi yang tidak dapat diabaikan lagi.

Salah satu pemanfaatan teknologi big data dalam bidang genomics ini adalah ADAM, yaitu platform analisis genomik dengan format file khusus. Dibangun menggunakan Apache Avro, Apache Spark dan Parquet. ADAM pada awalnya dikembangkan oleh Universitas Berkeley dan berlisensi Apache 2.

Referensi :

http://www.whygenomics.ca/why-should-i-care

http://blogs.uw.edu/ngopal/why-genomics/

https://blog.pivotal.io/data-science-pivotal/features/re-architecting-genomics-pipelines-to-handle-the-rising-wave-of-data

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Mar 02 / 2016
  • Comments Off on Apache Arrow – in-memory columnar data layer
Apache, Big Data, Forum Info, Hadoop

Apache Arrow – in-memory columnar data layer

Pada tanggal 17 Februari 2016 lalu, Apache Software Foundation mengumumkan Apache Arrow sebagai top-level project tanpa melalui masa inkubasi yang panjang. Apache Arrow semula merupakan pengembangan dari Apache Drill, dibangun atas kolaborasi beberapa project open source unggulan lainnya dan bertujuan untuk menjadi standar de-facto bagi pemrosesan data in-memory yang tersusun secara columnar. Proyek-proyek Big Data yang telah bergabung dalam pengembangan Apache Arrow adalah Calcite, Cassandra, Drill, Hadoop, HBase, Impala, Kudu (incubating), Parquet, Phoenix, Spark, Storm, Pandas dan Ibis.

Apache Arrow bukan merupakan sebuah engine ataupun sistem penyimpanan. Ia adalah sebuah format dan algoritma untuk bekerja secara hirarkis, in-memory dan columnar serta mendukung sejumlah bahasa pemrograman yang dapat bekerja diatasnya.

“Data dalam memori yang tersusun secara columnar memungkinkan sistem dan aplikasi memproses data pada kecepatan maksimum dari hardware” ujar Todd Lipcon, pendiri Apache Kudu dan anggota komite manajemen Apache Arrow Project.

Pada banyak proses pengolahan data, 70-80% siklus CPU dihabiskan untuk proses serialisasi dan deserialisasi data antar proses. Arrow mengatasi masalah ini dengan memungkinkan adanya sharing data antar sistem dan proses tanpa melalui proses serialisasi, deserialisasi atau penggandaan memory. Penggunaan Apache Arrow diklaim mampu mempercepat proses hingga 100 kali.

apachearrow_01.png apachearrow_02.png

Arrow juga telah mendukung data yang kompleks dengan skema dinamis. Contohnya, Arrow mampu menangani data JSON yang umumnya digunakan pada proses IoT, aplikasi modern dan log file. Implementasinya juga sedang dikembangkan untuk beberapa bahasa pemrograman termasuk java, c++ dan python untuk memungkinkan interoperabilitas solusi big data yg lebih besar.

Software apache arrow sudah rilis dengan menggunakan lisensi Apache v2.0 dan untuk mengunduh software, dokumentasi dan cara bergabung dengan Apache Arrow project silahkan mengunjungi http://arrow.apache.org/

Contributor :


Sigit Prasetyo
Seorang pengembara dunia maya, sangat suka mengeksplorasi dan menelusuri tautan demi tautan dalam internet untuk memperoleh hal-hal menarik. Saat ini sedang berusaha mengasah ilmu googling. Memiliki kegemaran memancing walaupun saat ini lebih sering memancing di kantor, terutama memancing emosi.

  • Feb 23 / 2016
  • Comments Off on Big Data sebagai alat bantu Pengeboran Minyak dan Gas
Big Data, Forum Info, Implementation, IoT

Big Data sebagai alat bantu Pengeboran Minyak dan Gas

Industri minyak dan gas kini tengah menghadapi tantangan berat, seperti meningkatnya biaya produksi dan gejolak politik internasional. Hal tersebut mempersulit usaha ekplorasi dan pengeboran cadangan minyak baru.

Beberapa tahun belakangan ini Royal Dutch Shell mengembangkan ide untuk membangun ladang minyak yang didukung oleh data atau disebut “data-driven oilfield” dalam usaha untuk mengurangi biaya pengeboran yang merupakan biaya utama industri migas.

Sejak beberapa tahun ini Shell sudah mulai memasang kabel serat optik dalam sumur minyak. Pada kabel serat optik ini terpasang sensor-sensor yang mengukur segala sesuatu dalam sumur. Dengan data-data dari sensor tersebut, Shell dapat melakukan analisa yang lebih akurat mengenai keadaan sumur minyak atau seberapa besar gas yang masih tersisa.

Sensor super sensitif dalam kabel serat optik membantu Shell menemukan minyak tambahan di dalam sumur yang diduga telah kering. Sensor-sensor yang buat oleh Hewlett-Packard ini menghasilkan data dalam jumlah yang sangat besar dan ditransfer ke dalam sistem komputasi awan Amazon Virtual Private Cloud dengan menggunakan Hadoop. Sejak pertama kali dimulai mereka telah mengumpulkan 46 petabyte data dan pada tes pertama yang mereka lakukan di salah satu sumur minyak menghasilkan 1 petabyte informasi.

Shell juga bekerja sama dengan IBM dan DreamWorks Hollywood untuk memvisualisasikan data-data yang didapat oleh sensor. Semua data yang diterima dari sensor seismik dianalisis oleh sistem kecerdasan buatan yang dikembangkan oleh Shell dan dirender menjadi peta 3D dan 4D dari reservoir minyak. Meskipun analisis dilakukan dalam komputasi awan, visualisasi segera tersedia bagi awak yang bekerja di pabrik lokal.

Melihat hasil yang dicapai mereka berkeinginan memasang sensor untuk sekitar 10.000 sumur minyak, dengan perkiraan 10 Exabytes data, atau sekitar 10 hari dari semua data yang dihasilkan oleh internet.

Sumber :

https://datafloq.com/read/shell-drills-deep-with-big-data/508

http://www.oilreviewmiddleeast.com/information-technology/big-data-is-the-new-drilling-tool-for-shell

http://www.smartdatacollective.com/bernardmarr/358203/big-data-big-oil-amazing-ways-shell-uses-analytics-drive-business-success/508

Contributor :


Tim idbigdata
always connect to collaborate every innovation 🙂

  • Feb 18 / 2016
  • Comments Off on Big Data dan Hidroponik
Big Data, Forum Info, Implementation, Storage

Big Data dan Hidroponik

Big data dan hidroponik, mungkin terdengar seperti perpaduan yang kurang cocok. Memang tidak dapat dipungkiri bahwa pengaruh big data sudah demikian meluas, tak terkecuali pada sektor yang agak spesifik seperti hidroponik. Sistem otomasi pada pertanian dengan menggunakan teknik hidroponik tengah berkembang dengan pesat di dunia, dari Jepang, Cina, Inggris dan Uni Eropa serta Amerika Serikat.

Manfaat Bercocok Tanam Dengan Hidroponik

Teknik hidroponik dianggap sebagai suatu teknik produksi pangan yang sangat efisien saat ini. Banyak keunggulan dari teknik ini, misalnya penggunaan lahan yang lebih sedikit dan produksi pangan lebih banyak. Air yang digunakan pun dapat diolah dan dimanfaatkan kembali. Biaya pengangkutan dapat ditekan karena teknik ini sangat cocok diimplementasikan di wilayah perkotaan dengan jumlah populasi yang tinggi.

Bagaimana Big Data dan otomasi bekerja dengan hidroponik

Di Jepang, Fujitsu telah mengembangkan sebuah layanan komputasi awan (cloud platform services) dengan nama Akisai. Sistem yang diluncurkan pada tahun 2012 ini menganalisa data-data yang didapatkan dari berbagai sensor yg di tempatkan di sekitar rumah kaca (greenhouse). Dengan informasi ini, seluruh perangkat pendukung seperti kipas ventilasi udara, mesin pemanas, dan sistem pengairan dikontrol secara otomatis. Melalui big data cloud service, sistem ini mampu mengumpulkan banyak data yang dapat dianalisa untuk menghasilkan kualitas pangan yang lebih baik.

Di Amerika Serikat ada Freight Farms, sebuah perusahaan yang membuat sistem pertanian hidroponik menggunakan kontainer bekas dengan menerapkan teknologi dan otomasi pertanian. Mereka mengumpulkan data dari berbagai komponen utama pertanian seperti udara, air, suhu dan pertumbuhan tanaman untuk mengelola dan memonitor pertanian.

Dengan data yang dikumpulkan tersebut mereka membuat sebuah program custom elearning development, sehingga para penggunanya dapat mempelajari cara terbaik untuk bercocok tanam dengan Freight Farms. Menurut Brad McNamara, co founder dari Freight Farms, melalui sistem elearning yang dibangun ini, orang yg saat ini bergabung dengan Freight Farms akan memiliki pengetahuan yang jauh lebih baik, karena telah mendapatkan pengetahuan dari data yang dikumpulkan dari pengguna-pengguna sebelumnya. Dengan jaringan yang terdiri dari para petani Freight Farms, mereka mendapatkan banyak informasi yang dapat diterapkan.

Demikian juga di Cina, Alesca, sebuah startup yang mengubah kontainer bekas menjadi sebuah solusi jaringan pertanian hidroponik yang menggunakan sistem otomatisasi open-source dan analisa big data. Alesca mendesain dan membangun sistem pertanian multi-format dan menggabungkannya dengan penginderaan cerdas (smart sensing) dan aplikasi yang terhubung komputasi awan. Sistem connected farm ini menjadikan jaringan pertanian Alseca sebagai sebuah jaringan produksi pangan kota yang terdistribusi (city distributed food production system).

Penggunaan kontainer sebagai area tanam memungkinkan untuk membuat microclimate atau kondisi lingkungan yang paling ideal untuk berbagai jenis tanaman yang ditanam. Hasil tersebut dicapai dengan menggunakan sistem otomasi canggih, penyinaran menggunakan LED yang optimal dan komponen software terkini untuk membangun lingkungan yang ideal untuk masing-masing jenis tanaman. Tanaman dipantau oleh sensor yang melaporkan mengenai kesehatan, pertumbuhan, dan kecukupan nutrisi serta keseluruhan informasi mengenai lingkungan yang membutuhkan penyesuaian untuk mencapai kondisi pertumbuhan yang paling ideal. Alesca yakin bahwa ini merupakan trend masa depan untuk produksi pangan lokal berskala besar di kota-kota padat yang disebut local concept zero-mile food.

Masalah Yang Datang dengan Otomasi Pertanian

Hambatan terbesar untuk keberhasilan jenis otomasi produksi pangan ini adalah dari segi biaya produksi pangan hidroponik. Peningkatan skala produksi dan tuntutan untuk menjaga efektifitas dan nilai ekonomis mengingatkan kita pada tantangan yang dihadapi di masa sebelumnya. Jika sebelumnya hambatan yang dihadapi adalah dari besarnya jumlah tenaga kerja yang dibutuhkan, maka tantangan saat ini adalah pada kebutuhan listrik yang besar, dan pengeluaran untuk sistem pemupukan, pendingin, pemanas, dan pencahayaan yang tidak sedikit.

Namun demikian, berkat adanya software baru dan otomasi pada kebun hidroponik, banyak perubahan yang terjadi pada teknik bercocok tanam yang memungkinkan untuk dikembangkan dalam skala industri dan komersil, sehingga cukup kompetitif dalam mendukung ketersediaan pangan dunia.

Referensi :

http://www.fujitsu.com/global/about/resources/news/press-releases/2012/0718-01.html

http://www.npr.org/sections/thesalt/2015/02/23/388467327/-freight-farms-grow-local-flavor-year-round

http://technode.com/2015/11/03/alesca-life-introduces-farming-service-model-indoor-farming/

http://www.freightfarms.com/

Contributor :

Tim idbigdata
always connect to collaborate every innovation 🙂
  • Jan 25 / 2016
  • Comments Off on Instalasi Spark 1.4.1 Cluster di Ubuntu 14.04 VMWare
Forum Info, Hadoop, Implementation, Spark, Uncategorized

Instalasi Spark 1.4.1 Cluster di Ubuntu 14.04 VMWare

Tutorial ini adalah kelanjutan dari Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare. Diasumsikan bahwa Hadoop Cluster sudah disetting dan berjalan dengan baik seperti dalam tutorial tersebut.

Untuk dapat berjalan di atas cluster, Spark dapat dijalankan dengan menggunakan beberapa jenis cluster manager, yaitu Hadoop Yarn, Apache Mesos, ataupun cluster manager yang dimiliki Spark sendiri atau Spark stand alone cluster. Cluster manager ini yang akan mengalokasikan resource dalam cluster di mana Spark dijalankan. Untuk penjelasan lebih lanjut mengenai masing-masing arsitektur, dapat dibaca di sini

Untuk menjalankan spark dengan Spark cluster, berikut ini cara settingnya:

Versi software yang digunakan adalah :

  • Spark versi 1.4.1
  • Scala 2.10.4
  • Hadoop 2.6.0

Berikut ini konfigurasi cluster-nya:

IP Type Node Hostname
192.168.4.148 Hadoop Name node / Spark Master ubuntu1
192.168.4.149 Hadoop Data node 1 / Spark Worker ubuntu2
192.168.4.155 Hadoop Data node 2 / Spark Worker ubuntu3
  1. Download Apache Spark binary distribution dari siteApache Spark. Pilih spark distribution 1.4.1, Package type Pre-built for Hadoop 2.6 and later.
  2. tutorial04_01

    Copy file spark-1.4.1-bin-hadoop2.6.tgz ke 3 mesin di atas.

    Bisa juga langsung dengan perintah berikut di salah satu mesin,

    hduser@ubuntu1:~$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.4.1/spark-1.4.1-bin-hadoop2.6.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp spark-1.4.1-bin-hadoop2.6.tgz hduser@ubuntu3:/home/hduser/
  3. Download Scala 10.2.4
  4. hduser@ubuntu1:~$ wget http://www.scala-lang.org/files/archive/scala-2.10.4.tgz

    Lalu distribusikan ke mesin yang lain dengan perintah scp

    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu2:/home/hduser/
    hduser@ubuntu1:~$ scp scala-2.10.4.tgz hduser@ubuntu3:/home/hduser/
  5. Extract package
  6. Extract package spark di atas, dan pindahkan ke direktori /usr/local/spark

    hduser@ubuntu1:~$ tar xzvf spark-1.4.1-bin-hadoop2.6.tgz
    hduser@ubuntu1:~$ sudo mv spark-1.4.1-bin-hadoop2.6 /usr/local/spark

    Extract package scala di atas, dan pindahkan ke direktori /usr/local/scala

  7. Update file .bashrc. Tambahkan 3 baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian
  8. export SCALA_HOME=/usr/local/scala
    export SPARK_HOME=/usr/local/spark
    export PATH=$HOME/bin:$SCALA_HOME/bin:$PATH

    Load setting dengan perintah

    hduser@ubuntu1:~$ . ~/.bashrc

    tutorial04_02

  9. Create direktori /home/hduser/sparkdata
  10. Sesuaikan file-file konfigurasi
  11. file /usr/local/spark/conf/spark-env.sh

    export SCALA_HOME=/usr/local/scala
    export SPARK_WORKER_MEMORY=256m
    export SPARK_WORKER_INSTANCES=1
    export SPARK_WORKER_DIR=/home/hduser/sparkdata
    export SPARK_MASTER_IP=ubuntu1

    tutorial04_03

    file /usr/local/spark/conf/slaves

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/slaves.template /usr/local/spark/conf/slaves (copy file slaves.template ke file slaves)

    ubuntu1
    ubuntu2
    ubuntu3

    tutorial04_04

    hduser@ubuntu1:~$ cp /usr/local/spark/conf/spark-defaults.conf.template /usr/local/spark/conf/spark-defaults.conf (copy file spark-defaults.conf.template ke file spark-defaults.conf)

    file /usr/local/spark/conf/spark-defaults.conf.template

    spark.master spark://ubuntu1:7077 tutorial04_05

    Lakukan langkah 2-6 di atas untuk ke 2 server yang lain.

  12. Jalankan spark master dan worker
  13. Untuk menjalankan spark master dan node, jalankan perintah berikut di mesin master (ubuntu1) :

    hduser@ubuntu1:~$ /usr/local/spark/sbin/start-all.sh

    Cek apakah master dan node sudah jalan, dengan perintah berikut:

    hduser@ubuntu1:~$ jps

    Untuk server master, akan tampak service-service berikut ini (catatan: dfs dan yarn sudah di-start sebelumnya)

    tutorial04_06

    Untuk node worker, sbb:

    tutorial04_07
  14. Spark Shell dan Web Interface
  15. Untuk melihat web interface monitoring, jalankan spark-shell dengan perintah berikut ini:

    hduser@ubuntu1:~$ /usr/local/spark/bin/spark-shell

    Di scala shell, jalankan perintah berikut ini:

    scala> val input = sc.textFile("hdfs://ubuntu1:54310/data/README.txt")
    scala> val words = input.flatMap(line => line.split(" "))
    scala> val counts = words.map(word => (word, 1)).reduceByKey{case (x, y) => x + y}
    scala> counts.collect()

    Akan muncul log dan hasil count yang dimunculkan sebagian sbb:

    tutorial04_08

    Jalankan perintah berikut ini untuk menyimpan output ke hdfs:

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    scala> counts.saveAsTextFile("hdfs://ubuntu1:54310/data/testSave")

    Untuk mengecek apakah file terbentuk, jalankan perintah berikut dari dari unix shell:

    hduser@ubuntu1:~$ hadoop fs -ls /data
    Found 2 items
    -rw-r--r-- 2 hduser supergroup 1366 2015-11-13 11:21 /data/README.txt
    drwxr-xr-x - hduser supergroup 0 2015-11-13 12:06 /data/testSave

    Bisa juga dengan menggunakan web interface hadoop di ubuntu1:50070, menu Utilities → Browse the File System

    tutorial04_09

    Untuk melihat isi file, gunakan perintah berikut:

    hduser@ubuntu1:~$ hadoop fs -cat /data/testSave

    Untuk melihat perintah lain yang dapat dilakukan di hadoop, gunakan perintah hadoop fs -help

Sekian Tutorial kali ini,

Semoga bermanfaat 🙂

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Jan 21 / 2016
  • Comments Off on Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare [Bagian 2]
Big Data, Hadoop, Implementation, Uncategorized

Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare [Bagian 2]

Berikut ini adalah langkah berikutnya dari instalasi Hadoop Cluster di Ubuntu 14.04 VMWare. Untuk langkah sebelumnya bisa dilihat di Bagian 1.

9. Duplikasi Ubuntu Instance

Untuk membuat 3 instance server ubuntu, shutdown VMWare, dan kopi direktori tempat file-file VM Image tersebut dua kali. Untuk mengetahui letak direktori, buka menu Player → Manage → Virtual Machine Setting di bagian Working Directory

tutorial3_02

re, dan kopi direktori tempat file-file VM Image tersebut dua kali. Untuk mengetahui letak direktori, buka menu Player → Manage → Virtual Machine Setting di bagian Working Directory

Selanjutnya, jalankan VMWare Player, pilih menu Open a Virtual Machine. Buka file .vmx di ke 2 direktori hasil copy tersebut, dan pilih Play virtual Machine. Anda akan mendapatkan dialog box

tutorial3_03

Pilih “I Copied It”.

10. Setting koneksi

Ada beberapa hal yang perlu dilakukan, yaitu setting hostname di file /etc/hostname, setting mapping hostname di file /etc/hosts, dan setting ssh connection.

Setting hostname

Buka 3 Virtual machine tersebut, ubah nama masing-masing menjadi ubuntu1, ubuntu2 dan ubuntu 3, dengan cara edit file /etc/hostname :

hduser@ubuntu:~$ sudo vi /etc/hostname

Misalnya untuk server ubuntu3 menjadi sbb:

tutorial3_04

Lakukan hal serupa di 2 server yang lain. Setting Mapping Hostname

Edit file /etc/hosts di ke 3 server sbb:

Server 1 : ubuntu1

tutorial3_06

Server 2 : ubuntu2

tutorial3_07

Server 3 : ubuntu3

tutorial3_08

Untuk mengetahui IP address masing-masing server, gunakan command ifconfig.

tutorial3_09

Lakukan di ke 3 server.

Setting ssh

Di server ubuntu1, lakukan:

hduser@ubuntu1:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu2

hduser@ubuntu1:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu3

Untuk mengetes koneksi, lakukan :

hduser@ubuntu1:~$ ssh hduser@ubuntu2

hduser@ubuntu1:~$ ssh hduser@ubuntu2

Seharusnya sudah tidak diminta password untuk ssh tersebut.

Di server ubuntu2 dan ubuntu3, lakukan:

hduser@ubuntu2:~$ ssh-copy-id -i /home/hduser/.ssh/id_rsa.pub hduser@ubuntu1

Untuk mengetes koneksi, lakukan :

hduser@ubuntu2:~$ ssh hduser@ubuntu1

Seharusnya sudah tidak diminta password untuk ssh tersebut.

11. Format HDFS file system

Lakukan ini di namenode (server ubuntu1) pada pertama kali instalasi. Jangan melakukan namenode format untuk Hadoop yang sudah berjalan (berisi data), karena perintah format ini akan menghapus semua data di HDFS, dan kemungkinan akan membuat hdfs dalam cluster anda tidak konsisten satu sama lain (namenode dan data node).

hduser@ubuntu1:$ hdfs namenode -format

Outputnya akan seperti berikut ini:

hduser@ubuntu1:$ /usr/local/hadoop/bin/hadoop namenode -format
10/05/08 16:59:56 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = ubuntu/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 0.20.2
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010
************************************************************/
10/05/08 16:59:56 INFO namenode.FSNamesystem: fsOwner=hadoop,hadoop
10/05/08 16:59:56 INFO namenode.FSNamesystem: supergroup=supergroup
10/05/08 16:59:56 INFO namenode.FSNamesystem: isPermissionEnabled=true
10/05/08 16:59:56 INFO common.Storage: Image file of size 96 saved in 0 seconds.
10/05/08 16:59:57 INFO common.Storage: Storage directory .../hadoop-hadoop/dfs/name has been successfully formatted.
10/05/08 16:59:57 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1
************************************************************/
hduser@ubuntu1:$

12. Start HDFS dan Yarn

Lakukan ini di namenode (server ubuntu1).

Start hdfs :

hduser@ubuntu1:$ /usr/local/hadoop/sbin/start-dfs.sh

tutorial3_10

Start yarn :

hduser@ubuntu1:$ /usr/local/hadoop/sbin/start-yarn.sh

tutorial3_11

Untuk memastikan data node sudah berjalan dengan baik, di data node server (ubuntu2 dan ubuntu3), cek log di /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntu2.log dan /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntu3.log

ika anda mendapatkan message seperti berikut ini:

2015-11-10 12:35:53,154 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: ubuntu1/192.168.4.148:54310

Maka pastikan bahwa setting /etc/hosts di ke 3 server sudah dilakukan dengan benar seperti di poin 10 di atas (Setting Koneksi). Cek ip masing-masing server dengan perintah ifconfig. Cek service di masing-masing server dengan perintah jps.

12. Test HDFS

Untuk memastikan semua node sudah naik dan berfungsi dengan baik, kita akan meng-upload file test ke dfs. Lakukan perintah berikut ini di server name node (ubuntu1):

buat direktori /data di hdfs

hadoop fs -mkdir /data

upload file /usr/local/hadoop/README.txt

hadoop fs -put /usr/local/hadoop/README.txt /data/README.txt

tutorial3_12

13. Hadoop Web Interface

Anda dapat mengakses hadoop web interface dari browser anda, dengan mengakses namenode:50070. Akan tampil halaman seperti berikut ini. tutorial3_13

Dari keterangan di atas terlihat bahwa terdapat 2 data nodes yang hidup dan terhubung. Klik menu Datanodes untuk melihat informasi lebih detail mengenai kedua data node tersebut:

tutorial3_14

File yang kita buat tadi akan terlihat di menu Utilities → Browse the file system

tutorial3_15

Demikianlah tutorial instalasi Hadoop kali ini, semoga bermanfaat.

Nantikan tutorial berikutnya 🙂

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Jan 13 / 2016
  • Comments Off on Seri Tutorial : Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare [Bagian 1]
Big Data, Hadoop, Implementation, Uncategorized

Seri Tutorial : Instalasi Hadoop Cluster di Ubuntu 14.04 VMWare [Bagian 1]

Setelah pada tutorial lalu kita membahas mengenai instalasi Hadoop single node, kali ini kita akan membahas langkah instalasi Hadoop cluster di dalam VMWare.

Sebagai catatan, karena pada tutorial ini kita akan menjalankan 3 buah virtual machine secara bersamaan, maka PC atau laptop yang akan digunakan haruslah memiliki setidaknya 8 GB RAM, dan alokasi total untuk ke 3 VM ini sebaiknya tidak melebihi 4GB.

Berikut ini langkah instalasi Hadoop di Ubuntu 14.04 vmWare. Dalam tutorial ini digunakan hadoop 2.6.0. Untuk konfigurasi ini kita akan menggunakan 1 server namenode dan 2 server datanode. Yang akan kita lakukan adalah menginstall 1 mesin sampai selesai, lalu copy 2 kali untuk mendapatkan 3 instance server, dan kemudian kita setting agar ke-3 nya dapat berkomunikasi satu sama lain.

IP Type Node Hostname
192.168.4.148 Name node ubuntu1
192.168.4.149 Data node 1 ubuntu2
192.168.4.155 Data node 2 ubuntu3

1. Install VMWare Player

Install VMWare player, tergantung OS host anda, 32 atau 64 bit : https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0

2. Install Ubuntu

Install Ubuntu 14.04 di VMWare player, anda. Download iso image Ubuntu 14.04 LTS di http://releases.ubuntu.com/14.04/ (sekali lagi, perhatikan keperluan anda, 32 atau 64 bit OS) Agar dapat berkomunikasi satu sama lain, termasuk dapat diakses melalui puTTY, set network setting ke Bridged Mountain View

3. Install jdk

Ada beberapa pilihan yang bisa anda install, di antaranya openjdk atau oracle jdk. Untuk open jdk pilih setidaknya openjdk 7, dengan perintah sbb:
user@ubuntu:~$ sudo apt-get install openjdk-7-jdk

Anda bisa juga menginstall jdk 7 oracle, dengan langkah sbb:

5. Create dedicated group dan user untuk hadoop

Membuat user hduser dan group hdgroup untuk menjalankan hadoop. Langkah ini tidak harus dilakukan, tapi disarankan untuk memisahkan instalasi hadoop dengan aplikasi2 lain di mesin yang sama.

user@ubuntu:~$ sudo addgroup hdgroup
user@ubuntu:~$ sudo adduser --ingroup hdgroup hduser

Masukkan hadoop ke dalam sudoers (untuk create direktori, set permission, dll)
user@ubuntu:~$ sudo adduser hduser sudo

6. Setting jdk path Sebelumnya cek instalasi dengan perintah:

user@ubuntu:~$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Login ke user hduser dengan perintah:

user@ubuntu:~$ su hduser

Set JAVA_HOME di file .bashrc dengan memasukkan path yg sesuai, misalnya untuk java di direktori /usr/local/java , maka tambahkan baris berikut ini:

export JAVA_HOME=/usr/local/java

Apply setting dengan jalankan perintah berikut ini:

hduser@ubuntu:~$ . .bashrc

7. Configure SSH

Hadoop memerlukan akses SSH untuk memanage node-node-nya. Kita perlu melakukan konfigurasi akses SSH ke localhost untuk user hadoop yang sudah kita buat sebelumnya, dan ke data node-nya nantinya.

a. install ssh

hduser@ubuntu:~$ sudo apt-get install ssh

b. generate an SSH key untuk user hadoop

hduser@ubuntu:~$ ssh-keygen -t rsa -P ""

Perintah di atas akan membuat RSA key pair dengan password kosong. Sebenarnya penggunaan password kosong ini tidak disarankan dari sisi keamanan, namun dalam hal ini kita memerlukan akses tanpa password untuk keperluan interaksi Hadoop dengan node-node-nya. Tentunya kita tidak ingin memasukkan password setiap kali Hadoop mengakses node-nya, bukan?

c. enable akses SSH ke local machine dengan key yang baru dibuat

hduser@ubuntu:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

d. test setting SSH

Langkah terakhir adalah testing setup SSH tersebut dengan melakukan koneksi ke localhost menggunakan user hadoop. Langkah ini juga diperlukan untuk menyimpan host key dingerprint ke file known_host milik user hadoop.
hduser@ubuntu:~$ ssh localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is 34:72:32:43:11:87:fa:83:7e:ea:13:e6:43:68:28:0f.
Are you sure you want to continue connecting (yes/no)? yes

Langkah terakhir adalah testing setup SSH tersebut dengan melakukan koneksi ke localhost menggunakan user hadoop. Langkah ini juga diperlukan untuk menyimpan host key fingerprint ke file known_host milik user hadoop.

8. Instalasi Hadoop

Download hadoop di https://www.apache.org/dist/hadoop/core/hadoop-2.6.0/hadoop-2.6.0.tar.gz, extract ke sebuah direktori, misalnya /usr/local/hadoop.

hduser@ubuntu:~$ cd /usr/local
hduser@ubuntu:~$ sudo tar xzf hadoop-2.6.0.tar.gz
hduser@ubuntu:~$ sudo cp -Rh hadoop-2.6.0 /usr/local/hadoop
Update File .bashrc

Tambahkan baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian. Berikut ini setting untuk instalasi openjdk7:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
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"
#HADOOP VARIABLES END

Untuk instalasi java di /usr/local/java, sesuaikan setting JAVA_HOME sbb:

export JAVA_HOME=/usr/local/java
Create direktori untuk hadoop filesystem

Berikut ini beberapa direktori yang perlu dibuat untuk hadoop file system, yang akan di-set dalam parameter dfs.namenode.name.dir , dfs.datanode.name.dir di file

/usr/local/hadoop/etc/hadoop/conf/hdfs-site.xml dan parameter hadoop.tmp.dir di file /usr/local/hadoop/etc/hadoop/conf/core-site.xml: /app/hadoop/namenode, /app/hadoop/datanode dan /app/hadoop/tmp
hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/namenode
hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/namenode

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/datanode hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/datanode

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/tmp
hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/tmp
Catatan : jika langkah di atas terlewat, maka kemungkinan anda akan mendapatkan error permission denied atau java.io.IOException ketika anda akan memformat HDFS namenode.

Update Hadoop File Configuration

Berikut ini beberapa file yang perlu di-update di direktori /usr/local/hadoop/etc/hadoop/etc/hadoop

a. File hadoop-env.sh

hduser@ubuntu:~$ vi $HADOOP_INSTALL/etc/hadoop/hadoop-env.sh

# The java implementation to use. Required.

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

b. File-file *-site.xml

Dalam file /usr/local/hadoop/etc/hadoop/core-site.xml: <property> <name><span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>.tmp.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://ubuntu1:54310</value> <description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.</description> </property>

Dalam file /usr/local/hadoop/etc/hadoop/mapred-site.xml:

<property> <name>mapred.job.tracker</name> <value>ubuntu1:54311</value> <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task. </description> </property>

Dalam file /usr/local/hadoop/etc/hadoop/conf/hdfs-site.xml:

<property> <name>dfs.replication</name> <value>2</value> <description>Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time. </description> </property> <property> <name>dfs.data.dir</name> <value>file:///app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/datanode</value> <final>true</final> </property> <property> <name>dfs.name.dir</name> <value>file:///app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/namenode</value> <final>true</final> </property> <property> <name>dfs.namenode.http-address</name> <value>ubuntu1:50070</value> <description>The address and the base port where the dfs namenode web ui will listen on. </description> </property>

Lho, gitu aja? Oh tentu tidak..!

Langkah selanjutnya akan dijelaskan pada bagian 2, so stay tune 🙂

Contributor :

M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Jan 11 / 2016
  • Comments Off on Seri Tutorial : Instalasi Hadoop Single Node di Ubuntu 14.04 VMWare
Big Data, Forum Info, Hadoop, Implementation

Seri Tutorial : Instalasi Hadoop Single Node di Ubuntu 14.04 VMWare

Jika anda baru saja berkenalan dengan big data dan ingin mengetahui lebih dalam mengenai Hadoop, anda mungkin ingin mencoba melakukan instalasi Hadoop anda sendiri. Langkah yang paling sederhana adalah dengan melakukan instalasi Hadoop di satu mesin, atau disebut dengan single node. Jika anda tidak memiliki environment linux sendiri, maka yang paling mudah adalah menjalankan linux sebagai virtual machine, dengan VMWare atau VirtualBox misalnya.

Dengan melakukan instalasi dan setup sendiri, anda akan mendapatkan gambaran yang lebih jelas mengenai apa saja yang menjadi komponen Hadoop, dan bagaimana kira-kira Hadoop bekerja.

Dalam tutorial ini akan dijelaskan langkah instalasi Hadoop 2.6.0 di Ubuntu 14.04 VMware

1. Install VMWare Player

Install VMWare player, tergantung OS host anda (32 atau 64 bit) :

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/6_0

2. Install Ubuntu

Install Ubuntu 14.04 Download iso image Ubuntu 14.04 LTS di http://releases.ubuntu.com/14.04/ (tergantung keperluan anda, 32 atau 64 bit)

3. Install openjdk

Install open jdk 7 dengan command sbb:

user@ubuntu:~$ sudo apt-get install openjdk-7-jdk

4. Cek instalasi java/

user@ubuntu:~$ java -version

java version "1.7.0_79"

OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

5. Create dedicated user untuk hadoop

Membuat user hadoop untuk menjalankan hadoop. Langkah ini tidak harus dilakukan, tapi disarankan untuk memisahkan instalasi hadoop dengan aplikasi2 lain di mesin yang sama.

user@ubuntu:~$ sudo addgroup hdgroup

user@ubuntu:~$ sudo adduser --ingroup hdgroup hduser

6. Masukkan hadoop ke dalam sudoers (untuk create direktori, set permission, dll)

user@ubuntu:~$ sudo adduser hduser sudo

7. Configure SSH

Hadoop memerlukan akses SSH untuk memanage node-node-nya. Untuk single node Hadoop, kita perlu melakukan konfigurasi akses SSH ke localhost untuk user hadoop yang sudah kita buat sebelumnya.

a. install ssh

user@ubuntu:~$ sudo apt-get install ssh

b. generate an SSH key untuk user hadoop

user@ubuntu:~$ su -hduser/p>
hduser@ubuntu:~$ ssh-keygen -t rsa -P ""

Baris ke dua command di atas akan membuat RSA key pair dengan password kosong. Sebenarnya penggunaan password kosong ini tidak disarankan dari sisi keamanan, namun dalam hal ini kita memerlukan akses tanpa password untuk keperluan interaksi Hadoop dengan node-node-nya. Tentunya kita tidak ingin memasukkan password setiap kali Hadoop mengakses node-nya, bukan?

c. enable akses SSH ke local machine dengan key yang baru dibuat

hduser@ubuntu:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

d. test setting SSH

Langkah terakhir adalah testing setup SSH tersebut dengan melakukan koneksi ke localhost menggunakan user hadoop. Langkah ini juga diperlukan untuk menyimpan host key dingerprint ke file known_host milik user hadoop.

hduser@ubuntu:~$ ssh localhost

8. Instalasi Hadoop

Download hadoop di https://www.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1.tar.gz, extract ke sebuah direktori, misalnya /usr/local/hadoop.

hduser@ubuntu:~$ cd /usr/local hduser@ubuntu:~$ sudo tar xzf hadoop-1.0.3.tar.gz hduser@ubuntu:~$ sudo mv hadoop-1.0.3 hadoop

Jangan lupa take ownership dari direktori tersebut

hduser@ubuntu:~$ sudo chown -R hadoop:hadoop hadoop

9. Update File .bashrc

Tambahkan baris berikut ini ke akhir file $HOME/.bashrc dari user hadoop. Jika anda menggunakan shell selain bash, maka anda perlu meng-update config file yang bersesuaian

hduser@ubuntu:~$ file /etc/alternatives/java /etc/alternatives/javac

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

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"

#HADOOP VARIABLES END

11. Update Hadoop File Configuration

Berikut ini beberapa file yang perlu diupdate di direktori /usr/local/hadoop/conf/

a. File hadoop-env.sh

hduser@ubuntu:~$ vi $HADOOP_INSTALL/conf
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

b. File-file *-site.xml

Buat temporary direktori untuk hadoop app untuk parameter hadoop.tmp.dir, dalam hal ini digunakan /app/hadoop/tmp.

hduser@ubuntu:~$ sudo mkdir -p /app/hadoop/tmp

hduser@ubuntu:~$ sudo chown hduser:hdgroup /app/hadoop/tmp

Catatan : jika langkah di atas terlewat, maka kemungkinan anda akan mendapatkan error permission denied atau java.io.IOException ketika anda akan memformat HDFS namenode.

Dalam file conf/core-site.xml: <property> <name><span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>.tmp.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp</value> <description>A base for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:54310</value> <description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.</description> </property>

Dalam file conf/mapred-site.xml:

<property> <name>mapred.job.tracker</name> <value>localhost:54311</value> <description>The host and port that the MapReduce job tracker runs at. If "local", then jobs are run in-process as a single map and reduce task. </description> </property>

Dalam file conf/hdfs-site.xml:

<property> <name>dfs.replication</name> <value>1</value> <description>Default block replication. The actual number of replications can be specified when the file is created. The default is used if replication is not specified in create time. </description> </property> <property> <name>dfs.data.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp/dfs/data</value> <final>true</final> </property> <property> <name>dfs.name.dir</name> <value>/app/<span class="explanatory-dictionary-highlight" data-definition="explanatory-dictionary-definition-52">hadoop</span>/tmp/dfs/name</value> <final>true</final> </property>

12.Format HDFS file system

Lakukan pada pertama kali instalasi. Jangan melakukan namenode format untuk Hadoop yang sudah berjalan (berisi data), karena perintah format ini akan menghapus semua data di HDFS.

hduser@ubuntu:$ /usr/local/hadoop/bin/hadoop namenode -format
Outputnya akan seperti berikut ini:

hduser@ubuntu:$ /usr/local/hadoop/bin/hadoop namenode -format

10/05/08 16:59:56 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG: host = ubuntu/127.0.1.1

STARTUP_MSG: args = [-format]

STARTUP_MSG: version = 0.20.2

STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010

************************************************************/

10/05/08 16:59:56 INFO namenode.FSNamesystem: fsOwner=hadoop,hadoop

10/05/08 16:59:56 INFO namenode.FSNamesystem: supergroup=supergroup

10/05/08 16:59:56 INFO namenode.FSNamesystem: isPermissionEnabled=true

10/05/08 16:59:56 INFO common.Storage: Image file of size 96 saved in 0 seconds.

10/05/08 16:59:57 INFO common.Storage: Storage directory .../hadoop-hadoop/dfs/name has been successfully formatted.

10/05/08 16:59:57 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at ubuntu/127.0.1.1

************************************************************/

hduser@ubuntu:$

13. Start single-node Hadoop cluster

hduser@ubuntu:~$ /usr/local/hadoop/sbin/start-dfs.sh

Perintah ini menjalankan Namenode, Datanode, Jobtracker dan Tasktracker Outputnya seperti di bawah ini:

hduser@ubuntuserver:~$ /usr/local/hadoop/sbin/start-dfs.sh

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-ubuntuserver.out

localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-ubuntuserver.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-ubuntuserver.out

Salah satu cara praktis mengecek Hadoop proses apa saja yang berhasil dijalankan adalah dengan perintah jps (termasuk di dalam package open jdk 6).

hduser@ubuntu:$ jps

2287 TaskTracker

2149 JobTracker

1938 DataNode

2085 SecondaryNameNode

2349 Jps

1788 NameNode

14. Stop Hadoop services

hduser@ubuntu:~$ /usr/local/hadoop/bin/stop-dfs.sh

Outputnya seperti di bawah ini:

hduser@ubuntu:$ /usr/local/hadoop/bin/stop-all.sh

stopping jobtracker

localhost: stopping tasktracker

stopping namenode

localhost: stopping datanode

localhost: stopping secondarynamenode

hduser@ubuntu:/usr/local/hadoop$

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng. Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun. Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.

Pages:1...56789101112
Tertarik dengan Big Data beserta ekosistemnya? Gabung