Hur man installerar Apache Zeppelin på CentOS 7

Apache Zeppelin är en webbaserad anteckningsbok med öppen källkod och samarbetsverktyg för interaktiv dataintag, upptäckt, analys och visualisering. Zeppelin stöder 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 CentOS 7-serverinstans.
  • En sudo-användare .
  • Ett domännamn pekade mot servern.

För den här handledningen kommer vi att använda zeppelin.example.comsom 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 CentOS 7 . 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. Ladda ner Oracle SE JDK RPM-paket.

wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"

Installera det nedladdade paketet.

sudo yum -y localinstall jdk-8u151-linux-x64.rpm

Om Java har installerats framgångsrikt bör du kunna verifiera dess version.

java -version

Du kommer att se följande utdata.

[user@vultr ~]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

Innan vi kan gå vidare måste vi ställa in variablerna JAVA_HOMEoch JRE_HOMEmiljö. Hitta den absoluta sökvägen för den körbara JAVA-filen i ditt system.

readlink -f $(which java)

Du kommer att se en liknande utgång.

[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_151/jre/bin/java

Nu, ställa in JAVA_HOMEoch JRE_HOMEmiljövariabler enligt sökvägen till Java-katalogen.

echo "export JAVA_HOME=/usr/java/jdk1.8.0_151" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_151/jre" >> ~/.bash_profile

Kör bash_profilefilen.

source ~/.bash_profile

Nu kan du köra echo $JAVA_HOMEkommandot för att kontrollera om miljövariabeln är inställd.

[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_151

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 enkelhets 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 webbserver som en omvänd proxy.

Konfigurera Systemd-tjänsten

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 adduser -d /opt/zeppelin -s /sbin/nologin 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 kontrollera om tjänsten körs kan du köra följande.

sudo systemctl status zeppelin

Konfigurera omvänd proxy

Som standard lyssnar Zeppelin-servern på localhostpå port 8080. I den här handledningen kommer vi att använda Nginx som en omvänd proxy så att applikationen kan nås via standard HTTPoch HTTPSportar. Vi kommer också att konfigurera Nginx att använda SSL som genereras med Let's Encrypt gratis SSL CA.

Installera Nginx.

sudo yum -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Innan du kan begära certifikaten måste du tillåta port 80och/ 443eller standard HTTPoch HTTPStjänster genom brandväggen.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

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 /usr/share/nginx/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.pemoch 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 förnyas det automatiskt.

Skapa en ny serverblockfil för Zeppelin-webbplatsen.

sudo nano /etc/nginx/conf.d/zeppelin.example.com.conf

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

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 falseatt 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 adminoch user1. Ändra lösenordet för adminoch user1inaktivera 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 ska kodblocket se ut 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 bör se att autentiseringen har aktiverats och du kommer att kunna logga in med det användarnamn och lösenord som anges i Shiro-konfigurationsfilen.

Lämna en kommentar

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.

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.

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.

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