Com instal·lar Apache Zeppelin a CentOS 7

Apache Zeppelin és un quadern de codi obert basat en la web i una eina col·laborativa per a la ingestió de dades interactives, el descobriment, l'anàlisi i la visualització. Zeppelin admet més de 20 idiomes, inclosos Apache Spark, SQL, R, Elasticsearch i molts més. Apache Zeppelin us permet crear bells documents basats en dades i veure els resultats de les vostres anàlisis.

Requisits previs

  • Una instància del servidor Vultr CentOS 7.
  • Un usuari de sudo .
  • Un nom de domini apuntat cap al servidor.

Per a aquest tutorial, utilitzarem zeppelin.example.comcom a nom de domini apuntat cap a la instància Vultr. Assegureu-vos de substituir totes les ocurrències del nom de domini d'exemple per l'actual.

Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar CentOS 7 . Un cop actualitzat el sistema, procediu a instal·lar Java.

Instal·leu Java

Apache Zeppelin està escrit en Java, per tant requereix JDK per funcionar. Baixeu el paquet 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"

Instal·leu el paquet descarregat.

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

Si Java s'ha instal·lat correctament, hauríeu de poder verificar la seva versió.

java -version

Veureu la següent sortida.

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

Abans de continuar, haurem de configurar les variables d'entorn JAVA_HOMEi JRE_HOME. Trobeu la ruta absoluta de l'executable JAVA al vostre sistema.

readlink -f $(which java)

Veureu una sortida similar.

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

Ara, configureu les variables d'entorn JAVA_HOMEi JRE_HOMEsegons la ruta del directori 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

Executeu el bash_profilefitxer.

source ~/.bash_profile

Ara podeu executar l' echo $JAVA_HOMEordre per comprovar si la variable d'entorn està establerta.

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

Instal·leu Zeppelin

Apache Zeppelin envia totes les dependències juntament amb els fitxers binaris, de manera que no necessitem instal·lar res més que Java. Baixeu el binari Zeppelin al vostre sistema. Sempre podeu trobar l'última versió de l'aplicació a la pàgina de descàrrega de Zeppelin .

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

Extraieu l'arxiu.

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

L'ordre anterior extreu l'arxiu a /opt/zeppelin-0.7.3-bin-all. Canvieu el nom del directori per comoditat.

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

Apache Zeppelin ara està instal·lat. Podeu iniciar immediatament l'aplicació, però no us podreu accedir, ja que localhostnomés escolta . Configurarem Apache Zeppelin com a servei. També configurarem el servidor web Nginx com a servidor intermediari invers.

Configura el servei Systemd

En aquest pas, configurarem un fitxer d'unitat Systemd per a l'aplicació Zeppelin. Això garantirà que el procés d'aplicació s'iniciï automàticament en el reinici del sistema i els errors.

Per motius de seguretat, creeu un usuari sense privilegis per executar el procés Zeppelin.

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

Proporcioneu la propietat dels fitxers a l'usuari Zeppelin acabat de crear.

sudo chown -R zeppelin:zeppelin /opt/zeppelin

Creeu un nou fitxer d'unitat de servei Systemd.

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

Omple el fitxer amb el següent.

[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

Inicieu l'aplicació.

sudo systemctl start zeppelin

Habiliteu el servei Zeppelin perquè s'iniciï automàticament en el moment de l'arrencada.

sudo systemctl enable zeppelin

Per comprovar si el servei s'està executant, podeu executar el següent.

sudo systemctl status zeppelin

Configura el proxy invers

De manera predeterminada, el servidor Zeppelin escolta al localhostport 8080. En aquest tutorial, utilitzarem Nginx com a servidor intermediari invers perquè es pugui accedir a l'aplicació mitjançant ports estàndard HTTPi HTTPS. També configurarem Nginx perquè utilitzi SSL generat amb Let's Encrypt SSL CA gratuït.

Instal·leu Nginx.

sudo yum -y install nginx

Inicieu Nginx i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.

sudo systemctl start nginx
sudo systemctl enable nginx

Instal·leu Certbot, que és l'aplicació client de Let's Encrypt CA.

sudo yum -y install certbot

Abans de poder sol·licitar els certificats, haureu de permetre el port 80i/ 443o estàndard HTTPi HTTPSserveis a través del tallafoc.

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

Nota : per obtenir certificats de Let's Encrypt CA, el domini per al qual s'han de generar els certificats s'ha d'apuntar cap al servidor. Si no, feu els canvis necessaris als registres DNS del domini i espereu que el DNS es propagui abans de tornar a fer la sol·licitud de certificat. Certbot verifica l'autoritat del domini abans de proporcionar els certificats.

Generar els certificats SSL.

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

És probable que els certificats generats s'emmagatzemin a /etc/letsencrypt/live/zeppelin.example.com/. El certificat SSL s'emmagatzemarà com a fullchain.pemi la clau privada com a privkey.pem.

Els certificats de Let's Encrypt caduquen en 90 dies, per tant, es recomana configurar la renovació automàtica dels certificats mitjançant treballs de Cron.

Obriu el fitxer de treball cron.

sudo crontab -e

Afegiu la línia següent al final del fitxer.

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

El treball cron anterior s'executarà cada dia a les 5:30 del matí. Si el certificat ha de caducar, el renovarà automàticament.

Creeu un fitxer de bloqueig de servidor nou per al lloc Zeppelin.

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

Omple el fitxer.

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

Reinicieu Nginx perquè els canvis tinguin efecte.

sudo systemctl restart nginx zeppelin

Ara es pot accedir a Zeppelin a la següent adreça.

https://zeppelin.example.com

Per defecte, no hi ha cap autenticació habilitat, de manera que podeu utilitzar l'aplicació directament.

Com que l'aplicació és accessible per a tothom, els quaderns que creeu també ho són. És molt important desactivar l'accés anònim i habilitar l'autenticació perquè només els usuaris autenticats puguin accedir a l'aplicació.

Desactiva l'accés anònim

Per desactivar l'accés anònim predeterminat, copieu la plantilla del fitxer de configuració a la seva ubicació activa.

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

Editeu el fitxer de configuració.

sudo nano conf/zeppelin-site.xml

Busca les línies següents al fitxer.

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

Canvieu el valor a falseper desactivar l'accés anònim.

Activa l'autenticació Shiro

Ara que hem desactivat l'accés anònim, hem d'habilitar algun tipus de mecanisme d'autenticació perquè els usuaris privilegiats puguin iniciar sessió. Apache Zeppelin utilitza l'autenticació Apache Shiro. Copieu el fitxer de configuració de Shiro.

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

Editeu el fitxer de configuració.

sudo nano conf/shiro.ini

Busca les línies següents al fitxer.

[users]

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

La llista conté el nom d'usuari, la contrasenya i les funcions dels usuaris. De moment, només utilitzarem admini user1. Canviar la contrasenya d' admini user1i desactivar els altres usuaris comentant ells. També podeu canviar el nom d'usuari i els rols dels usuaris. Per obtenir més informació sobre els usuaris i els rols d'Apache Shiro, llegiu la guia d'autorització de Shiro .

Un cop hàgiu canviat les contrasenyes, el bloc de codi hauria de ser així.

[users]

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

Ara reinicieu Zeppelin per aplicar els canvis.

sudo systemctl restart zeppelin

Hauríeu de veure que l'autenticació s'ha habilitat i podreu iniciar sessió amb el nom d'usuari i la contrasenya establerts al fitxer de configuració de Shiro.


Com instal·lar OpenMeetings a CentOS 7

Com instal·lar OpenMeetings a CentOS 7

Utilitzeu un sistema diferent? Apache OpenMeetings és una aplicació de conferències web de codi obert. Està escrit en Java i admet diversos servidors de bases de dades. jo

Instal·lant Akaunting a Debian 9

Instal·lant Akaunting a Debian 9

Utilitzeu un sistema diferent? Akaunting és un programari de comptabilitat en línia gratuït, de codi obert i dissenyat per a petites empreses i autònoms. Està construït amb enginy

Com instal·lar Open Web Analytics a CentOS 7

Com instal·lar Open Web Analytics a CentOS 7

Utilitzeu un sistema diferent? Open Web Analytics (OWA) és un programa d'anàlisi web de codi obert que es pot utilitzar per fer un seguiment i analitzar com la gent utilitza el vostre lloc web

Com instal·lar Open Web Analytics a Debian 9

Com instal·lar Open Web Analytics a Debian 9

Utilitzeu un sistema diferent? Open Web Analytics (OWA) és un programa d'anàlisi web de codi obert que es pot utilitzar per fer un seguiment i analitzar com la gent utilitza el vostre lloc web

Com instal·lar Osclass a Debian 9

Com instal·lar Osclass a Debian 9

Utilitzeu un sistema diferent? Osclass és un projecte de codi obert que us permet crear fàcilment un lloc classificat sense cap coneixement tècnic. La seva font

How to Install OpenMeetings on Ubuntu 16.04

How to Install OpenMeetings on Ubuntu 16.04

Using a Different System? Apache OpenMeetings is an open source web conferencing application. It is written in Java and supports multiple database servers. I

Com instal·lar X-Cart 5 a Fedora 31

Com instal·lar X-Cart 5 a Fedora 31

Utilitzeu un sistema diferent? X-Cart és una plataforma de comerç electrònic de codi obert extremadament flexible amb un munt de funcions i integracions. El codi font de X-Cart és hoste

Instal·lant Microweber a FreeBSD 12

Instal·lant Microweber a FreeBSD 12

Utilitzeu un sistema diferent? Introducció Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia

Com instal·lar X-Cart 5 a Debian 10

Com instal·lar X-Cart 5 a Debian 10

Utilitzeu un sistema diferent? X-Cart és una plataforma de comerç electrònic de codi obert extremadament flexible amb un munt de funcions i integracions. El codi font de X-Cart és hoste

Com instal·lar Dolibarr a Debian 9

Com instal·lar Dolibarr a Debian 9

Utilitzeu un sistema diferent? Dolibarr és una planificació de recursos empresarials (ERP) i gestió de relacions amb els clients (CRM) de codi obert per a empreses. Dolibarr

Com instal·lar Zammad 2.0 a CentOS 7

Com instal·lar Zammad 2.0 a CentOS 7

Utilitzeu un sistema diferent? Zammad és un sistema d'assistència/tickets de codi obert dissenyat per als equips d'atenció al client. Amb Zammad, atenció al client

Com instal·lar X-Cart 5 a Ubuntu 18.04 LTS

Com instal·lar X-Cart 5 a Ubuntu 18.04 LTS

Utilitzeu un sistema diferent? X-Cart és una plataforma de comerç electrònic de codi obert extremadament flexible amb un munt de funcions i integracions. El codi font de X-Cart és hoste

Com instal·lar Matomo Analytics a Debian 9

Com instal·lar Matomo Analytics a Debian 9

Utilitzeu un sistema diferent? Matomo (abans Piwik) és una plataforma d'anàlisi de codi obert, una alternativa oberta a Google Analytics. La font de Matomo està allotjada o

Com instal·lar Matomo Analytics a CentOS 7

Com instal·lar Matomo Analytics a CentOS 7

Utilitzeu un sistema diferent? Matomo (abans Piwik) és una plataforma d'anàlisi de codi obert, una alternativa oberta a Google Analytics. La font de Matomo està allotjada o

Com instal·lar leina de gestió de projectes Taiga a CentOS 7

Com instal·lar leina de gestió de projectes Taiga a CentOS 7

Utilitzeu un sistema diferent? Taiga és una aplicació gratuïta i de codi obert per a la gestió de projectes. A diferència d'altres eines de gestió de projectes, Taiga utilitza un incremental

Com instal·lar Shopware CE a Debian 9

Com instal·lar Shopware CE a Debian 9

Utilitzeu un sistema diferent? Shopware és una plataforma de comerç electrònic de codi obert per a empreses en línia. El codi font de Shopwares està allotjat a Github. Aquesta guia vol

Com instal·lar X-Cart 5 a FreeBSD 12

Com instal·lar X-Cart 5 a FreeBSD 12

Utilitzeu un sistema diferent? X-Cart és una plataforma de comerç electrònic de codi obert extremadament flexible amb un munt de funcions i integracions. El codi font de X-Cart és hoste

Instal·lació dAkaunting a CentOS 7

Instal·lació dAkaunting a CentOS 7

Utilitzeu un sistema diferent? Akaunting és un programari de comptabilitat en línia gratuït, de codi obert i dissenyat per a petites empreses i autònoms. Està construït amb enginy

Com instal·lar Attendize a CentOS 7

Com instal·lar Attendize a CentOS 7

Utilitzeu un sistema diferent? Introducció Attendize és una plataforma de venda d'entrades i gestió d'esdeveniments de codi obert basada en el Laravel PHP Framework. Assisteix

Com instal·lar Sentrifugo HRM a CentOS 7

Com instal·lar Sentrifugo HRM a CentOS 7

Utilitzeu un sistema diferent? Sentrifugo HRM és una aplicació de gestió de recursos humans gratuïta i de codi obert. És un ric en funcions i fàcilment configurable

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació