Az Apache Zeppelin telepítése CentOS 7 rendszeren

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ást. 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 CentOS 7 kiszolgálópéldány.
  • Egy sudo felhasználó .
  • Egy domain név a szerverre mutatott.

Ebben az oktatóanyagban zeppelin.example.coma 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 a CentOS 7 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. Töltse le az Oracle SE JDK RPM csomagot.

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"

Telepítse a letöltött csomagot.

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

Ha a Java telepítése sikeres volt, akkor ellenőrizni kell a verzióját.

java -version

A következő kimenetet fogja látni.

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

Mielőtt továbblépnénk, be kell állítanunk a JAVA_HOMEés a JRE_HOMEkörnyezeti változókat. Keresse meg a JAVA futtatható fájl abszolút elérési útját a rendszerben.

readlink -f $(which java)

Hasonló kimenetet fog látni.

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

Most állítsa be a JAVA_HOMEés a JRE_HOMEkörnyezeti változókat a Java könyvtár elérési útja szerint.

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

Futtassa a bash_profilefájlt.

source ~/.bash_profile

Most már futtathatja a echo $JAVA_HOMEparancsot, hogy ellenőrizze, hogy a környezeti változó be van-e állítva.

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

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. A kényelem kedvéért nevezze át a könyvtárat.

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 webszervert fordított proxyként is konfiguráljuk.

A Systemd szolgáltatás 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 adduser -d /opt/zeppelin -s /sbin/nologin 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 ellenőrzéséhez futtassa a következőket.

sudo systemctl status zeppelin

Fordított proxy konfigurálása

Alapértelmezés szerint a Zeppelin szerver localhosta porton figyel 8080. Ebben az oktatóanyagban az Nginx-et fordított proxyként fogjuk használni, így az alkalmazás szabványos HTTPés HTTPSportokon keresztül érhető el . Az Nginxet a Let's Encrypt ingyenes SSL CA-val generált SSL használatára is beállítjuk.

Telepítse az Nginx-et.

sudo yum -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

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

sudo yum -y install certbot

Mielőtt kérhetné a tanúsítványokat, engedélyeznie kell a portot 80és/ 443vagy szabványt HTTPés HTTPSszolgáltatásokat a tűzfalon keresztül.

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

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 /usr/share/nginx/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ár, automatikusan megújítja azokat.

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

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

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

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 falsea 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 user1tiltsa 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 kinéznie.

[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átnia kell, 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é.