So installieren Sie Apache Zeppelin unter CentOS 7

Apache Zeppelin ist ein webbasiertes Open-Source-Notizbuch und ein kollaboratives Tool für die interaktive Datenerfassung, -erkennung, -analyse und -visualisierung. Zeppelin unterstützt mehr als 20 Sprachen, darunter Apache Spark, SQL, R, Elasticsearch und viele mehr. Mit Apache Zeppelin können Sie wunderschöne datengesteuerte Dokumente erstellen und die Ergebnisse Ihrer Analysen anzeigen.

Voraussetzungen

  • Eine Vultr CentOS 7-Serverinstanz.
  • Ein Sudo-Benutzer .
  • Ein Domainname zeigte auf den Server.

In diesem Lernprogramm wird zeppelin.example.comder Domainname verwendet, der auf die Vultr-Instanz verweist. Stellen Sie sicher, dass alle Vorkommen des Beispieldomänennamens durch den tatsächlichen ersetzt werden.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von CentOS 7 . Fahren Sie nach der Aktualisierung Ihres Systems mit der Installation von Java fort.

Installieren Sie Java

Apache Zeppelin ist in Java geschrieben und erfordert daher JDK. Laden Sie das Oracle SE JDK RPM-Paket herunter.

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"

Installieren Sie das heruntergeladene Paket.

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

Wenn Java erfolgreich installiert wurde, sollten Sie in der Lage sein, seine Version zu überprüfen.

java -version

Sie sehen die folgende Ausgabe.

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

Bevor wir fortfahren können, müssen wir die Variablen JAVA_HOMEund JRE_HOMEumgebungsvariablen einrichten . Finden Sie den absoluten Pfad der ausführbaren JAVA-Datei in Ihrem System.

readlink -f $(which java)

Sie sehen eine ähnliche Ausgabe.

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

Legen Sie nun die Umgebungsvariablen JAVA_HOMEund den JRE_HOMEUmgebungsvariablen entsprechend dem Pfad des Java-Verzeichnisses fest.

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

Führen Sie die bash_profileDatei aus.

source ~/.bash_profile

Jetzt können Sie den echo $JAVA_HOMEBefehl ausführen, um zu überprüfen, ob die Umgebungsvariable festgelegt ist.

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

Installieren Sie Zeppelin

Apache Zeppelin liefert alle Abhängigkeiten zusammen mit den Binärdateien aus, sodass wir außer Java nichts anderes installieren müssen. Laden Sie die Zeppelin-Binärdatei auf Ihr System herunter. Die neueste Version der Anwendung finden Sie immer auf der Zeppelin-Download-Seite .

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

Extrahieren Sie das Archiv.

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

Der obige Befehl extrahiert das Archiv nach /opt/zeppelin-0.7.3-bin-all. Benennen Sie das Verzeichnis der Einfachheit halber um.

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

Apache Zeppelin ist jetzt installiert. Sie können die Anwendung sofort starten, sie ist jedoch für Sie nicht zugänglich, da sie nur abgehört wird localhost. Wir werden Apache Zeppelin als Service konfigurieren. Wir werden den Nginx-Webserver auch als Reverse-Proxy konfigurieren.

Konfigurieren Sie den Systemd-Dienst

In diesem Schritt richten wir eine Systemd-Einheitendatei für die Zeppelin-Anwendung ein. Dadurch wird sichergestellt, dass der Anwendungsprozess beim Neustart des Systems und bei Fehlern automatisch gestartet wird.

Erstellen Sie aus Sicherheitsgründen einen nicht privilegierten Benutzer zum Ausführen des Zeppelin-Prozesses.

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

Stellen Sie dem neu erstellten Zeppelin-Benutzer das Eigentum an den Dateien zur Verfügung.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Erstellen Sie eine neue Systemd Service Unit-Datei.

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

Füllen Sie die Datei wie folgt aus.

[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

Starten Sie die Anwendung.

sudo systemctl start zeppelin

Aktivieren Sie den Zeppelin-Dienst so, dass er beim Booten automatisch gestartet wird.

sudo systemctl enable zeppelin

Um zu überprüfen, ob der Dienst ausgeführt wird, können Sie Folgendes ausführen.

sudo systemctl status zeppelin

Reverse Proxy konfigurieren

Standardmäßig überwacht der Zeppelin-Server den localhostPort 8080. In diesem Tutorial verwenden wir Nginx als Reverse-Proxy, damit auf die Anwendung über Standard HTTPund HTTPSPorts zugegriffen werden kann . Wir werden Nginx auch so konfigurieren, dass SSL verwendet wird, das mit Let's Encrypt Free SSL CA generiert wurde.

Installieren Sie Nginx.

sudo yum -y install nginx

Starten Sie Nginx und aktivieren Sie es, um es beim Booten automatisch zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

Installieren Sie Certbot, die Clientanwendung für Let's Encrypt CA.

sudo yum -y install certbot

Bevor Sie die Zertifikate anfordern können, müssen Sie Port 80und / 443oder Standard HTTPund HTTPSDienste über die Firewall zulassen .

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

Hinweis : Um Zertifikate von Let's Encrypt CA zu erhalten, muss die Domäne, für die die Zertifikate generiert werden sollen, auf den Server gerichtet sein. Wenn nicht, nehmen Sie die erforderlichen Änderungen an den DNS-Einträgen der Domäne vor und warten Sie, bis sich der DNS verbreitet hat, bevor Sie die Zertifikatanforderung erneut stellen. Certbot überprüft die Domänenautorität, bevor die Zertifikate bereitgestellt werden.

Generieren Sie die SSL-Zertifikate.

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

Die generierten Zertifikate werden wahrscheinlich in gespeichert /etc/letsencrypt/live/zeppelin.example.com/. Das SSL-Zertifikat wird als fullchain.pemund der private Schlüssel als gespeichert privkey.pem.

Lassen Sie uns Zertifikate verschlüsseln, die in 90 Tagen ablaufen. Daher wird empfohlen, die automatische Erneuerung der Zertifikate mithilfe von Cron-Jobs einzurichten.

Öffnen Sie die Cron-Jobdatei.

sudo crontab -e

Fügen Sie am Ende der Datei die folgende Zeile hinzu.

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

Der oben genannte Cron-Job wird jeden Tag um 5:30 Uhr ausgeführt. Wenn das Zertifikat abläuft, werden sie automatisch erneuert.

Erstellen Sie eine neue Serverblockdatei für die Zeppelin-Site.

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

Füllen Sie die Datei.

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

Starten Sie Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl restart nginx zeppelin

Zeppelin ist jetzt unter der folgenden Adresse erreichbar.

https://zeppelin.example.com

Standardmäßig ist keine Authentifizierung aktiviert, sodass Sie die Anwendung direkt verwenden können.

Da die Anwendung für alle zugänglich ist, sind die von Ihnen erstellten Notizbücher auch für alle zugänglich. Es ist sehr wichtig, den anonymen Zugriff zu deaktivieren und die Authentifizierung zu aktivieren, damit nur die authentifizierten Benutzer auf die Anwendung zugreifen können.

Deaktivieren Sie den anonymen Zugriff

Kopieren Sie die Konfigurationsdateivorlage an ihren Live-Speicherort, um den anonymen Standardzugriff zu deaktivieren.

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

Bearbeiten Sie die Konfigurationsdatei.

sudo nano conf/zeppelin-site.xml

Suchen Sie die folgenden Zeilen in der Datei.

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

Ändern Sie den Wert in false, um den anonymen Zugriff zu deaktivieren.

Aktivieren Sie die Shiro-Authentifizierung

Nachdem wir den anonymen Zugriff deaktiviert haben, müssen wir einen Authentifizierungsmechanismus aktivieren, damit sich privilegierte Benutzer anmelden können. Apache Zeppelin verwendet die Apache Shiro-Authentifizierung. Kopieren Sie die Shiro-Konfigurationsdatei.

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

Bearbeiten Sie die Konfigurationsdatei.

sudo nano conf/shiro.ini

Suchen Sie die folgenden Zeilen in der Datei.

[users]

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

Die Liste enthält den Benutzernamen, das Kennwort und die Rollen der Benutzer. Im Moment werden wir nur adminund verwenden user1. Ändern Sie das Passwort von adminund user1deaktivieren Sie die anderen Benutzer, indem Sie sie kommentieren. Sie können auch den Benutzernamen und die Rollen der Benutzer ändern. Weitere Informationen zu Apache Shiro-Benutzern und -Rollen finden Sie im Shiro-Autorisierungshandbuch .

Sobald Sie die Passwörter geändert haben, sollte der Codeblock so aussehen.

[users]

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

Starten Sie nun Zeppelin neu, um die Änderungen zu übernehmen.

sudo systemctl restart zeppelin

Sie sollten sehen, dass die Authentifizierung aktiviert wurde und Sie sich mit dem in der Shiro-Konfigurationsdatei festgelegten Benutzernamen und Kennwort anmelden können.



Leave a Comment

So installieren Sie Zammad 2.0 unter Ubuntu 16.04 LTS

So installieren Sie Zammad 2.0 unter Ubuntu 16.04 LTS

Verwenden Sie ein anderes System? Zammad ist ein Open-Source-Helpdesk- / Ticketing-System für Kundenserviceteams. Mit Zammad, Kundendienst

So installieren Sie InvoicePlane unter Ubuntu 16.04

So installieren Sie InvoicePlane unter Ubuntu 16.04

Verwenden Sie ein anderes System? InvoicePlane ist eine kostenlose Open-Source-Rechnungsanwendung. Der Quellcode befindet sich in diesem Github-Repository. Diese Anleitung

So installieren Sie das Taiga Project Management Tool unter Ubuntu 16.04

So installieren Sie das Taiga Project Management Tool unter Ubuntu 16.04

Verwenden Sie ein anderes System? Taiga ist eine kostenlose Open Source-Anwendung für das Projektmanagement. Im Gegensatz zu anderen Projektmanagement-Tools verwendet Taiga ein Inkrement

So installieren Sie Sentrifugo HRM unter Ubuntu 16.04

So installieren Sie Sentrifugo HRM unter Ubuntu 16.04

Verwenden Sie ein anderes System? Sentrifugo HRM ist eine kostenlose und Open-Source-Anwendung für Personalmanagement (HRM). Es ist reich an Funktionen und einfach zu konfigurieren

So installieren Sie Osclass unter FreeBSD 12

So installieren Sie Osclass unter FreeBSD 12

Verwenden Sie ein anderes System? Osclass ist ein Open Source-Projekt, mit dem Sie auf einfache Weise eine klassifizierte Site ohne technisches Wissen erstellen können. Seine Quelle

So installieren Sie Matomo Analytics unter Ubuntu 16.04

So installieren Sie Matomo Analytics unter Ubuntu 16.04

Verwenden Sie ein anderes System? Matomo (ehemals Piwik) ist eine Open Source-Analyseplattform, eine offene Alternative zu Google Analytics. Matomo Quelle wird gehostet o

So installieren Sie die Mailtrain-Newsletter-Anwendung auf Fedora 28

So installieren Sie die Mailtrain-Newsletter-Anwendung auf Fedora 28

Verwenden Sie ein anderes System? Mailtrain ist eine selbst gehostete Open-Source-Newsletter-App, die auf Node.js und MySQL / MariaDB basiert. Mailtrains-Quelle ist auf GitHub. Thi

So installieren Sie X-Cart 5 unter Ubuntu 18.04 LTS

So installieren Sie X-Cart 5 unter Ubuntu 18.04 LTS

Verwenden Sie ein anderes System? X-Cart ist eine äußerst flexible Open-Source-E-Commerce-Plattform mit unzähligen Funktionen und Integrationen. Der X-Cart-Quellcode ist Hoste

So installieren Sie die Mailtrain Newsletter-Anwendung unter Ubuntu 16.04

So installieren Sie die Mailtrain Newsletter-Anwendung unter Ubuntu 16.04

Verwenden Sie ein anderes System? Mailtrain ist eine selbst gehostete Open-Source-Newsletter-App, die auf Node.js und MySQL / MariaDB basiert. Mailtrains-Quelle ist auf GitHub. Thi

So installieren Sie Matomo Analytics unter FreeBSD 11

So installieren Sie Matomo Analytics unter FreeBSD 11

Verwenden Sie ein anderes System? Matomo (ehemals Piwik) ist eine Open Source-Analyseplattform, eine offene Alternative zu Google Analytics. Matomo Quelle wird gehostet o

So installieren Sie die Mailtrain-Newsletter-Anwendung unter CentOS 7

So installieren Sie die Mailtrain-Newsletter-Anwendung unter CentOS 7

Verwenden Sie ein anderes System? Mailtrain ist eine selbst gehostete Open-Source-Newsletter-App, die auf Node.js und MySQL / MariaDB basiert. Mailtrains-Quelle ist auf GitHub. Thi

So installieren Sie Dolibarr unter Ubuntu 16.04

So installieren Sie Dolibarr unter Ubuntu 16.04

Verwenden Sie ein anderes System? Dolibarr ist ein Open Source Enterprise Resource Planning (ERP) und Customer Relationship Management (CRM) für Unternehmen. Dolibarr

So installieren Sie die Mailtrain-Newsletter-Anwendung unter Debian 9

So installieren Sie die Mailtrain-Newsletter-Anwendung unter Debian 9

Verwenden Sie ein anderes System? Mailtrain ist eine selbst gehostete Open-Source-Newsletter-App, die auf Node.js und MySQL / MariaDB basiert. Mailtrains-Quelle ist auf GitHub. Thi

So installieren Sie osTicket unter Ubuntu 18.04 LTS

So installieren Sie osTicket unter Ubuntu 18.04 LTS

Verwenden Sie ein anderes System? osTicket ist ein Open-Source-Kundensupport-Ticketing-System. Der Quellcode von osTicket wird öffentlich auf Github gehostet. In diesem Tutorial

So installieren Sie Alfresco Community Edition unter CentOS 7

So installieren Sie Alfresco Community Edition unter CentOS 7

Verwenden Sie ein anderes System? Die Alfresco Community Edition ist eine Open Source-Version der Alfresco Content Services. Es ist in Java geschrieben und verwendet PostgreSQL t

So installieren Sie Sentrifugo HRM unter CentOS 7

So installieren Sie Sentrifugo HRM unter CentOS 7

Verwenden Sie ein anderes System? Sentrifugo HRM ist eine kostenlose und Open-Source-Anwendung für das Personalmanagement. Es ist reich an Funktionen und einfach zu konfigurieren

Akaunting unter CentOS 7 installieren

Akaunting unter CentOS 7 installieren

Verwenden Sie ein anderes System? Akaunting ist eine kostenlose Open Source- und Online-Buchhaltungssoftware für kleine Unternehmen und Freiberufler. Es ist witzig gebaut

Akaunting unter Ubuntu 16.04 installieren

Akaunting unter Ubuntu 16.04 installieren

Verwenden Sie ein anderes System? Akaunting ist eine kostenlose Open Source- und Online-Buchhaltungssoftware für kleine Unternehmen und Freiberufler. Es ist witzig gebaut

So installieren Sie InvoicePlane unter FreeBSD 12

So installieren Sie InvoicePlane unter FreeBSD 12

Verwenden Sie ein anderes System? InvoicePlane ist eine kostenlose Open-Source-Rechnungsanwendung. Der Quellcode befindet sich in diesem Github-Repository. Diese Anleitung

So installieren Sie das Taiga Project Management Tool unter CentOS 7

So installieren Sie das Taiga Project Management Tool unter CentOS 7

Verwenden Sie ein anderes System? Taiga ist eine kostenlose Open Source-Anwendung für das Projektmanagement. Im Gegensatz zu anderen Projektmanagement-Tools verwendet Taiga ein Inkrement

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.