Cara Memasang Apache Zeppelin di Ubuntu 16.04

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.

Prasyarat

  • Contoh server Vultr Ubuntu 16.04.
  • Seorang pengguna sudo .
  • Nama domain menunjuk ke arah server.

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.

Instal 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_HOMEdisetel 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.

Instal Zeppelin

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.

Konfigurasikan Systemd

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

Konfigurasikan Proksi Terbalik

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.

Nonaktifkan Akses Anonim

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.

Aktifkan Otentikasi Shiro

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.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

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'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

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: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

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?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

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.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

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!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

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