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.

Legg igjen en kommentar

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.

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.

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.

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