Instalasi Apache
Flink di CentOS 7
Tutorial Linux Indonesia | Permintaan untuk
pengolah data secara
cepat dan real-time
telah meningkat, pengolah
data tampaknya menjadi
jawaban.
Sementara Apache
Spark masih banyak
digunakan oleh banyak
perusahaan, organisasi untuk mengolah data
yang besar. Apache Flink datang
dengan cepat sebagai
pengganti Apache Spark.
Banyak yang berpikir
bahwa Apache Flink
dapat mengantikan Apache
Spark untuk pengolah
data yang besar
dan pastinya secara
realtime.
Dalam
Tutorial Apache Flink ini,
kita akan membahas tentang Apache Flink seperti
Apa itu Apache Flink , Bagaimana Cara Menginstall Apache
Spark di Centos
7.
Apa itu
Apache Flink ?
Apache Flink adalah
merupakan alat pengolah
data besar dan
dikenal untuk mengolah data besar
dengan cepat, latensy rendah,
toleransi kesalahan yang
tinggi pada sistem
terdistribusi dalam skala
besar.
Apache Flink adalah
platform open source
yang merupakan Streaming data yang menyediakan komunikasi, toleransi kesalahan dan
distribusi data untuk
perhitingan terdistribusi melalui
aliaran data.
Flink
merupakan proyek tingkat
atas dari Apache
Foundation, ini merupakan platform kerja untuk
analitik data yang
dapat di kombinasi dengan
Hadoop.
Flink dapat
menjalankan pemrosesan aliran
data dan pemrosesan batch dengan
mudah.
Berikut
fitur-fitur yang tersedia
di Apache Flink;
1. Memproses data
terdistribusi ( seperti
data sensor, nilai pasar
saham,dll )
2. Performa tinggi
3. Akurasi tinggi
4. Ketersediaan 100
%
5. Latensi sangat
rendah.
Perbedaan Apache
Flink VS Apache
Hadoop VS Apache
Spark
1. Apache Flink menggunakan
arsitektur
Kappa-architecture, arsitektur itu hanya
menggunakan data ( stream )
untuk melakukan proses
sebuah data, sedangkan Apache
Hadoop dan Apache
Spark menggunakan arsitektur Lambda
di mana batch ( data
) dan micro-batch ( data streaming
) digunakan masing-masing
untuk melakukan proses sebuah data.
2. Proses
Siklik atau berulang di optimalkan dalam Apache
Flink,karena flink memiliki
optimalisasi algoritma gabungan,
perangkaian operator dan penggunaan
kembali partisi.
Keuntungan Apache Flink
Berikut beberapa
keuntungan menggunakan Apache
Flink untuk mengolah
data besar anda;
1. Pendekatan Stream-first Flink memberikan throughput
data yang lebih baik, latensi
rendah dan power full dalam
pelaksanaan, jika
dibandingkan menggunakan micro-batching Spark.
2. Apache Flink melayani caching dan
mempartisi data, sedangkan Apache
Spark diperlukan otomasi manual.
3. Untuk melakukan
analisis data, Flink memiliki
pustaka pembelajaran mesin (
Machine Learning Flink-ML ), Pemrosesan Grafik ( Spargel basis ) dan
Gelly ( perpustakaan
), sangat kaya query SQL dan
perhitungan memory.
Cara Menginstall
Apache Flink di
CentOS 7
Pada tahap ini,
kita akan membahas bagaimana
cara menginstall Apache Flink
menggunakan System Operasi
CentOS 7.
Persyaratan
1. System
Operasi CentOS 7
2. Satu Node
3. Alamat ip
address static
4. Java Versi 7
atau 8
Apache Flink membutuhakn
Java untuk diinstall saat jalankan JVM. Jadi mari
kita mulai dengan menginstall java.
[root@localhost ~]# yum install java-1.8.0-openjdk-devel –y
Untuk memeriksa apakah
prosedur instalasi java
sudah berhasil atau tidak dan
untuk mengetahui versi Java
yang diinstall, kita
dapat menggunakan perintah
di bawah ini.
[root@localhost ~]# java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
[root@localhost ~]#
Anda dapat mengunduh Apache Flink
dari situs web resmi Apache. Atau menggunakan perintah ini
untuk mengunduh Apache
Flink terbaru.
[root@localhost ~]# wget --no-check-certificate https://www-eu.apache.org/dist/flink/flink-1.7.2/flink-1.7.2-bin-hadoop28-scala_2.12.tgz
Lakukan ektraxt
Apache Flink yang
sudah berhasil di download. Menggunakan perintah
di bawah ini.
[root@localhost ~]# gunzip flink-1.7.2-bin-hadoop28-scala_2.11.gz
[root@localhost ~]# tar xpf flink-1.7.2-bin-hadoop28-scala_2.11.gz
Sekarang pindahkan
Folder Apache Flink
ke folder /etc.
[root@localhost ~]# mv flink-1.7.2/ /etc/
Kemudian,
edit .bashrc dan
tambahkan perintah di
bawah ini.
[root@localhost ~]# nano .bashrc
export FLINK_HOME=/etc/flink-1.7.2/
export PATH=$PATH:$FLINK_HOME/bin
Edit file flink-conf.yaml untuk
menambahkan hostname atau
alamat ip address server
kita.
[root@localhost ~]# nano /etc/flink-1.7.2/conf/flink-conf.yaml
jobmanager.rpc.address: 10.10.10.1
Untuk mulai
Apache Flink dalam mode
lokal, dapat menggunakan
perintah ini.
[root@localhost ~]# /etc/flink-1.7.2/bin/start-cluster.sh
Starting cluster.
[INFO] 1 instance(s) of standalonesession are already running on localhost.localdomain.
Starting standalonesession daemon on host localhost.localdomain.
[INFO] 1 instance(s) of taskexecutor are already running on localhost.localdomain.
Starting taskexecutor daemon on host localhost.localdomain.
[root@localhost ~]#
Secara
default Apache Flink
menggunakan port 8081
untuk mengakses web gui
Apache Flink.
http://10.10.10.1:8081/
Berikut
tampilan Apache Flink
Dashboard, seperti ini.
Sekarang,
kita melakukan percobaan
dengan menjalankan contoh Jobs yang
sudah tersedia di Apache
Flink, dapat menggunakan
perintah di bawah
ini.
[root@localhost ~]# /etc/flink-1.7.2/bin/flink run /etc/flink-1.7.2/examples/streaming/Twitter.jar
Starting execution of program
Usage: TwitterExample [--output ] [--twitter-source.consumerKey --twitter-source.consumerSecret --twitter-source.token --twitter-source.tokenSecret ]
Executing TwitterStream example with default props.
Use --twitter-source.consumerKey --twitter-source.consumerSecret --twitter-source.token --twitter-source.tokenSecret specify the authentication info.
Printing result to stdout. Use --output to specify output path.
Program execution finished
Job with JobID c095c5f7dc9ff050cc2b580a917dd667 has finished.
Job Runtime: 23048 ms
[root@localhost ~]#
Kita dapat melihat Job
yang sudah selesai dan
berhasil di jalankan oleh
Apache Flink, menggunakan Dashboard Apache Flink.
Pada gambar diatas,
menunjukan beberapa job yang
sudah berhasil dijalankan oleh admin.
Kesimpulan
Apache Flink dapat
digunakan untuk pengolah
data besar di
perusahaan anda, secara real time dan
mudah untuk digunakan.
Dapat
menjadi alternatif pengolah data
besar, selain Apache Spark, Apache
Hadoop.