Hur man installerar Apache Zeppelin på Ubuntu 16.04

Apache Zeppelin är en webbaserad anteckningsbok med öppen källkod och ett samarbetsverktyg för interaktiv dataintag, upptäckt, analys och visualisering. Zeppelin stöder mer än 20 språk inklusive Apache Spark, SQL, R, Elasticsearch och många fler. Apache Zeppelin låter dig skapa vackra datadrivna dokument och se resultaten av dina analyser.

Förutsättningar

  • En Vultr Ubuntu 16.04-serverinstans.
  • En sudo-användare .
  • Ett domännamn pekade mot servern.

För den här handledningen kommer vi att använda zeppelin.example.com som domännamnet pekade mot Vultr-instansen. Se till att ersätta alla förekomster av exemplets domännamn med det faktiska.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar Ubuntu 16.04 . När ditt system har uppdaterats, fortsätt att installera Java.

Installera Java

Apache Zeppelin är skrivet i Java, så det kräver JDK för att fungera. Lägg till Ubuntu-förvaret för Oracle Java 8.

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

Installera Oracle Java.

sudo apt -y install oracle-java8-installer

Verifiera dess version.

java -version

Du kommer att se följande utdata.

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)

Ställ in standardsökvägen för Java genom att installera följande paket.

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

Du kan verifiera om JAVA_HOMEär inställt genom att köra.

echo $JAVA_HOME

Du får se.

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

Om du inte ser någon utdata alls måste du logga ut från det aktuella skalet och logga in igen.

Installera Zeppelin

Apache Zeppelin skickar alla beroenden tillsammans med de binära filerna, så vi behöver inte installera något annat förutom Java. Ladda ner Zeppelin-binären på ditt system. Du kan alltid hitta den senaste versionen av programmet på Zeppelins nedladdningssida .

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

Extrahera arkivet.

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

Ovanstående kommando extraherar arkivet till /opt/zeppelin-0.7.3-bin-all. Byt namn på katalogen för enkelhetens skull.

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

Apache Zeppelin är nu installerat. Du kan starta applikationen omedelbart, men den kommer inte att vara tillgänglig för dig, eftersom den bara lyssnar på localhost. Vi kommer att konfigurera Apache Zeppelin som en tjänst. Vi kommer också att konfigurera Nginx som en omvänd proxy.

Konfigurera Systemd

I det här steget kommer vi att ställa in en Systemd-enhetsfil för Zeppelin-applikationen. Detta kommer att säkerställa att ansökningsprocessen startas automatiskt vid omstart av systemet och fel.

Av säkerhetsskäl, skapa en oprivilegierad användare för att köra Zeppelin-processen.

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

Ge äganderätten till filerna till den nyskapade Zeppelin-användaren.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Skapa en ny Systemd-tjänstenhetsfil.

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

Fyll filen med följande.

[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

Starta programmet.

sudo systemctl start zeppelin

Aktivera Zeppelin-tjänsten att starta automatiskt vid uppstart.

sudo systemctl enable zeppelin

För att säkerställa att tjänsten körs kan du köra följande.

sudo systemctl status zeppelin

Konfigurera omvänd proxy

Som standard lyssnar Zeppelin-servern på localhost på port 8080. Vi kommer att använda Nginx som en omvänd proxy så att applikationen kan nås via standard HTTP och HTTPS portar. Vi kommer också att konfigurera Nginx att använda en SSL genererad med Let's Encrypt gratis SSL CA.

Installera Nginx.

sudo apt -y install nginx

Starta Nginx och låt den starta automatiskt vid uppstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Lägg till Certbot-förvaret.

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

Installera Certbot, som är klientapplikationen för Let's Encrypt CA.

sudo apt -y install certbot

Obs : För att erhålla certifikat från Let's Encrypt CA måste domänen som certifikaten ska genereras för peka mot servern. Om inte, gör de nödvändiga ändringarna i domänens DNS-poster och vänta tills DNS:n sprider sig innan du gör certifikatbegäran igen. Certbot kontrollerar domänmyndigheten innan certifikaten tillhandahålls.

Generera SSL-certifikaten.

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

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/zeppelin.example.com/. SSL-certifikatet kommer att lagras som fullchain.pem och privat nyckel kommer att lagras som privkey.pem.

Låt oss kryptera certifikaten går ut om 90 dagar, därför rekommenderas det att ställa in automatisk förnyelse av certifikaten med Cron-jobb.

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje dag klockan 5:30. Om certifikatet löper ut kommer det automatiskt att förnyas.

Skapa en ny serverblockfil för Zeppelin-webbplatsen.

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

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

Aktivera konfigurationsfilen.

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

Starta om Nginx så att ändringarna kan träda i kraft.

sudo systemctl restart nginx zeppelin

Zeppelin är nu tillgänglig på följande adress.

https://zeppelin.example.com

Som standard finns ingen autentisering aktiverad, så du kan använda programmet direkt.

Eftersom applikationen är tillgänglig för alla är de anteckningsböcker du skapar också tillgängliga för alla. Det är mycket viktigt att inaktivera anonym åtkomst och aktivera autentisering så att endast de autentiserade användarna kan komma åt applikationen.

Inaktivera anonym åtkomst

För att inaktivera den anonyma standardåtkomsten kopierar du konfigurationsfilmallen till dess liveplats.

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

Redigera konfigurationsfilen.

sudo nano conf/zeppelin-site.xml

Hitta följande rader i filen.

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

Ändra värdet till för false att inaktivera den anonyma åtkomsten.

Aktivera Shiro-autentisering

Nu när vi har inaktiverat den anonyma åtkomsten måste vi aktivera någon form av autentiseringsmekanism så att privilegierade användare kan logga in. Apache Zeppelin använder Apache Shiro-autentisering. Kopiera Shiro-konfigurationsfilen.

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

Redigera konfigurationsfilen.

sudo nano conf/shiro.ini

Hitta följande rader i filen.

[users]

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

Listan innehåller användarnamn, lösenord och roller. För närvarande kommer vi bara att använda admin och user1. Ändra lösenordet för admin och user1 inaktivera de andra användarna genom att kommentera dem. Du kan också ändra användarnamn och roller för användarna. För att lära dig mer om Apache Shiro-användare och roller, läs Shiros auktoriseringsguide .

När du har ändrat lösenorden bör kodblocket vara så här.

[users]

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

Starta nu om Zeppelin för att tillämpa ändringarna.

sudo systemctl restart zeppelin

Du kommer att se att autentiseringen har aktiverats och du kommer att kunna logga in med användarnamnet och lösenordet som anges i Shiros konfigurationsfil.


Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Installera Microweber på Ubuntu 16.04

Installera Microweber på Ubuntu 16.04

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar osTicket på FreeBSD 12

Hur man installerar osTicket på FreeBSD 12

Använder du ett annat system? osTicket är ett biljettsystem för kundsupport med öppen källkod. osTicket källkod är offentligt värd på Github. I denna handledning

Hur man installerar Sylius eCommerce Platform på Ubuntu 18.04 LTS

Hur man installerar Sylius eCommerce Platform på Ubuntu 18.04 LTS

Använder du ett annat system? Sylius är en modern e-handelsplattform för PHP, baserad på Symfony Framework. Sylius källa finns på GitHub. Denna guide kommer att gå

Hur man installerar Cezerin eCommerce på Ubuntu 18.04

Hur man installerar Cezerin eCommerce på Ubuntu 18.04

Cezerin är en progressiv webbapp för e-handel med öppen källkod byggd med hjälp av React och Node.js. I den här handledningen kommer du att lära dig hur du distribuerar en Cezerin för produktion

Hur man installerar OpenMeetings på CentOS 7

Hur man installerar OpenMeetings på CentOS 7

Använder du ett annat system? Apache OpenMeetings är ett webbkonferensprogram med öppen källkod. Den är skriven i Java och stöder flera databasservrar. jag

Installera Microweber på Debian 9

Installera Microweber på Debian 9

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Installera Akaunting på Debian 9

Installera Akaunting på Debian 9

Använder du ett annat system? Akaunting är en gratis, öppen källkod och bokföringsprogram online designad för småföretag och frilansare. Det är byggt vettigt

Hur man installerar Mailtrain Newsletter Application på Debian 9

Hur man installerar Mailtrain Newsletter Application på Debian 9

Använder du ett annat system? Mailtrain är en öppen källkodsbaserad nyhetsbrevsapp byggd på Node.js och MySQL/MariaDB. Mailtrains källa finns på GitHub. Thi

Installerar Akaunting på Fedora 28

Installerar Akaunting på Fedora 28

Använder du ett annat system? Akaunting är en gratis, öppen källkod och bokföringsprogram online designad för småföretag och frilansare. Det är byggt vettigt

OpenBSD som en e-handelslösning med PrestaShop och Apache

OpenBSD som en e-handelslösning med PrestaShop och Apache

Introduktion Denna handledning visar OpenBSD som en e-handelslösning som använder PrestaShop och Apache. Apache krävs eftersom PrestaShop har komplex UR

Hur man installerar Mailtrain Newsletter Application på Ubuntu 16.04

Hur man installerar Mailtrain Newsletter Application på Ubuntu 16.04

Använder du ett annat system? Mailtrain är en öppen källkodsbaserad nyhetsbrevsapp byggd på Node.js och MySQL/MariaDB. Mailtrains källa finns på GitHub. Thi

Hur man installerar InvoicePlane på Fedora 28

Hur man installerar InvoicePlane på Fedora 28

Använder du ett annat system? InvoicePlane är en gratis faktureringsprogram med öppen källkod. Dess källkod kan hittas på detta Github-förråd. Denna guide

Hur man installerar osTicket på CentOS 7

Hur man installerar osTicket på CentOS 7

Använder du ett annat system? osTicket är ett biljettsystem för kundsupport med öppen källkod. osTicket källkod är offentligt värd på Github. I denna handledning

Hur man installerar Open Web Analytics på CentOS 7

Hur man installerar Open Web Analytics på CentOS 7

Använder du ett annat system? Open Web Analytics (OWA) är ett webbanalysprogram med öppen källkod som kan användas för att spåra och analysera hur människor använder din webbplats

Hur man installerar Open Web Analytics på Debian 9

Hur man installerar Open Web Analytics på Debian 9

Använder du ett annat system? Open Web Analytics (OWA) är ett webbanalysprogram med öppen källkod som kan användas för att spåra och analysera hur människor använder din webbplats

Hur man installerar Osclass på Ubuntu 18.04 LTS

Hur man installerar Osclass på Ubuntu 18.04 LTS

Använder du ett annat system? Osclass är ett projekt med öppen källkod som gör att du enkelt kan skapa en hemligstämplad webbplats utan någon teknisk kunskap. Dess källa

Hur man installerar Osclass på Debian 9

Hur man installerar Osclass på Debian 9

Använder du ett annat system? Osclass är ett projekt med öppen källkod som gör att du enkelt kan skapa en hemligstämplad webbplats utan någon teknisk kunskap. Dess källa

Hur man installerar OpenMeetings på Ubuntu 16.04

Hur man installerar OpenMeetings på Ubuntu 16.04

Använder du ett annat system? Apache OpenMeetings är ett webbkonferensprogram med öppen källkod. Den är skriven i Java och stöder flera databasservrar. jag

Hur man installerar X-Cart 5 på Fedora 31

Hur man installerar X-Cart 5 på Fedora 31

Använder du ett annat system? X-Cart är en extremt flexibel e-handelsplattform med öppen källkod med massor av funktioner och integrationer. X-Cart källkod är värd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer