Senin, 28 November 2022

Install Hadoop Clustering Dengan Mudah

 Ok, Melanjutkan pembahasan dari postingan sebelumnya mengenai BigData. Kali ini saya akan share info mengenai salah satu infrastruktur yang dipakai untuk big data. sepertinya aplikasi ini mulai populer di banyak orang IT. 

Aplikasi ini digunakan untuk menyimpan dan memproses kumpulan data besar secara efisien mulai dari ukuran gigabyte hingga petabyte data.  Aplikasi ini memungkinkan pengelompokan banyak komputer (Clustering Computer) untuk menganalisis kumpulan data besar secara paralel dengan lebih cepat.

Ada yg tau, Aplikasi apa-kah itu ?


Yaps..

Aplikasi nya adalah "Hadoop

dan.. is an open source framework from apache.


Ada beberapa Modules dari Hadoop iniy yang paling sering digunakan :

  1. HDFS ( Hadoop Distributed File System ) adalah sistem file terdistribusi pada cluster, HDFS memberikan throughput data yang lebih baik daripada sistem file tradisional, selain "high fault tolerance" dan dukungan asli untuk kumpulan data besar.
  2. YARN ( Yet Another Resource Negotiator ) dapat Mengelola dan memantau node cluster dan penggunaan sumber daya, serta menjadwalkan pekerjaan dan tugas untuk dieksekusi secara terdistribusi.
  3. MapReduce sebuah model programming/Algoritma untuk pengelolaan data untuk menentukan bagaimana data tersebut dijadikan input dan output untuk diterapkan.
  4. Hadoop Common Berisi libraries dan utilities yang dibutuhkan oleh modul Hadoop lainnya.

Ekosistem Hadoop telah tumbuh secara signifikan selama bertahun-tahun karena kemampuannya untuk diperluas. Saat ini, ekosistem Hadoop menyertakan banyak alat dan aplikasi untuk membantu mengumpulkan, menyimpan, memproses, menganalisis, dan mengelola data besar. Beberapa aplikasi yang paling populer adalah:

  1. Spark – An open source, distributed processing system
  2. Presto – An open source, distributed SQL query engine optimized for low-latency, ad-hoc analysis of data.
  3. Hive – Allows users to leverage Hadoop MapReduce using a SQL interface, enabling analytics at a massive scale, 
  4. HBase – An open source, non-relational database
  5. Zeppelin – An interactive notebook that enables interactive data exploration.
  6. Dan banyak lagi...


Ok, kita bahas Hadoop dulu untuk sekarang.. lebih mendalam & lebih teknis.. Kita akan melakukan instalasi Hadoop di cluster, sebelum memulai kita butuh basic knowledge berikut

  • - Good Understanding Linux System
  • - Understanding Server Services & Daemon
  • - Understanding Services SSH Management of Authorized_Keys

Ok.. pada tutorial ini kita akan menjalankan 3 buah virtual machine secara bersamaan untuk test clustering computers.

Pastikan ketiga server di atas dapat saling terhubung satu dengan lainnya, disarankan tergabung dalam satu segment network yang sama dan menggunakan statik IP. 

agar hubungan antar server ini saling terjaga dan mangkin erat.. kita akan mengedit file "/etc/hosts" pada masing-masing server.


Next, Ketiga server diatas, harus menginstall Java.

Hadoop dibuat menggunakan bahasa progaman “Java”,  jadi kita perlu melakukan instalasi Java. dengan syntax berikut :

    # yum install java-1.8.0-openjdk*

Jika sudah ter’install dengan benar kita dapat melakukan pengecekan instalasi Java tersebut

    # java -version  /  # javac -version


Hadoop-Master memerlukan akses SSH untuk memanage node-node-nya.

Kita perlu melakukan konfigurasi akses SSH-Key ke setiap node-nya, serta localhost VM-master ini.

$ ssh-keygen -t rsa                                                                    

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys            

$ chmod 0600 ~/.ssh/authorized_keys               


next.. kita copy file "authorized_keys" ke semua node cluster (VM-2 $ VM-3)

$ scp [file-authorized_keys] [Linux-User]@[SERVER]:/home/[User]/.ssh/authorized_keys


Lalu kita lakukan test, dengan melakukan ssh

            $ ssh localhost

jika tidak ada tampilan password prompt berarti berhasil generate ssh-keygen nya.


Lalu, download hadoop pada website Official Website nya https://hadoop.apache.org/releases.html

Pilih binary download, pada tutorial ini kita akan menggunakan Hadoop version 3.3.4

$ wget [URL-Link]/hadoop-3.3.4.tar.gz

*jika belum ada “wget” dapat melakukan instalasi “yum install wget”

Extract file hadoop yang tadi di download dengan command berikut

$ tar xzf hadoop-3.3.4.tar.gz

Rename folder extract tadi agar lebih simple path nya (opsional)

               $ mv /[extract folder]/ hadoop/


Oiya, kita juga perlu mengedit file ".bashrc" untuk membuat beberapa shortcut untuk syntax hadoop.

 Nah.. ini tahap penting mengedit hadoop configuration files, ada beberapa file yang perlu di-edit pada configurasi ini

  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml
  • workers

files-files tersebut berada pada folder “/etc/hadoop”masukan ke dalam folder tersebut dengan command berikut :

        $ cd $HADOOP_HOME/etc/hadoop


  • core site.xml, isikan config seperti berikut :

<configuration>

      <property>

           <name>fs.defaultFS</name>

           <value>hdfs://192.168.56.103:9000</value>  ## isi-kan sesuai IP dari VM-1 kalian

      </property>

</configuration>

 

  • hdfs-site.xml, isikan config seperti berikut :

<configuration>

        <property>

                       <name>dfs.replication</name>

                        <value>1</value>

        </property>

        <property>

                        <name>dfs.name.dir</name>

                        <value>file:///home/hadoop2/hadoopdata/hdfs/namenode</value>

         </property>

         <property>

                       <name>dfs.data.dir</name>

                       <value>file:///home/hadoop2/hadoopdata/hdfs/datanode</value> 

          </property>

</configuration>

** ## Pastikan alamat directory / folder diatas benar & sesuai dengan system kalian, dan berikan permission 755 pada folder di atas.


  • mapred-site.xml, isikan config seperti berikut :

<configuration>

        <property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

        </property>

</configuration>


  • yarn-site.xml, isikan config seperti berikut :

<configuration>

     <property>

            <name>yarn.acl.enable</name>

            <value>0</value>

    </property>

    <property>

            <name>yarn.resourcemanager.hostname</name>

            <value>192.168.56.103</value>  #isikan dengan IP VM-1

    </property>

    <property>

            <name>yarn.nodemanager.aux-services</name>

            <value>mapreduce_shuffle</value>

    </property>

</configuration>


  • worker, isikan hostname dari setiap node :


Copy Configuration tersebut !

Selanjutnya copy semua file yang sudah dikonfigurasi di atas ke masing-masing Node menggunakan perintah scp, pastikan working directory anda masih berada di /hadoop/etc/hadoop.

$ hadoop@VM-1 $ scp [file1] [file2] [file3] user@server:[alamat-directory]

 

Start HDFS dari server master dengan menggunakan perintah berikut :

$ start-all.sh

perintah ini akan menjalankan NameNode dan Secondary NameNode pada Server Master (VM-1) dan menjalankan DataNode pada node1 (VM-2) dan node2 (VM-3), sesuai konfigurasi file workers yang sebelumnya kita config.

** Sangat direkomendasikan untuk mematikan system firewall & disabled SELINUX pada semua server.


____________________ Break dulu ________________


Jika porses di atas dapat berjalan dengan baik, maka kita dapat mengecek dengan menggunakan JPS  (Lists the instrumented Java Virtual Machines (JVMs). 

proses running pada VM server master


Lakukan juga pengecekan Pada server lain

    

                                 Secara gambaran topology seperti ini

                                           











Untuk melihat aktif cluster berjalan dapat menggunakan 


Yarn Manager 



atau dengan menggunakan perintah berikut 

$ yarn node -list




Ok, dengan ini kalian sudah berhasil mengsintall hadoop secara cluster, next kita akan bahas lagi lebih mendalam tentang hadoop ini.

Jika ada yg ingin ditanyakan.. feel free to kontak di linkedin / email, 

Terima kasih, salam sukses.


Share:
Dki Jakarta,Indonesia Jakarta, Indonesia