Az Apache Zeppelin telepítése Ubuntu 16.04-re

Az Apache Zeppelin egy webalapú, nyílt forráskódú jegyzetfüzet és együttműködési eszköz interaktív adatfeldolgozáshoz, -felderítéshez, elemzéshez és megjelenítéshez. A Zeppelin több mint 20 nyelvet támogat, beleértve az Apache Sparkot, SQL-t, R-t, Elasticsearch-et és még sok más nyelvet. Az Apache Zeppelin segítségével gyönyörű, adatvezérelt dokumentumokat hozhat létre, és megtekintheti az elemzések eredményeit.

Előfeltételek

  • Egy Vultr Ubuntu 16.04 szerverpéldány.
  • Egy sudo felhasználó .
  • Egy domain név a szerverre mutatott.

Ebben az oktatóanyagban zeppelin.example.com a Vultr példányra mutató tartománynévként fogjuk használni . Kérjük, ügyeljen arra, hogy a példa domain név minden előfordulását lecserélje a tényleges névre.

Frissítse alaprendszerét az Ubuntu 16.04 frissítése útmutató segítségével . A rendszer frissítése után folytassa a Java telepítésével.

Java telepítése

Az Apache Zeppelin Java nyelven íródott, ezért a működéséhez JDK szükséges. Adja hozzá az Oracle Java 8 Ubuntu tárházát.

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

Telepítse az Oracle Java-t.

sudo apt -y install oracle-java8-installer

Ellenőrizze a verzióját.

java -version

A következő kimenetet fogja látni.

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)

Állítsa be a Java alapértelmezett elérési útját a következő csomag telepítésével.

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

Futással ellenőrizheti, hogy be JAVA_HOMEvan-e állítva.

echo $JAVA_HOME

Meglátod.

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

Ha egyáltalán nem látja a kimenetet, ki kell jelentkeznie az aktuális shellből, majd újra be kell jelentkeznie.

Telepítse a Zeppelint

Az Apache Zeppelin az összes függőséget a bináris fájlokkal együtt szállítja, így nem kell mást telepítenünk, csak a Java-t. Töltse le a Zeppelin bináris fájlt a rendszerére. Az alkalmazás legújabb verzióját mindig megtalálja a Zeppelin letöltési oldalán .

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

Bontsa ki az archívumot.

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

A fenti parancs kicsomagolja az archívumot ide /opt/zeppelin-0.7.3-bin-all. Nevezze át a könyvtárat a kényelem kedvéért.

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

Az Apache Zeppelin most telepítve van. Azonnal elindíthatja az alkalmazást, de nem lesz elérhető, mivel csak hallgat localhost. Az Apache Zeppelint szolgáltatásként konfiguráljuk. Az Nginx-et fordított proxyként is konfiguráljuk.

A Systemd konfigurálása

Ebben a lépésben beállítunk egy Systemd unit fájlt a Zeppelin alkalmazáshoz. Ez biztosítja, hogy az alkalmazási folyamat automatikusan elinduljon a rendszer újraindításakor és meghibásodáskor.

Biztonsági okokból hozzon létre egy nem jogosult felhasználót a Zeppelin folyamat futtatásához.

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

Adja meg a fájlok tulajdonjogát az újonnan létrehozott Zeppelin felhasználónak.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Hozzon létre egy új Systemd szervizegység fájlt.

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

Töltse ki a fájlt a következővel.

[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

Indítsa el az alkalmazást.

sudo systemctl start zeppelin

Engedélyezze a Zeppelin szolgáltatás automatikus indulását a rendszerindításkor.

sudo systemctl enable zeppelin

A szolgáltatás futásának biztosításához futtassa a következőket.

sudo systemctl status zeppelin

Fordított proxy konfigurálása

Alapértelmezés szerint a Zeppelin szerver localhost a porton figyel 8080. Az Nginx-et fordított proxyként fogjuk használni, hogy az alkalmazás szabványos HTTP és HTTPS portokon keresztül is elérhető legyen . Az Nginxet úgy is beállítjuk, hogy a Let's Encrypt ingyenes SSL CA-val generált SSL-t használjon.

Telepítse az Nginx-et.

sudo apt -y install nginx

Indítsa el az Nginx-et, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

sudo systemctl start nginx
sudo systemctl enable nginx

Adja hozzá a Certbot adattárat.

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

Telepítse a Certbotot, amely a Let's Encrypt CA ügyfélalkalmazása.

sudo apt -y install certbot

Megjegyzés : A Let's Encrypt CA-tól tanúsítványok beszerzéséhez a tartományt, amelyhez a tanúsítványokat elő kell állítani, a szerver felé kell mutatni. Ha nem, hajtsa végre a szükséges módosításokat a tartomány DNS-rekordjain, és várja meg, amíg a DNS továbbterjed, mielőtt ismét kérelmet küldene. A Certbot a tanúsítványok kiadása előtt ellenőrzi a tartományi hatóságot.

Hozza létre az SSL-tanúsítványokat.

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

A generált tanúsítványok valószínűleg a következő helyen lesznek tárolva /etc/letsencrypt/live/zeppelin.example.com/. Az SSL-tanúsítvány a következőként fullchain.pem , a magánkulcs pedig néven lesz tárolva privkey.pem.

A Titkosított tanúsítványok 90 napon belül lejárnak, ezért ajánlatos beállítani a tanúsítványok automatikus megújítását Cron jobokkal.

Nyissa meg a cron feladatfájlt.

sudo crontab -e

Adja hozzá a következő sort a fájl végéhez.

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

A fenti cron-feladat minden nap 5:30-kor fog futni. Ha a tanúsítvány lejárt, az automatikusan megújul.

Hozzon létre egy új szerverblokk fájlt a Zeppelin webhelyhez.

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

Töltse fel a fájlt.

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

Aktiválja a konfigurációs fájlt.

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

Indítsa újra az Nginxet, hogy a változtatások érvénybe lépjenek.

sudo systemctl restart nginx zeppelin

A Zeppelin már elérhető a következő címen.

https://zeppelin.example.com

Alapértelmezés szerint nincs engedélyezve a hitelesítés, így közvetlenül használhatja az alkalmazást.

Mivel az alkalmazás mindenki számára elérhető, az Ön által létrehozott jegyzetfüzetek is mindenki számára elérhetőek. Nagyon fontos az anonim hozzáférés letiltása és a hitelesítés engedélyezése, hogy csak a hitelesített felhasználók férhessenek hozzá az alkalmazáshoz.

Az Anonymous Access letiltása

Az alapértelmezett névtelen hozzáférés letiltásához másolja a konfigurációs fájl sablonját az élő helyére.

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

Szerkessze a konfigurációs fájlt.

sudo nano conf/zeppelin-site.xml

Keresse meg a következő sorokat a fájlban.

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

Módosítsa az értéket false a névtelen hozzáférés letiltásához.

Engedélyezze a Shiro hitelesítést

Most, hogy letiltottuk az anonim hozzáférést, engedélyeznünk kell valamilyen hitelesítési mechanizmust, hogy a privilegizált felhasználók bejelentkezhessenek. Az Apache Zeppelin Apache Shiro hitelesítést használ. Másolja a Shiro konfigurációs fájlt.

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

Szerkessze a konfigurációs fájlt.

sudo nano conf/shiro.ini

Keresse meg a következő sorokat a fájlban.

[users]

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

A lista tartalmazza a felhasználók felhasználónevét, jelszavát és szerepkörét. Egyelőre csak a admin és -t fogjuk használni user1. Módosítsa a jelszavát, admin és user1 tiltsa le a többi felhasználót megjegyzésekkel. A felhasználók felhasználónevét és szerepköreit is módosíthatja. Ha többet szeretne megtudni az Apache Shiro felhasználókról és szerepekről, olvassa el a Shiro engedélyezési útmutatót .

Miután megváltoztatta a jelszavakat, a kódblokknak így kell lennie.

[users]

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

Most indítsa újra a Zeppelint a módosítások alkalmazásához.

sudo systemctl restart zeppelin

Látni fogja, hogy a hitelesítés engedélyezve van, és be tud majd jelentkezni a Shiro konfigurációs fájljában megadott felhasználónévvel és jelszóval.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.