Headlines News :

POPULAR POST

Ubuntu Big Data

Pengenalan Big Data

'Big Data', pastinya banyak di antara kita yang masih asing dengan istilah tersebut. Namun belakangan ini istilah 'Big Data' menjadi topik pembahasan dominan di bidang industri teknologi dan informasi (TI) dunia.

Awalnya Big Data adalah sebuah sistem teknologi yang diperkenalkan untuk menanggulangi 'ledakan informasi' seiring dengan semakin bertumbuhnya ekosistem pengguna perangkat mobile dan data internet. Pertumbuhan perangkat mobile dan data internet ternyata sangat mempengaruhi perkembangan volume dan jenis data yang terus meningkat secara signifikan di dunia maya.

Berbagai jenis data, mulai data yang berupa teks, gambar atau foto, video hingga bentuk data-data lainnya membanjiri sistem komputasi. Tentunya hal ini perlu jalan keluar. Dan Big Data adalah solusi yang kerap digaungkan beberapa waktu belakangan ini.

Sejatinya hingga saat ini belum ada definisi resmi dari istilah Big Data. Akan tetapi kemunculnya memang dianggap solusi dari fakta yang menunjukkan bahwa pertumbuhan data dari waktu ke waktu telah melampaui batas kemampuan media penyimpanan maupun sistem database yang ada saat ini.

Sementara itu IBM di situs resminya mendefinisikan Big Data ke dalam tiga istilah yaitu volume , variety , dan velocity. Volume di sini berkaitan dengan ukuran media penyimpanan data yang sangat besar atau mungkin tak terbatas. Sementara variety berarti tipe atau jenis data yang dapat diakomodasi. Sedangkan velocity dapat diartikan sebagai kecepatan proses.

Dengan begitu, Big Data dapat diasumsikan sebagai sebuah media penyimpanan data yang menawarkan ruang tak terbatas, serta kemampuan untuk mengakodasi dan memproses berbagai jenis data dengan sangat cepat.

Di sektor bisnis Big Data, Google bisa dikatakan sebagai pelopor. Perusahaan yang berbasis di Mountain View, California itu di tahun 2006 sempat memperkenalkan Google Bigtable. Bigtable merupakan sistem database berskala besar dan cepat yang digunakan Google untuk mengolah berbagai jenis data dari berbagai layanan, termasuk data dari layanan mesin pencari berbasis internet milik mereka.

Setelah Google, jejaring sosial milik Mar Zuckerberg, Facebook, pun menerapkan sistem database sejenis untuk menangani melonjaknya pengguna layanan mereka. Dengan teknologi Big Data, Facebook tak pernah kesulitan untuk menangani peredaran data yang melonjak drastis dalam enam tahun terakhir yang berasal dari 1 miliar pengguna jejaring sosial mereka.


Instalasi Hadoop 2.6 di Ubuntu 14.04

Dalam bagian ini, kita akan mencoba menginstal satu-simpul Hadoop cluster yang didukung oleh Hadoop Distributed File System pada Ubuntu.

Langkah pertama 

Instalasi Java

Hadoop framework di tulis dalam bahasa programing java


k@laptop:~$ cd ~

# Update the source list
k@laptop:~$ sudo apt-get update

# The OpenJDK project is the default version of Java 
# that is provided from a supported Ubuntu repository.
k@laptop:~$ sudo apt-get install default-jdk

k@laptop:~$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode) 
 
Langkah kedua
Menambahkan dedicated Hadoop user

k@laptop:~$ sudo addgroup hadoop
Adding group `hadoop' (GID 1002) ...
Done.

k@laptop:~$ sudo adduser --ingroup hadoop hduser
Adding user `hduser' ...
Adding new user `hduser' (1001) with group `hadoop' ...
Creating home directory `/home/hduser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for hduser
Enter the new value, or press ENTER for the default
 Full Name []: 
 Room Number []: 
 Work Phone []: 
 Home Phone []: 
 Other []: 
Is the information correct? [Y/n] Y 
 
 
Langkah ketiga

Instalasi SSH
ssh memiliki dua komponen utama:

 1. ssh   : Perintah yang kita gunakan untuk terhubung ke mesin remote - klien.
 2. sshd : The daemon yang berjalan di server dan memungkinkan klien untuk terhubung ke server.


Ssh yang pra-diaktifkan pada Linux, tetapi untuk memulai daemon sshd, kita perlu menginstal ssh pertama. Gunakan perintah ini untuk melakukannya:

k@laptop:~$ sudo apt-get install ssh 
 
Ini akan menginstal ssh pada mesin kita. Jika kita mendapatkan sesuatu yang mirip dengan berikut ini, kita dapat berpikir itu adalah setup dengan benar:

k@laptop:~$ which ssh
/usr/bin/ssh

k@laptop:~$ which sshd
/usr/sbin/sshd


Langkah keempat

Membuat dan Konfigurasi Sertifikat SSH

Hadoop membutuhkan akses SSH untuk mengelola node-nya, yaitu mesin remote ditambah mesin lokal kita. Untuk pengaturan single-node Hadoop kita, maka kita perlu mengkonfigurasi akses SSH ke localhost.

Jadi, kita perlu memiliki SSH dan berjalan pada mesin kita dan dikonfigurasi untuk memungkinkan SSH otentikasi kunci publik.

Hadoop menggunakan SSH (untuk mengakses node nya) yang biasanya akan meminta user untuk memasukkan password. Namun, persyaratan ini dapat dihilangkan dengan menciptakan dan menyiapkan sertifikat SSH menggunakan perintah berikut. Jika diminta untuk nama file biarkan kosong dan tekan tombol enter untuk melanjutkan.

k@laptop:~$ su hduser
Password: 
k@laptop:~$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa): 
Created directory '/home/hduser/.ssh'.
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
The key fingerprint is:
50:6b:f3:fc:0f:32:bf:30:79:c2:41:71:26:cc:7d:e3 hduser@laptop
The key's randomart image is:
+--[ RSA 2048]----+
|        .oo.o    |
|       . .o=. o  |
|      . + .  o . |
|       o =    E  |
|        S +      |
|         . +     |
|          O +    |
|           O o   |
|            o..  |
+-----------------+


hduser@laptop:/home/k$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Perintah kedua menambahkan kunci baru dibuat untuk daftar kunci yang berwenang sehingga Hadoop dapat menggunakan ssh tanpa disuruh untuk memasukan password.

Kita bisa memeriksa apakah ssh bekerja :

hduser@laptop:/home/k$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is e1:8b:a0:a5:75:ef:f4:b4:5e:a9:ed:be:64:be:5c:2f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64)
... 
 
Langkah kelima

Menginstal Hadoop 

hduser@laptop:~$ wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz 

hduser@laptop:~$ tar xvzf hadoop-2.6.0.tar.gz 
 
 
Kami ingin memindahkan instalasi Hadoop ke direktori /usr/local/Hadoop menggunakan perintah berikut:


hduser@laptop:~/hadoop-2.6.0$ su k
Password: 

k@laptop:/home/hduser$ sudo adduser hduser sudo
[sudo] password for k: 
Adding user `hduser' to group `sudo' ...
Adding user hduser to group sudo
Done. 
 

k@laptop:/home/hduser$ sudo su hduser
 
hduser@laptop:~/hadoop-2.6.0$ sudo mv * /usr/local/hadoop 
hduser@laptop:~/hadoop-2.6.0$ sudo chown -R hduser:hadoop /usr/local/hadoop 
 
Langkah keenam

Pengaturan Konfigurasi File



File-file berikut akan harus diubah untuk menyelesaikan pengaturan Hadoop:
  

  1. ~/.bashrc
  2. /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  3. /usr/local/hadoop/etc/hadoop/core-site.xml
  4. /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
  5. /usr/local/hadoop/etc/hadoop/hdfs-site.xml
1. ~/.bashrc:

Sebelum mengedit file .bashrc di direktori home kita, kita harus menemukan direktori mana Java telah dipasang untuk mengatur variabel lingkungan JAVA_HOME menggunakan perintah berikut:

hduser@laptop update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure.

Sekarang kita dapat menambahkan berikut ke akhir ~ / .bashrc:

hduser@laptop:~$ vi ~/.bashrc

#HADOOP VARIABLES START
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

hduser@laptop:~$ source ~/.bashrc

catatan bahwa JAVA_HOME harus ditetapkan sebagai direktori sebelum           '... /bin/':

hduser@ubuntu-VirtualBox:~$ javac -version
javac 1.7.0_75

hduser@ubuntu-VirtualBox:~$ which javac
/usr/bin/javac

hduser@ubuntu-VirtualBox:~$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-7-openjdk-amd64/bin/javac

2. /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Kita perlu mengatur JAVA_HOME dengan memodifikasi berkas hadoop-env.sh.

hduser@laptop:~$ vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh

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

Menambahkan pernyataan di atas dalam file hadoop-env.sh memastikan bahwa nilai variabel JAVA_HOME akan tersedia untuk Hadoop kapan pun ia mulai naik.

3. /usr/local/hadoop/etc/hadoop/core-site.xml:
  
File /usr/local/hadoop/etc/hadoop/core-site.xml mengandung sifat konfigurasi yang menggunakan Hadoop ketika memulai.
File ini dapat digunakan untuk menimpa pengaturan default yang Hadoop dimulai dengan.


hduser@laptop:~$ sudo mkdir -p /app/hadoop/tmp
hduser@laptop:~$ sudo chown hduser:hadoop /app/hadoop/tmp
 
Buka file dan masukkan berikut di antara <configuration> </ configuration> tag:

hduser@laptop:~$ vi /usr/local/hadoop/etc/hadoop/core-site.xml


 
  hadoop.tmp.dir
  /app/hadoop/tmp
  A base for other temporary directories.
 

 
  fs.default.name
  hdfs://localhost:54310
  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.
 

 
4. /usr/local/hadoop/etc/hadoop/mapred-site.xml



Secara default, / usr / local / Hadoop / etc / Hadoop / folder berisi
/usr/local/hadoop/etc/hadoop/mapred-site.xml.template
File yang harus diganti / disalin dengan nama mapred-site.xml:

hduser@laptop:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

File mapred-site.xml digunakan untuk menentukan kerangka kerja yang digunakan untuk MapReduce.
Kita perlu untuk memasukkan konten berikut di antara <configuration> </ configuration> tag:

 


 
  mapred.job.tracker
  localhost:54311
  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.
  
 



5. /usr/local/hadoop/etc/hadoop/hdfs-site.xml


File /usr/local/hadoop/etc/hadoop/hdfs-site.xml perlu dikonfigurasi untuk setiap host di cluster yang sedang digunakan.
Hal ini digunakan untuk menentukan direktori yang akan digunakan sebagai namenode dan datanode pada host itu.


Sebelum mengedit file ini, kita perlu membuat dua direktori yang akan berisi namenode dan datanode untuk instalasi Hadoop ini.
Hal ini dapat dilakukan dengan menggunakan perintah berikut:


hduser@laptop:~$ sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode
hduser@laptop:~$ sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode
hduser@laptop:~$ sudo chown -R hduser:hadoop /usr/local/hadoop_store
 
Buka file dan masukkan konten berikut di antara <configuration> </ configuration> tag:

hduser@laptop:~$ vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml


 
  dfs.replication
  1
  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.
  
 
 
   dfs.namenode.name.dir
   file:/usr/local/hadoop_store/hdfs/namenode
 
 
   dfs.datanode.data.dir
   file:/usr/local/hadoop_store/hdfs/datanode
 

Langkah ketujuh
Format Filesystem Hadoop Baru

Sekarang, sistem file Hadoop perlu diformat sehingga kita dapat mulai menggunakannya. Perintah Format harus dikeluarkan dengan izin menulis karena menciptakan direktori saat
bawah / usr / folder / hadoop_store / HDFS / namenode lokal:

hduser@laptop:~$ hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

15/04/18 14:43:03 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = laptop/192.168.1.1
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 2.6.0
STARTUP_MSG:   classpath = /usr/local/hadoop/etc/hadoop
...
STARTUP_MSG:   java = 1.7.0_65
************************************************************/
15/04/18 14:43:03 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]
15/04/18 14:43:03 INFO namenode.NameNode: createNameNode [-format]
15/04/18 14:43:07 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Formatting using clusterid: CID-e2f515ac-33da-45bc-8466-5b1100a2bf7f
15/04/18 14:43:09 INFO namenode.FSNamesystem: No KeyProvider found.
15/04/18 14:43:09 INFO namenode.FSNamesystem: fsLock is fair:true
15/04/18 14:43:10 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
15/04/18 14:43:10 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostname-check=true
15/04/18 14:43:10 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec is set to 000:00:00:00.000
15/04/18 14:43:10 INFO blockmanagement.BlockManager: The block deletion will start around 2015 Apr 18 14:43:10
15/04/18 14:43:10 INFO util.GSet: Computing capacity for map BlocksMap
15/04/18 14:43:10 INFO util.GSet: VM type       = 64-bit
15/04/18 14:43:10 INFO util.GSet: 2.0% max memory 889 MB = 17.8 MB
15/04/18 14:43:10 INFO util.GSet: capacity      = 2^21 = 2097152 entries
15/04/18 14:43:10 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=false
15/04/18 14:43:10 INFO blockmanagement.BlockManager: defaultReplication         = 1
15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxReplication             = 512
15/04/18 14:43:10 INFO blockmanagement.BlockManager: minReplication             = 1
15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxReplicationStreams      = 2
15/04/18 14:43:10 INFO blockmanagement.BlockManager: shouldCheckForEnoughRacks  = false
15/04/18 14:43:10 INFO blockmanagement.BlockManager: replicationRecheckInterval = 3000
15/04/18 14:43:10 INFO blockmanagement.BlockManager: encryptDataTransfer        = false
15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxNumBlocksToLog          = 1000
15/04/18 14:43:10 INFO namenode.FSNamesystem: fsOwner             = hduser (auth:SIMPLE)
15/04/18 14:43:10 INFO namenode.FSNamesystem: supergroup          = supergroup
15/04/18 14:43:10 INFO namenode.FSNamesystem: isPermissionEnabled = true
15/04/18 14:43:10 INFO namenode.FSNamesystem: HA Enabled: false
15/04/18 14:43:10 INFO namenode.FSNamesystem: Append Enabled: true
15/04/18 14:43:11 INFO util.GSet: Computing capacity for map INodeMap
15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit
15/04/18 14:43:11 INFO util.GSet: 1.0% max memory 889 MB = 8.9 MB
15/04/18 14:43:11 INFO util.GSet: capacity      = 2^20 = 1048576 entries
15/04/18 14:43:11 INFO namenode.NameNode: Caching file names occuring more than 10 times
15/04/18 14:43:11 INFO util.GSet: Computing capacity for map cachedBlocks
15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit
15/04/18 14:43:11 INFO util.GSet: 0.25% max memory 889 MB = 2.2 MB
15/04/18 14:43:11 INFO util.GSet: capacity      = 2^18 = 262144 entries
15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033
15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0
15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension     = 30000
15/04/18 14:43:11 INFO namenode.FSNamesystem: Retry cache on namenode is enabled
15/04/18 14:43:11 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis
15/04/18 14:43:11 INFO util.GSet: Computing capacity for map NameNodeRetryCache
15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit
15/04/18 14:43:11 INFO util.GSet: 0.029999999329447746% max memory 889 MB = 273.1 KB
15/04/18 14:43:11 INFO util.GSet: capacity      = 2^15 = 32768 entries
15/04/18 14:43:11 INFO namenode.NNConf: ACLs enabled? false
15/04/18 14:43:11 INFO namenode.NNConf: XAttrs enabled? true
15/04/18 14:43:11 INFO namenode.NNConf: Maximum size of an xattr: 16384
15/04/18 14:43:12 INFO namenode.FSImage: Allocated new BlockPoolId: BP-130729900-192.168.1.1-1429393391595
15/04/18 14:43:12 INFO common.Storage: Storage directory /usr/local/hadoop_store/hdfs/namenode has been successfully formatted.
15/04/18 14:43:12 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
15/04/18 14:43:12 INFO util.ExitUtil: Exiting with status 0
15/04/18 14:43:12 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at laptop/192.168.1.1
************************************************************/

Perhatikan bahwa perintah-format Hadoop namenode harus dieksekusi sekali sebelum kita mulai menggunakan Hadoop.
Jika perintah ini dijalankan lagi setelah Hadoop telah digunakan, itu akan menghancurkan semua data pada sistem file Hadoop.


Langkah kedelapan

Memulai Hadoop

Sekarang saatnya untuk memulai yang baru diinstal node cluster tunggal.
Kita bisa menggunakan start-all.sh atau
(start-dfs.sh dan start-yarn.sh)

k@laptop:~$ cd /usr/local/hadoop/sbin

k@laptop:/usr/local/hadoop/sbin$ ls
distribute-exclude.sh    start-all.cmd        stop-balancer.sh
hadoop-daemon.sh         start-all.sh         stop-dfs.cmd
hadoop-daemons.sh        start-balancer.sh    stop-dfs.sh
hdfs-config.cmd          start-dfs.cmd        stop-secure-dns.sh
hdfs-config.sh           start-dfs.sh         stop-yarn.cmd
httpfs.sh                start-secure-dns.sh  stop-yarn.sh
kms.sh                   start-yarn.cmd       yarn-daemon.sh
mr-jobhistory-daemon.sh  start-yarn.sh        yarn-daemons.sh
refresh-namenodes.sh     stop-all.cmd
slaves.sh                stop-all.sh

k@laptop:/usr/local/hadoop/sbin$ sudo su hduser

hduser@laptop:/usr/local/hadoop/sbin$ start-all.sh
hduser@laptop:~$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
15/04/18 16:43:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-laptop.out
localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-laptop.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-laptop.out
15/04/18 16:43:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
starting yarn daemons
starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-laptop.out
localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-laptop.out

 Kita bisa memeriksa apakah itu benar-benar berdiri dan berjalan:
 
hduser@laptop:/usr/local/hadoop/sbin$ jps
9026 NodeManager
7348 NameNode
9766 Jps
8887 ResourceManager
7507 DataNode

Output berarti bahwa kita sekarang memiliki contoh fungsional Hadoop berjalan pada VPS kami (Virtual private server).

Cara lain untuk memeriksa adalah menggunakan netstat:


hduser@laptop:~$ netstat -plten | grep java
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:50020           0.0.0.0:*               LISTEN      1001       1843372     10605/java      
tcp        0      0 127.0.0.1:54310         0.0.0.0:*               LISTEN      1001       1841277     10447/java      
tcp        0      0 0.0.0.0:50090           0.0.0.0:*               LISTEN      1001       1841130     10895/java      
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      1001       1840196     10447/java      
tcp        0      0 0.0.0.0:50010           0.0.0.0:*               LISTEN      1001       1841320     10605/java      
tcp        0      0 0.0.0.0:50075           0.0.0.0:*               LISTEN      1001       1841646     10605/java      
tcp6       0      0 :::8040                 :::*                    LISTEN      1001       1845543     11383/java      
tcp6       0      0 :::8042                 :::*                    LISTEN      1001       1845551     11383/java      
tcp6       0      0 :::8088                 :::*                    LISTEN      1001       1842110     11252/java      
tcp6       0      0 :::49630                :::*                    LISTEN      1001       1845534     11383/java      
tcp6       0      0 :::8030                 :::*                    LISTEN      1001       1842036     11252/java      
tcp6       0      0 :::8031                 :::*                    LISTEN      1001       1842005     11252/java      
tcp6       0      0 :::8032                 :::*                    LISTEN      1001       1842100     11252/java      
tcp6       0      0 :::8033                 :::*                    LISTEN      1001       1842162     11252/java      


Langkah kesembilan

Menghentikan Hadoop

$ pwd
/usr/local/hadoop/sbin

$ ls
distribute-exclude.sh  httpfs.sh                start-all.sh         start-yarn.cmd    stop-dfs.cmd        yarn-daemon.sh
hadoop-daemon.sh       mr-jobhistory-daemon.sh  start-balancer.sh    start-yarn.sh     stop-dfs.sh         yarn-daemons.sh
hadoop-daemons.sh      refresh-namenodes.sh     start-dfs.cmd        stop-all.cmd      stop-secure-dns.sh
hdfs-config.cmd        slaves.sh                start-dfs.sh         stop-all.sh       stop-yarn.cmd
hdfs-config.sh         start-all.cmd            start-secure-dns.sh  stop-balancer.sh  stop-yarn.sh



Kami menjalankan stop-all.sh atau (stop-dfs.sh dan stop-yarn.sh) untuk menghentikan semua daemon yang berjalan pada komputer kita:

hduser@laptop:/usr/local/hadoop/sbin$ pwd
/usr/local/hadoop/sbin
hduser@laptop:/usr/local/hadoop/sbin$ ls
distribute-exclude.sh  httpfs.sh                start-all.cmd      start-secure-dns.sh  stop-balancer.sh    stop-yarn.sh
hadoop-daemon.sh       kms.sh                   start-all.sh       start-yarn.cmd       stop-dfs.cmd        yarn-daemon.sh
hadoop-daemons.sh      mr-jobhistory-daemon.sh  start-balancer.sh  start-yarn.sh        stop-dfs.sh         yarn-daemons.sh
hdfs-config.cmd        refresh-namenodes.sh     start-dfs.cmd      stop-all.cmd         stop-secure-dns.sh
hdfs-config.sh         slaves.sh                start-dfs.sh       stop-all.sh          stop-yarn.cmd
hduser@laptop:/usr/local/hadoop/sbin$ 
hduser@laptop:/usr/local/hadoop/sbin$ stop-all.sh
This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh
15/04/18 15:46:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Stopping namenodes on [localhost]
localhost: stopping namenode
localhost: stopping datanode
Stopping secondary namenodes [0.0.0.0]
0.0.0.0: no secondarynamenode to stop
15/04/18 15:46:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
stopping yarn daemons
stopping resourcemanager
localhost: stopping nodemanager
no proxyserver to stop




Tampilan Web Hadoop
Mari kita mulai dengan Hadoop lagi dan melihat Web UI:

hduser@laptop:/usr/local/hadoop/sbin$ start-all.sh  

http: // localhost: 50070 / - web UI dari daemon NameNode 

 


Replikasi Database MySQL

Topologi Replikasi Database MySQL, Master to Master dan Master to Slave

Topologi Replikasi Database MySQL, Master to Master dan Master to Slave

Pengenalan Replikasi Database MySQL

Replikasi Database MySQL adalah melakukan sinkronisasi database agar saling entry atau isi database. Selain itu replikasi database bertujuan untuk membuat backup secara realtime apabila Server database MySQL utama (Master) offline / down maka kita tetap bisa mendapatkan data saat entry terakhir dilakukan oleh user di database Backup (Slave). Replikasi Database MySQL ada dua macam:
Master to Master MySQL Replication
Web 1 dan Web 2 bertindak kedua – dua nya sebagai master. Apabila ada Update database di Web 1 maka secara realtime akan di salin ke Web2. Apabila ada update database di Web2 maka secara realtime akan di salin ke Web 1.
Master to Slave MySQL Replication
Web 1 bertindak sebagai database utama (Master), apabila ada update di database Web 1 maka secara realtime di salin ke Web 3. Web 3 hanya bersifat sebagai backup (Slave). Web 3 selalu standby aktif menunggu salinan data dari Web 1.

Konfigurasi Database MySQL Web 1

Konfigurasi my.cnf Web1
root@web1:~# vim /etc/mysql/my.cnf
[mysqld]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
#Nama Database yg akan kita replikasi
binlog_do_db = kurusetra
binlog_ignore_db = mysql
binlog_ignore_db = test
#bind-address = 127.0.0.1
Restart MySQL Web1
root@web1:~# service mysql restart
Replicator Database Web1
root@web1:~# mysql
mysql> create database kurusetra;
mysql> create user ‘replicator’@'%’ identified by ‘password’;
mysql> grant replication slave on *.* to ‘replicator’@'%’;
mysql> \q

Konfigurasi Database MySQL Web2

Konfigurasi my.cnf Web2
root@web2:~# vim /etc/mysql/my.cnf
[mysqld]
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = kurusetra
binlog_ignore_db = mysql
binlog_ignore_db = test
#bind-address = 127.0.0.1
Restart MySQL Web2
root@web2:~# service mysql restart
Replicator Database Web2
root@web2:~# mysql
mysql> create database kurusetra;
mysql> create user ‘replicator’@'%’ identified by ‘password’;
mysql> grant replication slave on *.* to ‘replicator’@'%’;
mysql> \q

Pengujian Replikasi Database MySQL

Konfigurasi Replikasi Web1 ke Web2

## POSISI DI WEB1 ##
root@web1:~# mysql
mysql> show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000004 | 107 | kurusetra | mysql,test |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
# 107 adalah posisi awal sebelum database kurusetra di isi dengan tabel
## POSISI DI WEB2 ##
# KITA JADIKAN WEB1 SEBAGAI MASTER WEB2
root@web2:~# mysql
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST=’192.168.57.40′, MASTER_USER=’replicator’, MASTER_PASSWORD=’password’,MASTER_LOG_FILE=’mysql-bin.000004′, MASTER_LOG_POS=107;
mysql> start slave;
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.57.45
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 107
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000004
#Slave_IO_Running: Yes dan Slave_SQL_Running: Yes
#Berarti Web2 siap melakukan replikasi tabel database kurusetra dari Web1
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
mysql> show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000004 | 1065 | kurusetra | mysql,test |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

Konfigurasi Replikasi Web2 ke Web1

#POSISI DI WEB1
#KITA JADIKAN WEB2 SEBAGAI MASTER WEB1
root@web1:~# mysql
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST=’192.168.57.41′, MASTER_USER=’replicator’, MASTER_PASSWORD=’password’, MASTER_LOG_FILE=’mysql-bin.000004′, MASTER_LOG_POS=1065;
mysql> slave start;
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.57.46
Master_User: replicator
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000004
Read_Master_Log_Pos: 1065
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Pengujian Replikasi Web1 ke Web2

## POSISI KEMBALI KE WEB1 ##
mysql> use kurusetra;
mysql> create table dariweb1 (mid int(11) auto_increment, PRIMARY KEY
-> (mid)) Engine=MyISAM;
mysql> insert into dariweb1 () values ();
##CEK TABEL DI WEB2 (POSISI DI WEB2) ##
mysql> use kurusetra;
mysql> show tables;
#TABEL YANG DIBUAT DI WEB1
#MUNCUL DI WEB2
mysql> show tables;
+———————+
| Tables_in_kurusetra |
+———————+
| dariweb1 |
+———————+
mysql> select * from dariweb1
-> ;
+—–+
| mid |
+—–+
| 1 |
+—–+

Pengujian Replikasi Web2 ke Web1

#POSISI DI WEB2
root@web2:~# mysql
mysql> use kurusetra;
mysql> create table dariweb2 (mid int(11) auto_increment, PRIMARY KEY
-> (mid)) Engine=MyISAM;
mysql> insert into dariweb2 () values ();
mysql> insert into dariweb1 () values ();

#POSISI DI WEB1
root@web1:~# mysql
mysql> use kurusetra;
mysql> show tables;
+———————+
| Tables_in_kurusetra |
+———————+
| dariweb1 |
| dariweb2 |
+———————+

mysql> select * from dariweb2;
+—–+
| mid |
+—–+
| 1 |
+—–+
mysql> select * from dariweb1;
+—–+
| mid |
+—–+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+—–+
 
Copyright © 2011. COMASTNET - All Rights Reserved