Kako namestiti Apache Zeppelin na Ubuntu 16.04

Apache Zeppelin je spletni odprtokodni prenosnik in orodje za sodelovanje za interaktivno vnos podatkov, odkrivanje, analitiko in vizualizacijo. Zeppelin podpira več kot 20 jezikov, vključno z Apache Spark, SQL, R, Elasticsearch in številnimi drugimi. Apache Zeppelin vam omogoča ustvarjanje čudovitih dokumentov na podlagi podatkov in ogled rezultatov vaše analitike.

Predpogoji

  • Primerek strežnika Vultr Ubuntu 16.04.
  • Uporabnik sudo .
  • Ime domene, usmerjeno proti strežniku.

Za to vadnico bomo uporabili zeppelin.example.com kot ime domene, usmerjeno proti primerku Vultr. Prosimo, da zamenjate vse pojavitve vzorčnega imena domene z dejanskim.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti Ubuntu 16.04 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Jave.

Namesti Java

Apache Zeppelin je napisan v Javi, zato za delovanje zahteva JDK. Dodajte repozitorij Ubuntu za Oracle Java 8.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Namestite Oracle Java.

sudo apt -y install oracle-java8-installer

Preverite njegovo različico.

java -version

Videli boste naslednji izhod.

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)

Nastavite privzeto pot za Javo tako, da namestite naslednji paket.

sudo apt -y install oracle-java8-set-default

Če JAVA_HOMEje nastavljeno, lahko preverite tako, da zaženete.

echo $JAVA_HOME

Boš videl.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Če izhoda sploh ne vidite, se boste morali odjaviti iz trenutne lupine in se znova prijaviti.

Namestite Zeppelin

Apache Zeppelin pošlje vse odvisnosti skupaj z binarnimi datotekami, zato nam ni treba namestiti ničesar drugega razen Jave. Prenesite binarni program Zeppelin na svoj sistem. Najnovejšo različico aplikacije lahko vedno najdete na strani za prenos Zeppelin .

wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz

Ekstrahirajte arhiv.

sudo tar xf zeppelin-*-bin-all.tgz -C /opt

Zgornji ukaz bo izvlekel arhiv v /opt/zeppelin-0.7.3-bin-all. Preimenujte imenik zaradi udobja.

sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin

Apache Zeppelin je zdaj nameščen. Aplikacijo lahko takoj zaženete, vendar vam ne bo dostopna, saj le posluša localhost. Apache Zeppelin bomo konfigurirali kot storitev. Nginx bomo konfigurirali tudi kot povratni proxy.

Konfigurirajte Systemd

V tem koraku bomo nastavili datoteko enote Systemd za aplikacijo Zeppelin. To bo zagotovilo, da se postopek aplikacije samodejno zažene ob ponovnem zagonu sistema in napakah.

Iz varnostnih razlogov ustvarite neprivilegiranega uporabnika za izvajanje procesa Zeppelin.

sudo useradd -d /opt/zeppelin -s /bin/false zeppelin

Zagotovite lastništvo datotek novoustvarjenemu uporabniku Zeppelin.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Ustvarite novo datoteko servisne enote Systemd.

sudo nano /etc/systemd/system/zeppelin.service

Napolnite datoteko z naslednjim.

[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

Zaženite aplikacijo.

sudo systemctl start zeppelin

Omogočite storitev Zeppelin, da se samodejno zažene ob zagonu.

sudo systemctl enable zeppelin

Če želite zagotoviti, da se storitev izvaja, lahko zaženete naslednje.

sudo systemctl status zeppelin

Konfigurirajte povratni proxy

Strežnik Zeppelin privzeto posluša localhost na vratih 8080. Nginx bomo uporabili kot povratni proxy, tako da bo do aplikacije mogoče dostopati prek standarda HTTP in HTTPS vrat. Nginx bomo tudi konfigurirali za uporabo SSL, ustvarjenega z brezplačnim SSL CA Let's Encrypt.

Namestite Nginx.

sudo apt -y install nginx

Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Dodajte repozitorij Certbot.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.

sudo apt -y install certbot

Opomba : Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila ustvarjena potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.

Ustvarite SSL potrdila.

sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/zeppelin.example.com/. Potrdilo SSL bo shranjeno kot fullchain.pem in zasebni ključ bo shranjen kot privkey.pem.

Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo opravil Cron.

Odprite datoteko opravila cron.

sudo crontab -e

Dodajte naslednjo vrstico na konec datoteke.

30 5 * * * /usr/bin/certbot renew --quiet

Zgornje opravilo cron se bo izvajalo vsak dan ob 5.30. Če potrdilo poteče, se samodejno podaljša.

Ustvarite novo datoteko blokov strežnika za spletno mesto Zeppelin.

sudo nano /etc/nginx/sites-available/zeppelin

Izpolnite datoteko.

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;
    }
  }

Aktivirajte konfiguracijsko datoteko.

sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin

Znova zaženite Nginx, da bodo spremembe začele veljati.

sudo systemctl restart nginx zeppelin

Zeppelin je zdaj dostopen na naslednjem naslovu.

https://zeppelin.example.com

Privzeto ni omogočeno preverjanje pristnosti, zato lahko aplikacijo uporabljate neposredno.

Ker je aplikacija dostopna vsem, so tudi zvezki, ki jih ustvarite, dostopni vsem. Zelo pomembno je, da onemogočite anonimni dostop in omogočite avtentikacijo, tako da lahko do aplikacije dostopajo samo overjeni uporabniki.

Onemogoči anonimni dostop

Če želite onemogočiti privzeti anonimni dostop, kopirajte predlogo konfiguracijske datoteke na njeno mesto v živo.

cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml

Uredite konfiguracijsko datoteko.

sudo nano conf/zeppelin-site.xml

Poiščite naslednje vrstice v datoteki.

<property>
  <name>zeppelin.anonymous.allowed</name>
  <value>true</value>

Spremenite vrednost na, false da onemogočite anonimni dostop.

Omogoči preverjanje pristnosti Shiro

Zdaj, ko smo onemogočili anonimni dostop, moramo omogočiti nekakšen mehanizem za preverjanje pristnosti, da se lahko privilegirani uporabniki prijavijo. Apache Zeppelin uporablja avtentikacijo Apache Shiro. Kopirajte konfiguracijsko datoteko Shiro.

sudo cp conf/shiro.ini.template conf/shiro.ini

Uredite konfiguracijsko datoteko.

sudo nano conf/shiro.ini

Poiščite naslednje vrstice v datoteki.

[users]

admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2

Seznam vsebuje uporabniško ime, geslo in vloge uporabnikov. Za zdaj bomo uporabljali samo admin in user1. Spremenite geslo admin in user1 in onemogočite druge uporabnike tako, da jih komentirate. Spremenite lahko tudi uporabniško ime in vloge uporabnikov. Če želite izvedeti več o uporabnikih in vlogah Apache Shiro, preberite priročnik za avtorizacijo Shiro .

Ko spremenite gesla, bo blok kode všeč.

[users]

admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2

Zdaj znova zaženite Zeppelin, da uporabite spremembe.

sudo systemctl restart zeppelin

Videli boste, da je preverjanje pristnosti omogočeno in lahko se boste prijavili z uporabniškim imenom in geslom, ki sta nastavljena v konfiguracijski datoteki Shiro.


Namestitev Microweberja na Ubuntu 16.04

Namestitev Microweberja na Ubuntu 16.04

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Kako namestiti platformo za e-trgovino Sylius na Ubuntu 18.04 LTS

Kako namestiti platformo za e-trgovino Sylius na Ubuntu 18.04 LTS

Uporaba drugega sistema? Sylius je sodobna platforma za e-trgovino za PHP, ki temelji na Symfony Framework. Vir Sylius je na GitHubu. Ta vodnik bo wal

Kako namestiti Cezerin eCommerce na Ubuntu 18.04

Kako namestiti Cezerin eCommerce na Ubuntu 18.04

Cezerin je odprtokodna progresivna spletna aplikacija za e-trgovino, zgrajena z uporabo Reacta in Node.js. V tej vadnici se boste naučili, kako namestiti Cezerin za produkcijo

Kako namestiti aplikacijo Mailtrain Newsletter na Debian 9

Kako namestiti aplikacijo Mailtrain Newsletter na Debian 9

Uporaba drugega sistema? Mailtrain je odprtokodna aplikacija za glasila, ki sama gostuje, zgrajena na Node.js in MySQL/MariaDB. Vir Mailtrains je na GitHubu. ti

Kako namestiti aplikacijo Mailtrain Newsletter na Ubuntu 16.04

Kako namestiti aplikacijo Mailtrain Newsletter na Ubuntu 16.04

Uporaba drugega sistema? Mailtrain je odprtokodna aplikacija za glasila, ki sama gostuje, zgrajena na Node.js in MySQL/MariaDB. Vir Mailtrains je na GitHubu. ti

Kako namestiti osTicket na CentOS 7

Kako namestiti osTicket na CentOS 7

Uporaba drugega sistema? osTicket je odprtokodni sistem za izdajo vstopnic za podporo strankam. Izvorna koda osTicket je javno gostovana na Githubu. V tej vadnici

Kako namestiti Osclass na Ubuntu 18.04 LTS

Kako namestiti Osclass na Ubuntu 18.04 LTS

Uporaba drugega sistema? Osclass je odprtokodni projekt, ki vam omogoča preprosto ustvarjanje spletnega mesta za male oglase brez kakršnega koli tehničnega znanja. Njegov vir

Kako namestiti OpenMeetings na Ubuntu 16.04

Kako namestiti OpenMeetings na Ubuntu 16.04

Uporaba drugega sistema? Apache OpenMeetings je odprtokodna aplikacija za spletne konference. Napisana je v Javi in ​​podpira več strežnikov baz podatkov. jaz

Kako namestiti X-Cart 5 na Fedora 31

Kako namestiti X-Cart 5 na Fedora 31

Uporaba drugega sistema? X-Cart je izjemno prilagodljiva odprtokodna platforma za e-trgovino s številnimi funkcijami in integracijami. Izvorna koda X-Cart je hoste

Kako namestiti Zammad 2.0 na Ubuntu 16.04 LTS

Kako namestiti Zammad 2.0 na Ubuntu 16.04 LTS

Uporaba drugega sistema? Zammad je odprtokodni sistem za pomoč uporabnikom/prodaja vstopnic, zasnovan za ekipe za podporo strankam. Z Zammadom, storitev za stranke

Kako namestiti Matomo Analytics na Ubuntu 16.04

Kako namestiti Matomo Analytics na Ubuntu 16.04

Uporaba drugega sistema? Matomo (prej Piwik) je odprtokodna analitična platforma, odprta alternativa Google Analytics. Vir Matomo gostuje o

Namestitev Akauntinga v Ubuntu 16.04

Namestitev Akauntinga v Ubuntu 16.04

Uporaba drugega sistema? Akaunting je brezplačna, odprtokodna in spletna računovodska programska oprema, zasnovana za mala podjetja in samostojne delavce. Zgrajena je pametno

Kako namestiti Alfresco Community Edition na Ubuntu 16.04

Kako namestiti Alfresco Community Edition na Ubuntu 16.04

Uporaba drugega sistema? Alfresco Community Edition je odprtokodna različica storitev Alfresco Content Services. Napisana je v Javi in ​​uporablja PostgreSQL t

Kako namestiti Apache Zeppelin na Ubuntu 16.04

Kako namestiti Apache Zeppelin na Ubuntu 16.04

Uporaba drugega sistema? Apache Zeppelin je spletni odprtokodni prenosnik in orodje za sodelovanje za interaktivno vnos podatkov, odkrivanje, analitiko in

Kako namestiti InvoicePlane na Ubuntu 16.04

Kako namestiti InvoicePlane na Ubuntu 16.04

Uporaba drugega sistema? InvoicePlane je brezplačna in odprtokodna aplikacija za izdajanje računov. Njegovo izvorno kodo lahko najdete v tem repozitoriju Github. Ta vodnik

Kako namestiti Attendize na Ubuntu 18.04 LTS

Kako namestiti Attendize na Ubuntu 18.04 LTS

Uporaba drugega sistema? Attendize je odprtokodna platforma za prodajo vstopnic in upravljanje dogodkov, ki temelji na Laravel PHP Framework. Udeležite se izvorne trske

Kako namestiti Sentrifugo HRM na Ubuntu 16.04

Kako namestiti Sentrifugo HRM na Ubuntu 16.04

Uporaba drugega sistema? Sentrifugo HRM je brezplačna in odprtokodna aplikacija za upravljanje človeških virov (HRM). Je bogat s funkcijami in ga je enostavno konfigurirati

Kako namestiti aplikacijo Mailtrain Newsletter na Fedora 28

Kako namestiti aplikacijo Mailtrain Newsletter na Fedora 28

Uporaba drugega sistema? Mailtrain je odprtokodna aplikacija za glasila, ki sama gostuje, zgrajena na Node.js in MySQL/MariaDB. Vir Mailtrains je na GitHubu. ti

Kako namestiti Shopware CE na Ubuntu 18.04 LTS

Kako namestiti Shopware CE na Ubuntu 18.04 LTS

Uporaba drugega sistema? Shopware je odprtokodna platforma za e-trgovino za spletna podjetja. Izvorna koda Shopware gostuje na Githubu. Ta vodnik bo sho

Kako namestiti X-Cart 5 na CentOS 8

Kako namestiti X-Cart 5 na CentOS 8

Uporaba drugega sistema? X-Cart je izjemno prilagodljiva odprtokodna platforma za e-trgovino s številnimi funkcijami in integracijami. Izvorna koda X-Cart je hoste

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več