En este tutorial, le mostraremos cómo instalar Apache Zeppelin en CentOS 7. Para aquellos de ustedes que no lo sabían, Apache Zeppelin es una computadora portátil de código abierto en línea y una aplicación colaborativa para Ingestión, descubrimiento, análisis y visualización de datos interactivos. Zeppelin es compatible con más de 20 idiomas, incluidos Apache Spark, SQL, R, Elasticsearch y muchos más. Apache Zeppelin le permite crear hermosos documentos basados en datos y ver los resultados de sus análisis.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso de Apache Zeppelin en el servidor CentOS 7.
Requisitos previos
- Un servidor que ejecuta uno de los siguientes sistemas operativos:CentOS 7.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Instalar Apache Zeppelin en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y update
Paso 2. Instalación de Java.
Al momento de escribir este tutorial, la última versión de Java JDK era JDK 8u45. Primero, descarguemos la última versión de Java SE Development Kit 8 desde su descarga oficial página o use los siguientes comandos para descargar desde un shell:
cd /opt/ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u45-b14/jdk-8u45-linux-x64.tar.gz" tar xzf jdk-8u45-linux-x64.tar.gz
Después de extraer el archivo comprimido, use el comando de alternativas para instalarlo. El comando de alternativas está disponible en chkconfig
el paquete:
cd /opt/jdk1.8.0_45/ alternatives --install /usr/bin/java java /opt/jdk1.8.0_45/bin/java 2 alternatives --config java There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- * 1 /opt/jdk1.7.0_71/bin/java + 2 /opt/jdk1.8.0_25/bin/java 3 /opt/jdk1.8.0_45/bin/java Enter to keep the current selection[+], or type selection number: 3
En este punto, JAVA 8 (JDK 8u45) se ha instalado correctamente en su sistema. También recomendamos configurar la ruta de los comandos java y jar usando alternativas:
alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_45/bin/jar 2 alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_45/bin/javac 2 alternatives --set jar /opt/jdk1.8.0_45/bin/jar alternatives --set javac /opt/jdk1.8.0_45/bin/javac
Comprobando la versión Java instalada:
[email protected] ~# java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Podemos configurar fácilmente las variables de entorno usando el comando de exportación como se muestra a continuación:
Configurar variable JAVA_HOME:
export JAVA_HOME=/opt/jdk1.8.0_45
Configurar JRE_HOME Variable:
export JRE_HOME=/opt/jdk1.8.0_45/jre
Variable de RUTA de configuración:
export PATH=$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin
Paso 3. Instalación de Zeppelin.
Primero, descargue el binario de Zeppelin en su sistema. Siempre puede encontrar la última versión de la aplicación en la página de descarga de Zeppelin:
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz tar xf zeppelin-*-bin-all.tgz -C /opt
Cambie el nombre del directorio por comodidad:
mv /opt/zeppelin-*-bin-all /opt/zeppelin
Paso 4. Configure el servicio Systemd para Apache Zeppelin.
Configuraremos un archivo de unidad Systemd para la aplicación Zeppelin:
adduser -d /opt/zeppelin -s /sbin/nologin zeppelin
Proporcione la propiedad de los archivos al usuario de Zeppelin recién creado:
chown -R zeppelin:zeppelin /opt/zeppelin
A continuación, cree un nuevo archivo de unidad de servicio de Systemd:
nano /etc/systemd/system/zeppelin.service
[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
Luego, inicie la aplicación:
systemctl start zeppelin systemctl enable zeppelin
Paso 5. Configure el proxy inverso Nginx.
De forma predeterminada, el servidor Zeppelin escucha localhost en el puerto 8080. En este tutorial, usaremos Nginx como proxy inverso para que se pueda acceder a la aplicación a través de puertos HTTP y HTTPS estándar:
yum install certbot yum install nginx
Inicie Nginx y habilítelo para que se inicie automáticamente en el momento del arranque:
sudo systemctl start nginx sudo systemctl enable nginx
A continuación, genere los certificados SSL:
certbot certonly --webroot -w /usr/share/nginx/html -d zeppelin.idroot.us
Es probable que los certificados generados se almacenen en /etc/letsencrypt/live/zeppelin.idroot.us/
. El certificado SSL se almacenará como fullchain.pem y la clave privada se almacenará como privkey.pem.
Configure la renovación automática de los certificados Let's Encrypt usando trabajos cron:
sudo crontab -e 30 5 * * * /usr/bin/certbot renew --quiet
Los siguientes pasos crean un nuevo archivo de bloqueo del servidor para el sitio de Zeppelin:
nano /etc/nginx/conf.d/zeppelin.idroot.us.conf
upstream zeppelin { server 127.0.0.1:8080; } server { listen 80; server_name zeppelin.idroot.us; return 301 https://$host$request_uri; } server { listen 443; server_name zeppelin.idroot.us; ssl_certificate /etc/letsencrypt/live/zeppelin.idroot.us/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/zeppelin.idroot.us/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; } }
Reinicie Nginx para que los cambios surtan efecto:
systemctl restart nginx
Paso 6. Acceso a Apache Zeppelin.
Apache Zeppelin estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y vaya a https://zeppelin.idroot.us
y complete los pasos necesarios para finalizar la instalación. Si está utilizando un firewall, abra el puerto 80 para habilitar el acceso al panel de control.
¡Felicitaciones! Ha instalado Apache Zeppelin correctamente. Gracias por usar este tutorial para instalar Apache Zeppelin en sistemas CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de Apache Zeppelin.