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 kolaboratif untuk konsumsi data interaktif, penemuan, analisis dan visualisasi. Zeppelin mendukung lebih dari 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 Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Java.
Apache Zeppelin ditulis dalam Java, sehingga membutuhkan JDK untuk bekerja. Tambahkan repositori Ubuntu untuk Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Instal Oracle Java.
sudo apt -y install oracle-java8-installer
Verifikasikan versinya.
java -version
Anda akan melihat output berikut.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Atur jalur default untuk Java dengan menginstal paket berikut.
sudo apt -y install oracle-java8-set-default
Anda dapat memverifikasi apakah JAVA_HOME
disetel dengan menjalankan.
echo $JAVA_HOME
Kamu akan lihat.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Jika Anda tidak melihat output sama sekali, Anda harus keluar dari shell saat ini dan masuk kembali.
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 mengkonfigurasi 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 useradd -d /opt/zeppelin -s /bin/false 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 memastikan bahwa layanan ini berjalan, Anda dapat menjalankan yang berikut ini.
sudo systemctl status zeppelin
Secara default, server Zeppelin mendengarkan localhost
pada port 8080
. Kami akan menggunakan Nginx sebagai proxy 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 apt -y install nginx
Mulai Nginx dan aktifkan untuk mulai secara otomatis saat boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Tambahkan repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instal Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot
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 /var/www/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 akan kedaluwarsa, maka secara otomatis akan diperpanjang.
Buat file blok server baru untuk situs Zeppelin.
sudo nano /etc/nginx/sites-available/zeppelin
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;
}
}
Aktifkan file konfigurasi.
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
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 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 akan 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