Hvordan installere Apache Zeppelin på Ubuntu 16.04

Apache Zeppelin er en nettbasert åpen kildekode-notisbok og samarbeidsverktøy for interaktiv datainntak, oppdagelse, analyse og visualisering. Zeppelin støtter mer enn 20 språk, inkludert Apache Spark, SQL, R, Elasticsearch og mange flere. Apache Zeppelin lar deg lage vakre datadrevne dokumenter og se resultatene av analysene dine.

Forutsetninger

  • En Vultr Ubuntu 16.04-serverforekomst.
  • En sudo-bruker .
  • Et domenenavn pekte mot serveren.

For denne opplæringen vil vi bruke zeppelin.example.com som domenenavnet peker mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet med det faktiske.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere Ubuntu 16.04 . Når systemet ditt har blitt oppdatert, fortsett å installere Java.

Installer Java

Apache Zeppelin er skrevet i Java, så det krever JDK for å fungere. Legg til Ubuntu-depotet for Oracle Java 8.

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

Installer Oracle Java.

sudo apt -y install oracle-java8-installer

Bekreft versjonen.

java -version

Du vil se følgende utgang.

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)

Angi standardbanen for Java ved å installere følgende pakke.

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

Du kan bekrefte om JAVA_HOMEer satt ved å kjøre.

echo $JAVA_HOME

Du vil se.

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

Hvis du ikke ser noen utgang i det hele tatt, må du logge ut fra gjeldende skall og logge på igjen.

Installer Zeppelin

Apache Zeppelin sender alle avhengighetene sammen med de binære filene, så vi trenger ikke å installere noe annet enn Java. Last ned Zeppelin binær på systemet ditt. Du kan alltid finne den nyeste versjonen av applikasjonen på Zeppelins nedlastingsside .

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

Trekk ut arkivet.

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

Kommandoen ovenfor vil trekke ut arkivet til /opt/zeppelin-0.7.3-bin-all. Gi nytt navn til katalogen for enkelhets skyld.

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

Apache Zeppelin er nå installert. Du kan starte applikasjonen umiddelbart, men den vil ikke være tilgjengelig for deg, siden den kun lytter til localhost. Vi vil konfigurere Apache Zeppelin som en tjeneste. Vi vil også konfigurere Nginx som en omvendt proxy.

Konfigurer Systemd

I dette trinnet vil vi sette opp en Systemd-enhetsfil for Zeppelin-applikasjonen. Dette vil sikre at søknadsprosessen startes automatisk ved omstart av systemet og feil.

Av sikkerhetsgrunner, opprett en uprivilegert bruker for å kjøre Zeppelin-prosessen.

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

Gi eierskap til filene til den nyopprettede Zeppelin-brukeren.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Opprett en ny Systemd-tjenesteenhetsfil.

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

Fyll filen med følgende.

[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

Start applikasjonen.

sudo systemctl start zeppelin

Aktiver Zeppelin-tjenesten til å starte automatisk ved oppstart.

sudo systemctl enable zeppelin

For å sikre at tjenesten kjører, kan du kjøre følgende.

sudo systemctl status zeppelin

Konfigurer omvendt proxy

Som standard lytter Zeppelin-serveren til localhost på port 8080. Vi vil bruke Nginx som en omvendt proxy slik at applikasjonen kan nås via standard HTTP og HTTPS porter. Vi vil også konfigurere Nginx til å bruke en SSL generert med Let's Encrypt gratis SSL CA.

Installer Nginx.

sudo apt -y install nginx

Start Nginx og la den starte automatisk ved oppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Legg til Certbot-depotet.

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

Installer Certbot, som er klientapplikasjonen for Let's Encrypt CA.

sudo apt -y install certbot

Merk : For å få sertifikater fra Let's Encrypt CA, må domenet som sertifikatene skal genereres for, peke mot serveren. Hvis ikke, gjør de nødvendige endringene i DNS-postene til domenet og vent til DNS-en forplanter seg før du foretar sertifikatforespørselen igjen. Certbot sjekker domeneautoriteten før sertifikatene leveres.

Generer SSL-sertifikatene.

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

De genererte sertifikatene blir sannsynligvis lagret i /etc/letsencrypt/live/zeppelin.example.com/. SSL-sertifikatet vil bli lagret som fullchain.pem og privat nøkkel vil bli lagret som privkey.pem.

La oss kryptere sertifikater utløper om 90 dager, derfor anbefales det å sette opp automatisk fornyelse av sertifikatene ved å bruke Cron-jobber.

Åpne cron-jobbfilen.

sudo crontab -e

Legg til følgende linje på slutten av filen.

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

Cron-jobben ovenfor kjøres hver dag klokken 05.30. Hvis sertifikatet skal utløpe, vil det automatisk fornyes.

Opprett en ny serverblokkfil for Zeppelin-nettstedet.

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

Fyll ut filen.

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

Aktiver konfigurasjonsfilen.

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

Start Nginx på nytt slik at endringene kan tre i kraft.

sudo systemctl restart nginx zeppelin

Zeppelin er nå tilgjengelig på følgende adresse.

https://zeppelin.example.com

Som standard er det ingen autentisering aktivert, så du kan bruke applikasjonen direkte.

Siden applikasjonen er tilgjengelig for alle, er notatbøkene du lager også tilgjengelige for alle. Det er veldig viktig å deaktivere anonym tilgang og aktivere autentisering slik at bare de autentiserte brukerne kan få tilgang til applikasjonen.

Deaktiver anonym tilgang

For å deaktivere standard anonym tilgang, kopier konfigurasjonsfilmalen til dens live plassering.

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

Rediger konfigurasjonsfilen.

sudo nano conf/zeppelin-site.xml

Finn følgende linjer i filen.

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

Endre verdien til for false å deaktivere den anonyme tilgangen.

Aktiver Shiro-autentisering

Nå som vi har deaktivert den anonyme tilgangen, må vi aktivere en slags autentiseringsmekanisme slik at privilegerte brukere kan logge inn. Apache Zeppelin bruker Apache Shiro-autentisering. Kopier Shiro-konfigurasjonsfilen.

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

Rediger konfigurasjonsfilen.

sudo nano conf/shiro.ini

Finn følgende linjer i filen.

[users]

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

Listen inneholder brukernavn, passord og roller til brukerne. Foreløpig vil vi bare bruke admin og user1. Endre passordet til admin og user1 deaktiver de andre brukerne ved å kommentere dem. Du kan også endre brukernavnet og rollene til brukerne. For å lære mer om Apache Shiro-brukere og roller, les Shiro-autorisasjonsveiledningen .

Når du har endret passordene, skal kodeblokken like dette.

[users]

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

Start Zeppelin på nytt for å bruke endringene.

sudo systemctl restart zeppelin

Du vil se at autentiseringen er aktivert, og du vil kunne logge på med brukernavnet og passordet som er angitt i Shiro-konfigurasjonsfilen.


Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Installere Microweber på Ubuntu 16.04

Installere Microweber på Ubuntu 16.04

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere osTicket på FreeBSD 12

Hvordan installere osTicket på FreeBSD 12

Bruker du et annet system? osTicket er et åpen kildekode kundestøtte billettsystem. osTicket-kildekoden er offentlig vert på Github. I denne opplæringen

Hvordan installere Sylius eCommerce Platform på Ubuntu 18.04 LTS

Hvordan installere Sylius eCommerce Platform på Ubuntu 18.04 LTS

Bruker du et annet system? Sylius er en moderne e-handelsplattform for PHP, basert på Symfony Framework. Sylius-kilden er på GitHub. Denne guiden vil gå

Hvordan installere Cezerin eCommerce på Ubuntu 18.04

Hvordan installere Cezerin eCommerce på Ubuntu 18.04

Cezerin er en åpen kildekode eCommerce progressiv web-app bygget med React og Node.js. I denne opplæringen lærer du hvordan du distribuerer en Cezerin for produksjon

Slik installerer du OpenMeetings på CentOS 7

Slik installerer du OpenMeetings på CentOS 7

Bruker du et annet system? Apache OpenMeetings er en åpen kildekode-applikasjon for nettkonferanser. Den er skrevet i Java og støtter flere databaseservere. Jeg

Installere Microweber på Debian 9

Installere Microweber på Debian 9

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Installere Akaunting på Debian 9

Installere Akaunting på Debian 9

Bruker du et annet system? Akaunting er en gratis, åpen kildekode og online regnskapsprogramvare utviklet for små bedrifter og frilansere. Den er bygget vid

Hvordan installere Mailtrain Newsletter Application på Debian 9

Hvordan installere Mailtrain Newsletter Application på Debian 9

Bruker du et annet system? Mailtrain er en åpen kildekode, selvdrevet nyhetsbrev-app bygget på Node.js og MySQL/MariaDB. Mailtrains-kilden er på GitHub. Thi

Installerer Akaunting på Fedora 28

Installerer Akaunting på Fedora 28

Bruker du et annet system? Akaunting er en gratis, åpen kildekode og online regnskapsprogramvare utviklet for små bedrifter og frilansere. Den er bygget vid

OpenBSD som en e-handelsløsning med PrestaShop og Apache

OpenBSD som en e-handelsløsning med PrestaShop og Apache

Introduksjon Denne opplæringen demonstrerer OpenBSD som en e-handelsløsning som bruker PrestaShop og Apache. Apache er nødvendig fordi PrestaShop har kompleks UR

Hvordan installere Mailtrain Newsletter Application på Ubuntu 16.04

Hvordan installere Mailtrain Newsletter Application på Ubuntu 16.04

Bruker du et annet system? Mailtrain er en åpen kildekode, selvdrevet nyhetsbrev-app bygget på Node.js og MySQL/MariaDB. Mailtrains-kilden er på GitHub. Thi

Hvordan installere InvoicePlane på Fedora 28

Hvordan installere InvoicePlane på Fedora 28

Bruker du et annet system? InvoicePlane er et gratis og åpen kildekode-faktureringsapplikasjon. Kildekoden finner du på dette Github-depotet. Denne guiden

Hvordan installere osTicket på CentOS 7

Hvordan installere osTicket på CentOS 7

Bruker du et annet system? osTicket er et åpen kildekode kundestøtte billettsystem. osTicket-kildekoden er offentlig vert på Github. I denne opplæringen

Slik installerer du Open Web Analytics på CentOS 7

Slik installerer du Open Web Analytics på CentOS 7

Bruker du et annet system? Open Web Analytics (OWA) er et åpen kildekode-nettanalyseprogram som kan brukes til å spore og analysere hvordan folk bruker nettstedet ditt

Hvordan installere Open Web Analytics på Debian 9

Hvordan installere Open Web Analytics på Debian 9

Bruker du et annet system? Open Web Analytics (OWA) er et åpen kildekode-nettanalyseprogram som kan brukes til å spore og analysere hvordan folk bruker nettstedet ditt

Hvordan installere Osclass på Ubuntu 18.04 LTS

Hvordan installere Osclass på Ubuntu 18.04 LTS

Bruker du et annet system? Osclass er et åpen kildekode-prosjekt som lar deg enkelt lage et klassifisert nettsted uten noen teknisk kunnskap. Dens kilde

Hvordan installere Osclass på Debian 9

Hvordan installere Osclass på Debian 9

Bruker du et annet system? Osclass er et åpen kildekode-prosjekt som lar deg enkelt lage et klassifisert nettsted uten noen teknisk kunnskap. Dens kilde

Hvordan installere OpenMeetings på Ubuntu 16.04

Hvordan installere OpenMeetings på Ubuntu 16.04

Bruker du et annet system? Apache OpenMeetings er en åpen kildekode-applikasjon for nettkonferanser. Den er skrevet i Java og støtter flere databaseservere. Jeg

Hvordan installere X-Cart 5 på Fedora 31

Hvordan installere X-Cart 5 på Fedora 31

Bruker du et annet system? X-Cart er en ekstremt fleksibel e-handelsplattform med åpen kildekode med tonnevis av funksjoner og integrasjoner. X-Cart kildekode er vert

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer