Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Apache Zeppelin adalah buku nota sumber terbuka berasaskan web dan alat kolaboratif untuk penyerapan, penemuan, analisis dan visualisasi data interaktif. Zeppelin menyokong lebih daripada 20 bahasa termasuk Apache Spark, SQL, R, Elasticsearch dan banyak lagi. Apache Zeppelin membolehkan anda membuat dokumen yang dipacu data yang indah dan melihat hasil analitik anda.
Untuk tutorial ini, kami akan gunakan zeppelin.example.com
sebagai nama domain menunjuk ke arah contoh Vultr. Sila pastikan untuk menggantikan semua kejadian nama domain contoh dengan yang sebenarnya.
Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Apabila sistem anda telah dikemas kini, teruskan untuk memasang Java.
Apache Zeppelin ditulis di Jawa, oleh itu ia memerlukan JDK untuk berfungsi. Tambahkan repositori Ubuntu untuk Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Pasang Oracle Java.
sudo apt -y install oracle-java8-installer
Sahkan 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)
Tetapkan jalan lalai untuk Java dengan memasang pakej berikut.
sudo apt -y install oracle-java8-set-default
Anda boleh mengesahkan jika JAVA_HOME
ditetapkan dengan berjalan.
echo $JAVA_HOME
Awak akan lihat.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Sekiranya anda tidak melihat output sama sekali, anda perlu keluar dari shell semasa dan log masuk semula.
Apache Zeppelin menghantar semua pergantungan bersama dengan fail binari, jadi kami tidak perlu memasang yang lain kecuali Java. Muat turun binari Zeppelin pada sistem anda. Anda boleh mendapatkan versi aplikasi terkini di halaman muat turun Zeppelin .
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
Ekstrak arkib.
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
Perintah di atas akan mengeluarkan arkib ke /opt/zeppelin-0.7.3-bin-all
. Namakan semula direktori demi kemudahan.
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
Apache Zeppelin kini dipasang. Anda boleh memulakan aplikasi ini dengan segera, tetapi ia tidak boleh diakses oleh anda, kerana ia localhost
hanya mendengar . Kami akan mengkonfigurasi Apache Zeppelin sebagai perkhidmatan. Kami juga akan mengkonfigurasi Nginx sebagai proksi terbalik.
Dalam langkah ini, kita akan menyediakan fail unit Systemd untuk aplikasi Zeppelin. Ini akan memastikan bahawa proses permohonan secara automatik bermula pada sistem semula dan kegagalan.
Atas sebab keselamatan, buat pengguna yang tidak bernasib baik untuk menjalankan proses Zeppelin.
sudo useradd -d /opt/zeppelin -s /bin/false zeppelin
Berikan hak milik fail kepada pengguna Zeppelin yang baru dibuat.
sudo chown -R zeppelin:zeppelin /opt/zeppelin
Buat fail unit Sistem perkhidmatan baru.
sudo nano /etc/systemd/system/zeppelin.service
Isi fail dengan yang berikut.
[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
Mulakan permohonan.
sudo systemctl start zeppelin
Dayakan perkhidmatan Zeppelin untuk memulakan secara automatik pada masa boot.
sudo systemctl enable zeppelin
Untuk memastikan perkhidmatan berjalan, anda boleh menjalankan yang berikut.
sudo systemctl status zeppelin
Secara lalai, pelayan Zeppelin mendengar localhost
pada port 8080
. Kami akan menggunakan Nginx sebagai proksi terbalik supaya aplikasi boleh diakses melalui standard HTTP
dan HTTPS
port. Kami juga akan mengkonfigurasi Nginx untuk menggunakan SSL yang dihasilkan dengan Let's Encrypt SSL CA percuma.
Pasang Nginx.
sudo apt -y install nginx
Mula Nginx dan aktifkannya secara automatik pada masa boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Tambah repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot
Catatan : Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang akan dibuat sijil mesti diarahkan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.
Menjana sijil SSL.
sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com
Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/zeppelin.example.com/
. Sijil SSL akan disimpan sebagai fullchain.pem
dan kunci peribadi akan disimpan sebagai privkey.pem
.
Mari Sijikan sijil tamat tempoh dalam 90 hari, oleh itu, disyorkan untuk menyediakan pembaharuan automatik sijil menggunakan kerja-kerja Cron.
Buka fail kerja cron.
sudo crontab -e
Tambahkan garisan berikut pada akhir fail.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil perlu tamat tempoh, ia akan diperbaharui secara automatik.
Buat fail blok pelayan baru untuk tapak Zeppelin.
sudo nano /etc/nginx/sites-available/zeppelin
Isi fail.
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 fail konfigurasi.
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
Restart Nginx supaya perubahan tersebut dapat diterapkan.
sudo systemctl restart nginx zeppelin
Zeppelin kini boleh diakses di alamat berikut.
https://zeppelin.example.com
Secara lalai, tidak ada pengesahan yang didayakan, jadi anda boleh menggunakan aplikasi secara langsung.
Oleh kerana aplikasinya dapat diakses oleh semua orang, buku nota yang anda buat juga dapat diakses oleh semua orang. Sangat penting untuk melumpuhkan akses tanpa nama dan membolehkan pengesahan supaya hanya pengguna yang disahkan dapat mengakses aplikasi tersebut.
Untuk melumpuhkan akses lalai tanpa nama, salin templat fail konfigurasi ke lokasi hidupnya.
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
Edit fail konfigurasi.
sudo nano conf/zeppelin-site.xml
Cari baris berikut dalam fail.
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
Tukar nilai false
untuk melumpuhkan akses tanpa nama.
Sekarang bahawa kami telah melumpuhkan akses tanpa nama, kami perlu mengaktifkan beberapa jenis mekanisme pengesahan supaya pengguna istimewa boleh masuk. Apache Zeppelin menggunakan pengesahan Apache Shiro. Salin fail konfigurasi Shiro.
sudo cp conf/shiro.ini.template conf/shiro.ini
Edit fail konfigurasi.
sudo nano conf/shiro.ini
Cari baris berikut dalam fail.
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
Senarai ini mengandungi nama pengguna, kata laluan, dan peranan pengguna. Buat masa ini, kami hanya akan menggunakan admin
dan user1
. Tukar kata laluan admin
dan user1
dan nyahdayakan pengguna lain dengan mengulas mereka. Anda juga boleh menukar nama pengguna dan peranan pengguna. Untuk mengetahui lebih lanjut mengenai pengguna dan peranan Apache Shiro, baca panduan pengesahan Shiro .
Sebaik sahaja anda telah menukar kata laluan, blok kod harus seperti ini.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
Sekarang mulakan semula Zeppelin untuk menerapkan perubahan.
sudo systemctl restart zeppelin
Anda akan melihat bahawa pengesahan telah diaktifkan dan anda akan dapat log masuk menggunakan nama pengguna dan kata laluan yang ditetapkan dalam fail konfigurasi Shiro.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut