Come installare Apache Zeppelin su CentOS 7

Apache Zeppelin è un notebook open source basato sul Web e uno strumento collaborativo per l'immissione, il rilevamento, l'analisi e la visualizzazione di dati interattivi. Zeppelin supporta oltre 20 lingue tra cui Apache Spark, SQL, R, Elasticsearch e molte altre. Apache Zeppelin ti consente di creare splendidi documenti basati sui dati e vedere i risultati delle tue analisi.

Prerequisiti

  • Un'istanza del server Vultr CentOS 7.
  • Un utente sudo .
  • Un nome di dominio puntato verso il server.

Per questo tutorial, useremo zeppelin.example.comcome nome di dominio puntato verso l'istanza Vultr. Assicurati di sostituire tutte le occorrenze del nome di dominio di esempio con quello effettivo.

Aggiorna il tuo sistema di base usando la guida Come aggiornare CentOS 7 . Dopo aver aggiornato il sistema, procedere con l'installazione di Java.

Installa Java

Apache Zeppelin è scritto in Java, quindi per funzionare richiede JDK. Scarica il pacchetto 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"

Installa il pacchetto scaricato.

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

Se Java è stato installato correttamente, dovresti essere in grado di verificarne la versione.

java -version

Vedrai il seguente 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)

Prima di poter procedere oltre, dovremo impostare le variabili di ambiente JAVA_HOMEe JRE_HOME. Trova il percorso assoluto dell'eseguibile JAVA nel tuo sistema.

readlink -f $(which java)

Vedrai un risultato simile.

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

Ora, imposta le variabili di ambiente JAVA_HOMEe in JRE_HOMEbase al percorso della directory 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

Esegui il bash_profilefile.

source ~/.bash_profile

Ora puoi eseguire il echo $JAVA_HOMEcomando per verificare se la variabile di ambiente è impostata.

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

Installa Zeppelin

Apache Zeppelin fornisce tutte le dipendenze insieme ai file binari, quindi non è necessario installare nient'altro che Java. Scarica il binario Zeppelin sul tuo sistema. Puoi sempre trovare l'ultima versione dell'applicazione nella pagina di download di Zeppelin .

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

Estrai l'archivio.

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

Il comando sopra estrarrà l'archivio in /opt/zeppelin-0.7.3-bin-all. Rinominare la directory per comodità.

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

Apache Zeppelin è ora installato. Puoi avviare immediatamente l'applicazione, ma non sarà accessibile a te, in quanto è in ascolto localhost. Configureremo Apache Zeppelin come servizio. Configureremo anche il web server Nginx come proxy inverso.

Configurare il servizio Systemd

In questo passaggio, imposteremo un file di unità Systemd per l'applicazione Zeppelin. Ciò assicurerà che il processo dell'applicazione venga avviato automaticamente al riavvio del sistema e agli errori.

Per motivi di sicurezza, creare un utente senza privilegi per eseguire il processo Zeppelin.

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

Fornire la proprietà dei file all'utente Zeppelin appena creato.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Creare un nuovo file di unità di servizio Systemd.

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

Popolare il file con il seguente.

[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

Avvia l'applicazione.

sudo systemctl start zeppelin

Abilita il servizio Zeppelin per l'avvio automatico all'avvio.

sudo systemctl enable zeppelin

Per verificare se il servizio è in esecuzione, è possibile eseguire quanto segue.

sudo systemctl status zeppelin

Configurare il proxy inverso

Per impostazione predefinita, il server Zeppelin è in ascolto localhostsulla porta 8080. In questo tutorial, useremo Nginx come proxy inverso in modo che sia possibile accedere all'applicazione tramite standard HTTPe HTTPSporte. Configureremo anche Nginx per l'utilizzo di SSL generato con Let's Encrypt SSL gratuita CA.

Installa Nginx.

sudo yum -y install nginx

Avvia Nginx e abilita l'avvio automatico all'avvio.

sudo systemctl start nginx
sudo systemctl enable nginx

Installa Certbot, che è l'applicazione client per Let's Encrypt CA.

sudo yum -y install certbot

Prima di poter richiedere i certificati, è necessario consentire la porta 80e / 443o standard HTTPe HTTPSservizi attraverso il firewall.

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

Nota : per ottenere certificati da Let's Encrypt CA, il dominio per il quale devono essere generati i certificati deve essere puntato verso il server. In caso contrario, apportare le modifiche necessarie ai record DNS del dominio e attendere la propagazione del DNS prima di effettuare nuovamente la richiesta di certificato. Certbot controlla l'autorità di dominio prima di fornire i certificati.

Genera i certificati SSL.

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

È probabile che i certificati generati siano archiviati in /etc/letsencrypt/live/zeppelin.example.com/. Il certificato SSL verrà archiviato come fullchain.peme la chiave privata verrà archiviata come privkey.pem.

Let's Encrypt certificati scadranno tra 90 giorni, quindi si consiglia di impostare il rinnovo automatico dei certificati utilizzando i processi Cron.

Apri il file di lavoro cron.

sudo crontab -e

Aggiungi la seguente riga alla fine del file.

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

Il precedente cron job verrà eseguito ogni giorno alle 5:30. Se il certificato è in scadenza, lo rinnoverà automaticamente.

Creare un nuovo file di blocco del server per il sito Zeppelin.

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

Popolare il file.

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

Riavvia Nginx per rendere effettive le modifiche.

sudo systemctl restart nginx zeppelin

Zeppelin è ora accessibile al seguente indirizzo.

https://zeppelin.example.com

Per impostazione predefinita, non è abilitata l'autenticazione, quindi è possibile utilizzare direttamente l'applicazione.

Poiché l'applicazione è accessibile a tutti, anche i blocchi appunti creati sono accessibili a tutti. È molto importante disabilitare l'accesso anonimo e abilitare l'autenticazione in modo che solo gli utenti autenticati possano accedere all'applicazione.

Disabilita l'accesso anonimo

Per disabilitare l'accesso anonimo predefinito, copiare il modello del file di configurazione nella sua posizione live.

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

Modifica il file di configurazione.

sudo nano conf/zeppelin-site.xml

Trova le seguenti righe nel file.

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

Modificare il valore in falseper disabilitare l'accesso anonimo.

Abilita autenticazione Shiro

Ora che abbiamo disabilitato l'accesso anonimo, dobbiamo abilitare un qualche tipo di meccanismo di autenticazione in modo che gli utenti privilegiati possano accedere. Apache Zeppelin utilizza l'autenticazione Apache Shiro. Copia il file di configurazione di Shiro.

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

Modifica il file di configurazione.

sudo nano conf/shiro.ini

Trova le seguenti righe nel file.

[users]

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

L'elenco contiene nome utente, password e ruoli degli utenti. Per ora, useremo solo admine user1. Cambiare la password di admine user1e disabilitare gli altri utenti da loro commentando. È inoltre possibile modificare il nome utente e i ruoli degli utenti. Per ulteriori informazioni sugli utenti e i ruoli di Apache Shiro, leggi la guida all'autorizzazione di Shiro .

Dopo aver modificato le password, il blocco di codice dovrebbe apparire così.

[users]

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

Ora riavvia Zeppelin per applicare le modifiche.

sudo systemctl restart zeppelin

Dovresti vedere che l'autenticazione è stata abilitata e sarai in grado di accedere usando il nome utente e la password impostati nel file di configurazione di Shiro.



Leave a Comment

Facebook: Come Chiedere Raccomandazioni

Facebook: Come Chiedere Raccomandazioni

Se desideri semplicemente chiedere consiglio ai tuoi amici per un

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come installare osTicket su FreeBSD 12

Come installare osTicket su FreeBSD 12

Usi un sistema diverso? osTicket è un sistema di ticket di supporto clienti open source. Il codice sorgente di osTicket è ospitato pubblicamente su Github. In questo tutorial

Come installare osTicket su Fedora 30

Come installare osTicket su Fedora 30

Usi un sistema diverso? osTicket è un sistema di ticket di supporto clienti open source. Il codice sorgente di osTicket è ospitato pubblicamente su Github. In questo tutorial

Come installare Matomo Analytics su Debian 9

Come installare Matomo Analytics su Debian 9

Usi un sistema diverso? Matomo (precedentemente Piwik) è una piattaforma di analisi open source, unalternativa aperta a Google Analytics. La fonte Matomo è ospitata o

Come installare Osclass su FreeBSD 12

Come installare Osclass su FreeBSD 12

Usi un sistema diverso? Osclass è un progetto open source che ti consente di creare facilmente un sito classificato senza alcuna conoscenza tecnica. È sourc

Come installare Sentrifugo HRM su CentOS 7

Come installare Sentrifugo HRM su CentOS 7

Usi un sistema diverso? Sentrifugo HRM è unapplicazione di gestione delle risorse umane gratuita e open source. È ricco di funzionalità e facilmente configurabile

Come installare Matomo Analytics su Ubuntu 16.04

Come installare Matomo Analytics su Ubuntu 16.04

Usi un sistema diverso? Matomo (precedentemente Piwik) è una piattaforma di analisi open source, unalternativa aperta a Google Analytics. La fonte Matomo è ospitata o

Come installare X-Cart 5 su Ubuntu 18.04 LTS

Come installare X-Cart 5 su Ubuntu 18.04 LTS

Usi un sistema diverso? X-Cart è una piattaforma di eCommerce open source estremamente flessibile con tonnellate di funzionalità e integrazioni. Il codice sorgente di X-Cart è hoste

Installazione di Microweber su Ubuntu 16.04

Installazione di Microweber su Ubuntu 16.04

Usi un sistema diverso? Microweber è un drag and drop open source CMS e negozio online. Il codice sorgente di Microweber è ospitato su GitHub. Questa guida ti mostrerà

Come installare OpenMeetings su Ubuntu 16.04

Come installare OpenMeetings su Ubuntu 16.04

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come installare lapplicazione Newsletter Mailtrain su Ubuntu 16.04

Come installare lapplicazione Newsletter Mailtrain su Ubuntu 16.04

Usi un sistema diverso? Mailtrain è unapp di newsletter self-hosted open source costruita su Node.js e MySQL / MariaDB. La fonte Mailtrains è su GitHub. Thi

Come installare lapplicazione newsletter Mailtrain su CentOS 7

Come installare lapplicazione newsletter Mailtrain su CentOS 7

Usi un sistema diverso? Mailtrain è unapp di newsletter self-hosted open source costruita su Node.js e MySQL / MariaDB. La fonte Mailtrains è su GitHub. Thi

Come installare Alfresco Community Edition su Ubuntu 16.04

Come installare Alfresco Community Edition su Ubuntu 16.04

Usi un sistema diverso? Alfresco Community Edition è una versione open source di Alfresco Content Services. È scritto in Java e utilizza PostgreSQL t

Come installare lapplicazione Newsletter Mailtrain su Debian 9

Come installare lapplicazione Newsletter Mailtrain su Debian 9

Usi un sistema diverso? Mailtrain è unapp di newsletter self-hosted open source costruita su Node.js e MySQL / MariaDB. La fonte Mailtrains è su GitHub. Thi

Come installare osTicket su Ubuntu 18.04 LTS

Come installare osTicket su Ubuntu 18.04 LTS

Usi un sistema diverso? osTicket è un sistema di ticket di supporto clienti open source. Il codice sorgente di osTicket è ospitato pubblicamente su Github. In questo tutorial

Installare Akaunting su FreeBSD 12

Installare Akaunting su FreeBSD 12

Usi un sistema diverso? Introduzione Akaunting è un software di contabilità online gratuito e open source progettato per piccole imprese e liberi professionisti. Io

Installazione di Akaunting su Ubuntu 16.04

Installazione di Akaunting su Ubuntu 16.04

Usi un sistema diverso? Akaunting è un software di contabilità online gratuito e open source progettato per piccole imprese e liberi professionisti. È costruito con spirito

Come installare InvoicePlane su FreeBSD 12

Come installare InvoicePlane su FreeBSD 12

Usi un sistema diverso? InvoicePlane è unapplicazione di fatturazione gratuita e open source. Il suo codice sorgente può essere trovato su questo repository Github. Questo guid

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.