Kako namestiti Apache Zeppelin na CentOS 7

Apache Zeppelin je spletni odprtokodni prenosnik in orodje za sodelovanje za interaktivno vnos podatkov, odkrivanje, analitiko in vizualizacijo. Zeppelin podpira več kot 20 jezikov, vključno z Apache Spark, SQL, R, Elasticsearch in številnimi drugimi. Apache Zeppelin vam omogoča ustvarjanje čudovitih dokumentov na podlagi podatkov in ogled rezultatov vaše analitike.

Predpogoji

  • Primerek strežnika Vultr CentOS 7.
  • Uporabnik sudo .
  • Ime domene, usmerjeno proti strežniku.

Za to vadnico bomo uporabili zeppelin.example.comkot ime domene, usmerjeno proti primerku Vultr. Prosimo, da zamenjate vse pojavitve vzorčnega imena domene z dejanskim.

Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti CentOS 7 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Jave.

Namesti Java

Apache Zeppelin je napisan v Javi, zato za delovanje zahteva JDK. Prenesite paket Oracle SE JDK RPM.

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"

Namestite preneseni paket.

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

Če je Java uspešno nameščena, bi morali imeti možnost preveriti njeno različico.

java -version

Videli boste naslednji izhod.

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

Preden lahko nadaljujemo, bomo morali nastaviti spremenljivke okolja JAVA_HOMEin JRE_HOME. Poiščite absolutno pot izvršljive datoteke JAVA v vašem sistemu.

readlink -f $(which java)

Videli boste podoben izhod.

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

Zdaj nastavite spremenljivke okolja JAVA_HOMEin JRE_HOMEglede na pot imenika Java.

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

Izvedite bash_profiledatoteko.

source ~/.bash_profile

Zdaj lahko zaženete echo $JAVA_HOMEukaz, da preverite, ali je spremenljivka okolja nastavljena.

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

Namestite Zeppelin

Apache Zeppelin pošlje vse odvisnosti skupaj z binarnimi datotekami, zato nam ni treba namestiti ničesar drugega razen Jave. Prenesite binarni program Zeppelin na svoj sistem. Najnovejšo različico aplikacije lahko vedno najdete na strani za prenos Zeppelin .

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

Ekstrahirajte arhiv.

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

Zgornji ukaz bo izvlekel arhiv v /opt/zeppelin-0.7.3-bin-all. Preimenujte imenik zaradi udobja.

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

Apache Zeppelin je zdaj nameščen. Aplikacijo lahko takoj zaženete, vendar vam ne bo dostopna, saj le posluša localhost. Apache Zeppelin bomo konfigurirali kot storitev. Spletni strežnik Nginx bomo konfigurirali tudi kot povratni proxy.

Konfigurirajte storitev Systemd

V tem koraku bomo nastavili datoteko enote Systemd za aplikacijo Zeppelin. To bo zagotovilo, da se postopek aplikacije samodejno zažene ob ponovnem zagonu sistema in napakah.

Iz varnostnih razlogov ustvarite neprivilegiranega uporabnika za izvajanje procesa Zeppelin.

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

Zagotovite lastništvo datotek novoustvarjenemu uporabniku Zeppelin.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Ustvarite novo datoteko servisne enote Systemd.

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

Napolnite datoteko z naslednjim.

[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

Zaženite aplikacijo.

sudo systemctl start zeppelin

Omogočite storitev Zeppelin, da se samodejno zažene ob zagonu.

sudo systemctl enable zeppelin

Če želite preveriti, ali storitev deluje, lahko zaženete naslednje.

sudo systemctl status zeppelin

Konfigurirajte povratni proxy

Strežnik Zeppelin privzeto posluša localhostna vratih 8080. V tej vadnici bomo Nginx uporabili kot povratni proxy, tako da bo do aplikacije mogoče dostopati prek standarda HTTPin HTTPSvrat. Nginx bomo tudi konfigurirali za uporabo SSL, ustvarjenega z brezplačnim SSL CA Let's Encrypt.

Namestite Nginx.

sudo yum -y install nginx

Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.

sudo systemctl start nginx
sudo systemctl enable nginx

Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.

sudo yum -y install certbot

Preden lahko zahtevate potrdila, boste morali prek požarnega zidu dovoliti vrata 80in/ 443ali standard HTTPter HTTPSstoritve.

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

Opomba : Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila ustvarjena potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.

Ustvarite SSL potrdila.

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

Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/zeppelin.example.com/. Potrdilo SSL bo shranjeno kot fullchain.pemin zasebni ključ bo shranjen kot privkey.pem.

Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo opravil Cron.

Odprite datoteko opravila cron.

sudo crontab -e

Dodajte naslednjo vrstico na konec datoteke.

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

Zgornje opravilo cron se bo izvajalo vsak dan ob 5.30. Če potrdilo poteče, ga bo samodejno podaljšalo.

Ustvarite novo datoteko blokov strežnika za spletno mesto Zeppelin.

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

Izpolnite datoteko.

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

Znova zaženite Nginx, da bodo spremembe začele veljati.

sudo systemctl restart nginx zeppelin

Zeppelin je zdaj dostopen na naslednjem naslovu.

https://zeppelin.example.com

Privzeto ni omogočeno preverjanje pristnosti, tako da lahko aplikacijo uporabljate neposredno.

Ker je aplikacija dostopna vsem, so tudi zvezki, ki jih ustvarite, dostopni vsem. Zelo pomembno je, da onemogočite anonimni dostop in omogočite avtentikacijo, tako da lahko do aplikacije dostopajo samo overjeni uporabniki.

Onemogoči anonimni dostop

Če želite onemogočiti privzeti anonimni dostop, kopirajte predlogo konfiguracijske datoteke na njeno mesto v živo.

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

Uredite konfiguracijsko datoteko.

sudo nano conf/zeppelin-site.xml

Poiščite naslednje vrstice v datoteki.

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

Spremenite vrednost na, falseda onemogočite anonimni dostop.

Omogoči preverjanje pristnosti Shiro

Zdaj, ko smo onemogočili anonimni dostop, moramo omogočiti nekakšen mehanizem za preverjanje pristnosti, da se lahko privilegirani uporabniki prijavijo. Apache Zeppelin uporablja avtentikacijo Apache Shiro. Kopirajte konfiguracijsko datoteko Shiro.

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

Uredite konfiguracijsko datoteko.

sudo nano conf/shiro.ini

Poiščite naslednje vrstice v datoteki.

[users]

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

Seznam vsebuje uporabniško ime, geslo in vloge uporabnikov. Za zdaj bomo uporabljali samo adminin user1. Spremenite geslo adminin user1in onemogočite druge uporabnike tako, da jih komentirate. Spremenite lahko tudi uporabniško ime in vloge uporabnikov. Če želite izvedeti več o uporabnikih in vlogah Apache Shiro, preberite priročnik za avtorizacijo Shiro .

Ko spremenite gesla, bi moral kodni blok izgledati takole.

[users]

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

Zdaj znova zaženite Zeppelin, da uporabite spremembe.

sudo systemctl restart zeppelin

Videti bi morali, da je preverjanje pristnosti omogočeno in da se boste lahko prijavili z uporabniškim imenom in geslom, ki sta nastavljena v konfiguracijski datoteki Shiro.


Kako namestiti osTicket na FreeBSD 12

Kako namestiti osTicket na FreeBSD 12

Uporaba drugega sistema? osTicket je odprtokodni sistem za izdajo vstopnic za podporo strankam. Izvorna koda osTicket je javno gostovana na Githubu. V tej vadnici

Kako namestiti OpenMeetings na CentOS 7

Kako namestiti OpenMeetings na CentOS 7

Uporaba drugega sistema? Apache OpenMeetings je odprtokodna aplikacija za spletne konference. Napisana je v Javi in ​​podpira več strežnikov baz podatkov. jaz

Namestitev Microweberja v Debian 9

Namestitev Microweberja v Debian 9

Uporaba drugega sistema? Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik vam bo pokazal

Namestitev Akauntinga na Fedora 28

Namestitev Akauntinga na Fedora 28

Uporaba drugega sistema? Akaunting je brezplačna, odprtokodna in spletna računovodska programska oprema, zasnovana za mala podjetja in samostojne delavce. Zgrajena je pametno

Kako namestiti InvoicePlane na Fedora 28

Kako namestiti InvoicePlane na Fedora 28

Uporaba drugega sistema? InvoicePlane je brezplačna in odprtokodna aplikacija za izdajanje računov. Njegovo izvorno kodo lahko najdete v tem repozitoriju Github. Ta vodnik

Kako namestiti Open Web Analytics na CentOS 7

Kako namestiti Open Web Analytics na CentOS 7

Uporaba drugega sistema? Open Web Analytics (OWA) je odprtokodni program za spletno analitiko, ki ga lahko uporabite za sledenje in analizo, kako ljudje uporabljajo vaše spletno mesto.

Namestitev Microweberja na FreeBSD 12

Namestitev Microweberja na FreeBSD 12

Uporaba drugega sistema? Uvod Microweber je odprtokodna povleci in spusti CMS in spletna trgovina. Izvorna koda Microweber gostuje na GitHubu. Ta vodnik

Kako namestiti Matomo Analytics na Fedora 28

Kako namestiti Matomo Analytics na Fedora 28

Uporaba drugega sistema? Matomo (prej Piwik) je odprtokodna analitična platforma, odprta alternativa Google Analytics. Vir Matomo gostuje o

Kako namestiti Zammad 2.0 na CentOS 7

Kako namestiti Zammad 2.0 na CentOS 7

Uporaba drugega sistema? Zammad je odprtokodni sistem za pomoč uporabnikom/prodaja vstopnic, zasnovan za ekipe za podporo strankam. Z Zammadom, storitev za stranke

Kako namestiti X-Cart 5 na Ubuntu 18.04 LTS

Kako namestiti X-Cart 5 na Ubuntu 18.04 LTS

Uporaba drugega sistema? X-Cart je izjemno prilagodljiva odprtokodna platforma za e-trgovino s številnimi funkcijami in integracijami. Izvorna koda X-Cart je hoste

Kako namestiti Matomo Analytics na CentOS 7

Kako namestiti Matomo Analytics na CentOS 7

Uporaba drugega sistema? Matomo (prej Piwik) je odprtokodna analitična platforma, odprta alternativa Google Analytics. Vir Matomo gostuje o

Kako namestiti orodje za upravljanje projektov Taiga na CentOS 7

Kako namestiti orodje za upravljanje projektov Taiga na CentOS 7

Uporaba drugega sistema? Taiga je brezplačna in odprtokodna aplikacija za vodenje projektov. Za razliko od drugih orodij za vodenje projektov, Taiga uporablja inkremente

Kako namestiti Osclass na Fedora 28

Kako namestiti Osclass na Fedora 28

Uporaba drugega sistema? Osclass je odprtokodni projekt, ki vam omogoča preprosto ustvarjanje spletnega mesta za male oglase brez kakršnega koli tehničnega znanja. Njegov vir

Kako namestiti X-Cart 5 na FreeBSD 12

Kako namestiti X-Cart 5 na FreeBSD 12

Uporaba drugega sistema? X-Cart je izjemno prilagodljiva odprtokodna platforma za e-trgovino s številnimi funkcijami in integracijami. Izvorna koda X-Cart je hoste

Kako namestiti Dolibarr na Fedora 28

Kako namestiti Dolibarr na Fedora 28

Uporaba drugega sistema? Dolibarr je odprtokodno načrtovanje virov podjetja (ERP) in upravljanje odnosov s strankami (CRM) za podjetja. Dolibar

Namestitev Akauntinga na CentOS 7

Namestitev Akauntinga na CentOS 7

Uporaba drugega sistema? Akaunting je brezplačna, odprtokodna in spletna računovodska programska oprema, zasnovana za mala podjetja in samostojne delavce. Zgrajena je pametno

Kako namestiti Attendize na Fedora 29

Kako namestiti Attendize na Fedora 29

Uporaba drugega sistema? Uvod Attendize je odprtokodna platforma za prodajo vstopnic in upravljanje dogodkov, ki temelji na Laravel PHP Framework. Attendiz

Kako namestiti Attendize na CentOS 7

Kako namestiti Attendize na CentOS 7

Uporaba drugega sistema? Uvod Attendize je odprtokodna platforma za prodajo vstopnic in upravljanje dogodkov, ki temelji na Laravel PHP Framework. Attendiz

Kako namestiti Sentrifugo HRM na CentOS 7

Kako namestiti Sentrifugo HRM na CentOS 7

Uporaba drugega sistema? Sentrifugo HRM je brezplačna in odprtokodna aplikacija za upravljanje človeških virov. Je bogat s funkcijami in ga je enostavno konfigurirati

Namestite Pydio 7 na CentOS 7

Namestite Pydio 7 na CentOS 7

Pydio je alternativa programski opremi, kot sta ownCloud in NextCloud. Pydio je tudi odprtokoden, kar pomeni, da ne stane nič za uporabo in ga upravlja a

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več