Sådan installeres Apache Zeppelin på CentOS 7

Apache Zeppelin er en webbaseret open source notesbog og samarbejdsværktøj til interaktiv dataindtagelse, opdagelse, analyse og visualisering. Zeppelin understøtter mere end 20 sprog, inklusive Apache Spark, SQL, R, Elasticsearch og mange flere. Apache Zeppelin giver dig mulighed for at skabe smukke datadrevne dokumenter og se resultaterne af dine analyser.

Forudsætninger

  • En Vultr CentOS 7-serverinstans.
  • En sudo-bruger .
  • Et domænenavn pegede mod serveren.

Til denne vejledning vil vi bruge zeppelin.example.comsom domænenavnet pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet med det faktiske.

Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du CentOS 7 . Når dit system er blevet opdateret, skal du fortsætte med at installere Java.

Installer Java

Apache Zeppelin er skrevet i Java, så det kræver, at JDK virker. Download Oracle SE JDK RPM-pakke.

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"

Installer den downloadede pakke.

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

Hvis Java er installeret korrekt, bør du være i stand til at verificere dens version.

java -version

Du vil se følgende output.

[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)

Før vi kan gå videre, bliver vi nødt til at opsætte JAVA_HOMEog JRE_HOMEmiljøvariablerne. Find den absolutte sti til den eksekverbare JAVA i dit system.

readlink -f $(which java)

Du vil se et lignende output.

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

Indstil nu JAVA_HOMEog JRE_HOMEmiljøvariablerne i henhold til stien til Java-mappen.

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

Udfør bash_profilefilen.

source ~/.bash_profile

Nu kan du køre echo $JAVA_HOMEkommandoen for at kontrollere, om miljøvariablen er indstillet.

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

Installer Zeppelin

Apache Zeppelin sender alle afhængigheder sammen med de binære filer, så vi behøver ikke at installere andet end Java. Download Zeppelin binær på dit system. Du kan altid finde den seneste version af applikationen på Zeppelins downloadside .

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

Uddrag arkivet.

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

Ovenstående kommando vil udpakke arkivet til /opt/zeppelin-0.7.3-bin-all. Omdøb mappen for nemheds skyld.

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

Apache Zeppelin er nu installeret. Du kan starte applikationen med det samme, men den vil ikke være tilgængelig for dig, da den kun lytter til localhost. Vi vil konfigurere Apache Zeppelin som en tjeneste. Vi vil også konfigurere Nginx webserver som en omvendt proxy.

Konfigurer Systemd service

I dette trin opsætter vi en Systemd-enhedsfil til Zeppelin-applikationen. Dette vil sikre, at ansøgningsprocessen automatisk startes ved systemgenstart og fejl.

Af sikkerhedsmæssige årsager skal du oprette en uprivilegeret bruger til at køre Zeppelin-processen.

sudo adduser -d /opt/zeppelin -s /sbin/nologin zeppelin

Giv ejerskab af filerne til den nyoprettede Zeppelin-bruger.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Opret en ny Systemd-tjenesteenhedsfil.

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

Udfyld 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 applikationen.

sudo systemctl start zeppelin

Aktiver Zeppelin-tjenesten til automatisk at starte ved opstart.

sudo systemctl enable zeppelin

For at kontrollere, om tjenesten kører, kan du køre følgende.

sudo systemctl status zeppelin

Konfigurer omvendt proxy

Som standard lytter Zeppelin-serveren til localhostpå port 8080. I denne vejledning vil vi bruge Nginx som en omvendt proxy, så applikationen kan tilgås via standard HTTPog HTTPSporte. Vi vil også konfigurere Nginx til at bruge SSL genereret med Let's Encrypt gratis SSL CA.

Installer Nginx.

sudo yum -y install nginx

Start Nginx og aktiver den til automatisk at starte ved opstart.

sudo systemctl start nginx
sudo systemctl enable nginx

Installer Certbot, som er klientapplikationen til Let's Encrypt CA.

sudo yum -y install certbot

Før du kan anmode om certifikaterne, skal du tillade port 80og/ 443eller standard HTTPog HTTPStjenester gennem firewallen.

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

Bemærk : For at få certifikater fra Let's Encrypt CA, skal domænet, som certifikaterne skal genereres for, pege mod serveren. Hvis ikke, skal du foretage de nødvendige ændringer i domænets DNS-poster og vente på, at DNS'en udbreder sig, før du foretager certifikatanmodningen igen. Certbot kontrollerer domæneautoriteten, før certifikaterne leveres.

Generer SSL-certifikaterne.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d zeppelin.example.com

De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/zeppelin.example.com/. SSL-certifikatet vil blive gemt som fullchain.pemog privat nøgle vil blive gemt som privkey.pem.

Lad os kryptere certifikater udløber om 90 dage, derfor anbefales det at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cron-job.

Åbn cron-jobfilen.

sudo crontab -e

Tilføj følgende linje i slutningen af ​​filen.

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

Ovenstående cron-job kører hver dag kl. 5:30. Hvis certifikatet skal udløbe, vil det automatisk forny dem.

Opret en ny serverblokfil til Zeppelin-webstedet.

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

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

Genstart Nginx, så ændringerne kan træde i kraft.

sudo systemctl restart nginx zeppelin

Zeppelin er nu tilgængelig på følgende adresse.

https://zeppelin.example.com

Som standard er der ingen godkendelse aktiveret, så du kan bruge programmet direkte.

Da applikationen er tilgængelig for alle, er de notesbøger, du opretter, også tilgængelige for alle. Det er meget vigtigt at deaktivere anonym adgang og aktivere godkendelse, så kun de godkendte brugere kan få adgang til applikationen.

Deaktiver anonym adgang

For at deaktivere den anonyme standardadgang skal du kopiere konfigurationsfilskabelonen til dens liveplacering.

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

Rediger konfigurationsfilen.

sudo nano conf/zeppelin-site.xml

Find følgende linjer i filen.

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

Skift værdien til for falseat deaktivere den anonyme adgang.

Aktiver Shiro-godkendelse

Nu hvor vi har deaktiveret den anonyme adgang, er vi nødt til at aktivere en form for godkendelsesmekanisme, så privilegerede brugere kan logge ind. Apache Zeppelin bruger Apache Shiro-godkendelse. Kopier Shiro-konfigurationsfilen.

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

Rediger konfigurationsfilen.

sudo nano conf/shiro.ini

Find følgende linjer i filen.

[users]

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

Listen indeholder brugernes brugernavn, adgangskode og roller. Indtil videre vil vi kun bruge adminog user1. Skift adgangskoden til adminog user1deaktiver de andre brugere ved at kommentere dem. Du kan også ændre brugernes brugernavn og roller. For at lære mere om Apache Shiro-brugere og roller, læs Shiro-autorisationsvejledningen .

Når du har ændret adgangskoden, skal kodeblokken se sådan ud.

[users]

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

Genstart nu Zeppelin for at anvende ændringerne.

sudo systemctl restart zeppelin

Du bør se, at godkendelsen er blevet aktiveret, og du vil være i stand til at logge ind med brugernavnet og adgangskoden, der er angivet i Shiro-konfigurationsfilen.


Sådan installeres Microweber på CentOS 7

Sådan installeres Microweber på CentOS 7

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Microweber på Ubuntu 16.04

Installation af Microweber på Ubuntu 16.04

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Sådan installeres osTicket på FreeBSD 12

Sådan installeres osTicket på FreeBSD 12

Bruger du et andet system? osTicket er et open source kundesupport billetsystem. osTicket-kildekoden er offentligt hostet på Github. I denne tutorial

Sådan installeres Sylius eCommerce Platform på Ubuntu 18.04 LTS

Sådan installeres Sylius eCommerce Platform på Ubuntu 18.04 LTS

Bruger du et andet system? Sylius er en moderne e-handelsplatform til PHP, baseret på Symfony Framework. Sylius-kilden er på GitHub. Denne guide vil gå

Sådan installeres Cezerin eCommerce på Ubuntu 18.04

Sådan installeres Cezerin eCommerce på Ubuntu 18.04

Cezerin er en open source eCommerce progressiv webapp bygget ved hjælp af React og Node.js. I denne vejledning lærer du, hvordan du implementerer en Cezerin til produktion

Sådan installeres OpenMeetings på CentOS 7

Sådan installeres OpenMeetings på CentOS 7

Bruger du et andet system? Apache OpenMeetings er en open source webkonferenceapplikation. Det er skrevet i Java og understøtter flere databaseservere. jeg

Installation af Microweber på Debian 9

Installation af Microweber på Debian 9

Bruger du et andet system? Microweber er en open source træk og slip CMS og online shop. Microweber-kildekoden er hostet på GitHub. Denne guide vil vise dig

Installation af Akaunting på Debian 9

Installation af Akaunting på Debian 9

Bruger du et andet system? Akaunting er en gratis open source og online regnskabssoftware designet til små virksomheder og freelancere. Den er bygget vid

Sådan installeres Mailtrain Newsletter Application på Debian 9

Sådan installeres Mailtrain Newsletter Application på Debian 9

Bruger du et andet system? Mailtrain er en open source selvhostet nyhedsbrev-app bygget på Node.js og MySQL/MariaDB. Mailtrains-kilden er på GitHub. Thi

Installation af Akaunting på Fedora 28

Installation af Akaunting på Fedora 28

Bruger du et andet system? Akaunting er en gratis open source og online regnskabssoftware designet til små virksomheder og freelancere. Den er bygget vid

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

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

Introduktion Denne tutorial demonstrerer OpenBSD som en e-handelsløsning, der bruger PrestaShop og Apache. Apache er påkrævet, fordi PrestaShop har kompleks UR

Sådan installeres Mailtrain Newsletter Application på Ubuntu 16.04

Sådan installeres Mailtrain Newsletter Application på Ubuntu 16.04

Bruger du et andet system? Mailtrain er en open source selvhostet nyhedsbrev-app bygget på Node.js og MySQL/MariaDB. Mailtrains-kilden er på GitHub. Thi

Sådan installeres InvoicePlane på Fedora 28

Sådan installeres InvoicePlane på Fedora 28

Bruger du et andet system? InvoicePlane er en gratis og open source faktureringsapplikation. Dens kildekode kan findes på dette Github-lager. Denne guide

Sådan installeres osTicket på CentOS 7

Sådan installeres osTicket på CentOS 7

Bruger du et andet system? osTicket er et open source kundesupport billetsystem. osTicket-kildekoden er offentligt hostet på Github. I denne tutorial

Sådan installeres Open Web Analytics på CentOS 7

Sådan installeres Open Web Analytics på CentOS 7

Bruger du et andet system? Open Web Analytics (OWA) er et open source webanalyseprogram, der kan bruges til at spore og analysere, hvordan folk bruger din hjemmeside

Sådan installeres Open Web Analytics på Debian 9

Sådan installeres Open Web Analytics på Debian 9

Bruger du et andet system? Open Web Analytics (OWA) er et open source webanalyseprogram, der kan bruges til at spore og analysere, hvordan folk bruger din hjemmeside

Sådan installeres Osclass på Ubuntu 18.04 LTS

Sådan installeres Osclass på Ubuntu 18.04 LTS

Bruger du et andet system? Osclass er et open source-projekt, der giver dig mulighed for nemt at oprette et klassificeret websted uden nogen teknisk viden. Dens kilde

Sådan installeres Osclass på Debian 9

Sådan installeres Osclass på Debian 9

Bruger du et andet system? Osclass er et open source-projekt, der giver dig mulighed for nemt at oprette et klassificeret websted uden nogen teknisk viden. Dens kilde

Sådan installeres OpenMeetings på Ubuntu 16.04

Sådan installeres OpenMeetings på Ubuntu 16.04

Bruger du et andet system? Apache OpenMeetings er en open source webkonferenceapplikation. Det er skrevet i Java og understøtter flere databaseservere. jeg

Sådan installeres X-Cart 5 på Fedora 31

Sådan installeres X-Cart 5 på Fedora 31

Bruger du et andet system? X-Cart er en ekstremt fleksibel open source e-handelsplatform med tonsvis af funktioner og integrationer. X-Cart kildekoden er vært

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere