Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Apache Zeppelin adalah notebook open source berbasis web dan alat kolaborasi untuk konsumsi data interaktif, penemuan, analitik, dan visualisasi. Zeppelin mendukung 20+ bahasa termasuk Apache Spark, SQL, R, Elasticsearch dan banyak lagi. Apache Zeppelin memungkinkan Anda membuat dokumen yang digerakkan oleh data yang indah dan melihat hasil analisis Anda.
Untuk tutorial ini, kita akan menggunakan zeppelin.example.com
nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan nama domain contoh dengan yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui CentOS 7 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Java.
Apache Zeppelin ditulis dalam Java, sehingga membutuhkan JDK untuk bekerja. Unduh paket Oracle SE JDK RPM.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"
Instal paket yang diunduh.
sudo yum -y localinstall jdk-8u151-linux-x64.rpm
Jika Java telah diinstal dengan sukses, maka Anda harus dapat memverifikasi versinya.
java -version
Anda akan melihat output berikut.
[user@vultr ~]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
Sebelum kita dapat melangkah lebih jauh, kita perlu mengatur variabel JAVA_HOME
dan JRE_HOME
lingkungan. Temukan jalur absolut dari JAVA yang dapat dieksekusi di sistem Anda.
readlink -f $(which java)
Anda akan melihat output yang serupa.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_151/jre/bin/java
Sekarang, setel JAVA_HOME
dan JRE_HOME
variabel lingkungan sesuai dengan jalur direktori Java.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_151" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_151/jre" >> ~/.bash_profile
Jalankan bash_profile
file.
source ~/.bash_profile
Sekarang Anda dapat menjalankan echo $JAVA_HOME
perintah untuk memeriksa apakah variabel lingkungan diatur.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_151
Apache Zeppelin mengirimkan semua dependensi beserta file binernya, jadi kami tidak perlu menginstal apa pun selain Java. Unduh biner Zeppelin di sistem Anda. Anda selalu dapat menemukan versi terbaru aplikasi di halaman unduhan Zeppelin .
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
Ekstrak arsipnya.
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
Perintah di atas akan mengekstrak arsip ke /opt/zeppelin-0.7.3-bin-all
. Ganti nama direktori demi kenyamanan.
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
Apache Zeppelin sekarang diinstal. Anda dapat segera memulai aplikasi, tetapi itu tidak akan dapat diakses oleh Anda, karena hanya mendengarkan localhost
. Kami akan mengonfigurasi Apache Zeppelin sebagai layanan. Kami juga akan mengonfigurasi server web Nginx sebagai proxy terbalik.
Pada langkah ini, kita akan menyiapkan file unit Systemd untuk aplikasi Zeppelin. Ini akan memastikan bahwa proses aplikasi secara otomatis dimulai pada sistem restart dan kegagalan.
Untuk alasan keamanan, buat pengguna yang tidak terjangkau untuk menjalankan proses Zeppelin.
sudo adduser -d /opt/zeppelin -s /sbin/nologin zeppelin
Berikan kepemilikan file kepada pengguna Zeppelin yang baru dibuat.
sudo chown -R zeppelin:zeppelin /opt/zeppelin
Buat file unit layanan Systemd baru.
sudo nano /etc/systemd/system/zeppelin.service
Isi file dengan yang berikut ini.
[Unit]
Description=Zeppelin service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
ExecReload=/opt/zeppelin/bin/zeppelin-daemon.sh reload
User=zeppelin
Group=zeppelin
Restart=always
[Install]
WantedBy=multi-user.target
Mulai aplikasi.
sudo systemctl start zeppelin
Aktifkan layanan Zeppelin untuk mulai secara otomatis saat boot.
sudo systemctl enable zeppelin
Untuk memeriksa apakah layanan ini berjalan, Anda dapat menjalankan yang berikut ini.
sudo systemctl status zeppelin
Secara default, server Zeppelin mendengarkan localhost
pada port 8080
. Dalam tutorial ini, kita akan menggunakan Nginx sebagai proksi terbalik sehingga aplikasi dapat diakses melalui standar HTTP
dan HTTPS
port. Kami juga akan mengkonfigurasi Nginx untuk menggunakan SSL yang dihasilkan dengan Let's Encrypt SSL CA gratis.
Instal Nginx.
sudo yum -y install nginx
Mulai Nginx dan aktifkan untuk mulai secara otomatis saat boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Instal Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo yum -y install certbot
Sebelum Anda dapat meminta sertifikat, Anda harus mengizinkan port 80
dan 443
atau standar HTTP
dan HTTPS
layanan melalui firewall.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Catatan : Untuk mendapatkan sertifikat dari Let's Encrypt CA, domain tempat sertifikat akan dibuat harus diarahkan ke server. Jika tidak, buat perubahan yang diperlukan pada catatan DNS domain dan tunggu hingga DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.
Buat sertifikat SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d zeppelin.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/zeppelin.example.com/
. Sertifikat SSL akan disimpan sebagai fullchain.pem
dan kunci pribadi akan disimpan sebagai privkey.pem
.
Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, oleh karena itu disarankan untuk mengatur perpanjangan otomatis sertifikat menggunakan pekerjaan Cron.
Buka file tugas cron.
sudo crontab -e
Tambahkan baris berikut di akhir file.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan berjalan setiap hari pada pukul 5:30 pagi. Jika sertifikat jatuh tempo, sertifikat akan diperpanjang secara otomatis.
Buat file blok server baru untuk situs Zeppelin.
sudo nano /etc/nginx/conf.d/zeppelin.example.com.conf
Mengisi file.
upstream zeppelin {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name zeppelin.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name zeppelin.example.com;
ssl_certificate /etc/letsencrypt/live/zeppelin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zeppelin.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/zeppelin.access.log;
location / {
proxy_pass http://zeppelin;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /ws {
proxy_pass http://zeppelin/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Nyalakan kembali Nginx agar perubahan dapat diterapkan.
sudo systemctl restart nginx zeppelin
Zeppelin sekarang dapat diakses di alamat berikut.
https://zeppelin.example.com
Secara default, tidak ada otentikasi yang diaktifkan, sehingga Anda dapat menggunakan aplikasi secara langsung.
Karena aplikasi ini dapat diakses oleh semua orang, notebook yang Anda buat juga dapat diakses oleh semua orang. Sangat penting untuk menonaktifkan akses anonim dan mengaktifkan otentikasi sehingga hanya pengguna yang diautentikasi yang dapat mengakses aplikasi.
Untuk menonaktifkan akses anonim default, salin templat file konfigurasi ke lokasi aslinya.
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
Edit file konfigurasi.
sudo nano conf/zeppelin-site.xml
Temukan baris berikut dalam file.
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
Ubah nilainya menjadi false
untuk menonaktifkan akses anonim.
Sekarang kami telah menonaktifkan akses anonim, kami perlu mengaktifkan beberapa jenis mekanisme otentikasi sehingga pengguna istimewa dapat login. Apache Zeppelin menggunakan otentikasi Shiro Apache. Salin file konfigurasi Shiro.
sudo cp conf/shiro.ini.template conf/shiro.ini
Edit file konfigurasi.
sudo nano conf/shiro.ini
Temukan baris berikut dalam file.
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
Daftar ini berisi nama pengguna, kata sandi, dan peran pengguna. Untuk saat ini, kami hanya akan menggunakan admin
dan user1
. Ubah kata sandi admin
dan user1
dan nonaktifkan pengguna lain dengan berkomentar. Anda juga dapat mengubah nama pengguna dan peran pengguna. Untuk mempelajari lebih lanjut tentang pengguna dan peran Apache Shiro, baca panduan otorisasi Shiro .
Setelah Anda mengubah kata sandi, blok kode akan terlihat seperti ini.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
Sekarang mulai ulang Zeppelin untuk menerapkan perubahan.
sudo systemctl restart zeppelin
Anda harus melihat bahwa otentikasi telah diaktifkan dan Anda akan dapat masuk menggunakan nama pengguna dan kata sandi yang diatur dalam file konfigurasi Shiro.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut