Apache Presto - Instalación

Este capítulo explicará cómo instalar Presto en su máquina. Repasemos los requisitos básicos de Presto,

  • Linux o Mac OS
  • Java versión 8

Ahora, continuemos con los siguientes pasos para instalar Presto en su máquina.

Verificación de la instalación de Java

Con suerte, ya ha instalado la versión 8 de Java en su máquina en este momento, por lo que simplemente verifíquelo con el siguiente comando.

$ java -version

Si Java se instaló correctamente en su máquina, podría ver la versión de Java instalada. Si Java no está instalado, siga los pasos siguientes para instalar Java 8 en su máquina.

Descarga JDK. Descargue la última versión de JDK visitando el siguiente enlace.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

La última versión es JDK 8u 92 y el archivo es “jdk-8u92-linux-x64.tar.gz”. Descargue el archivo en su máquina.

Después de eso, extraiga los archivos y muévase al directorio específico.

Luego establezca alternativas de Java. Finalmente, Java se instalará en su máquina.

Instalación de Apache Presto

Descargue la última versión de Presto visitando el siguiente enlace,

https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.149/

Ahora, la última versión de “presto-server-0.149.tar.gz” se descargará en su máquina.

Extraer archivos tar

Extrae el tar archivo usando el siguiente comando -

$ tar  -zxf  presto-server-0.149.tar.gz 
$ cd presto-server-0.149

Ajustes de configuración

Crear directorio de "datos"

Cree un directorio de datos fuera del directorio de instalación, que se utilizará para almacenar registros, metadatos, etc., de modo que se pueda conservar fácilmente al actualizar Presto. Se define mediante el siguiente código:

$ cd  
$ mkdir data

Para ver la ruta donde se encuentra, use el comando "pwd". Esta ubicación se asignará en el siguiente archivo node.properties.

Crear directorio "etc"

Cree un directorio etc dentro del directorio de instalación de Presto usando el siguiente código:

$ cd presto-server-0.149 
$ mkdir etc

Este directorio contendrá archivos de configuración. Creemos cada archivo uno por uno.

Propiedades del nodo

El archivo de propiedades del nodo de Presto contiene la configuración ambiental específica para cada nodo. Se crea dentro del directorio etc (etc / node.properties) usando el siguiente código:

$ cd etc 
$ vi node.properties  

node.environment = production 
node.id = ffffffff-ffff-ffff-ffff-ffffffffffff 
node.data-dir = /Users/../workspace/Presto

Después de realizar todos los cambios, guarde el archivo y salga del terminal. aquínode.data es la ruta de ubicación del directorio de datos creado anteriormente. node.id representa el identificador único para cada nodo.

Configuración de JVM

Cree un archivo "jvm.config" dentro del directorio etc (etc / jvm.config). Este archivo contiene una lista de opciones de la línea de comandos que se utilizan para iniciar la máquina virtual Java.

$ cd etc 
$ vi jvm.config  

-server 
-Xmx16G 
-XX:+UseG1GC 
-XX:G1HeapRegionSize = 32M 
-XX:+UseGCOverheadLimit 
-XX:+ExplicitGCInvokesConcurrent 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:OnOutOfMemoryError = kill -9 %p

Después de realizar todos los cambios, guarde el archivo y salga del terminal.

Propiedades de configuración

Cree un archivo "config.properties" dentro del directorio etc (etc / config.properties). Este archivo contiene la configuración del servidor Presto. Si está configurando una sola máquina para la prueba, el servidor de Presto solo puede funcionar como el proceso de coordinación como se define usando el siguiente código:

$ cd etc 
$ vi config.properties  

coordinator = true 
node-scheduler.include-coordinator = true 
http-server.http.port = 8080 
query.max-memory = 5GB 
query.max-memory-per-node = 1GB 
discovery-server.enabled = true 
discovery.uri = http://localhost:8080

Aquí,

  • coordinator - nodo maestro.

  • node-scheduler.include-coordinator - Permite programar trabajos sobre el coordinador.

  • http-server.http.port : Especifica el puerto para el servidor HTTP.

  • query.max-memory=5GB - La cantidad máxima de memoria distribuida.

  • query.max-memory-per-node=1GB - La cantidad máxima de memoria por nodo.

  • discovery-server.enabled - Presto utiliza el servicio Discovery para encontrar todos los nodos del clúster.

  • discovery.uri - el URI al servidor Discovery.

Si está configurando un servidor Presto de varias máquinas, Presto funcionará como proceso de coordinación y de trabajo. Utilice esta opción de configuración para probar el servidor Presto en varias máquinas.

Configuración para coordinador

$ cd etc 
$ vi config.properties  

coordinator = true 
node-scheduler.include-coordinator = false 
http-server.http.port = 8080 
query.max-memory = 50GB 
query.max-memory-per-node = 1GB 
discovery-server.enabled = true 
discovery.uri = http://localhost:8080

Configuración para trabajador

$ cd etc 
$ vi config.properties  

coordinator = false 
http-server.http.port = 8080 
query.max-memory = 50GB 
query.max-memory-per-node = 1GB 
discovery.uri = http://localhost:8080

Propiedades de registro

Cree un archivo "log.properties" dentro del directorio etc (etc / log.properties). Este archivo contiene el nivel de registro mínimo para las jerarquías de registradores con nombre. Se define mediante el siguiente código:

$ cd etc 
$ vi log.properties  
com.facebook.presto = INFO

Guarde el archivo y salga del terminal. Aquí, se utilizan cuatro niveles de registro, como DEBUG, INFO, WARN y ERROR. El nivel de registro predeterminado es INFO.

Propiedades del catálogo

Cree un directorio "catálogo" dentro del directorio etc (etc / catalog). Esto se utilizará para montar datos. Por ejemplo, creaetc/catalog/jmx.properties con el siguiente contenido para montar el jmx connector como el catálogo jmx -

$ cd etc 
$ mkdir catalog 
$ cd catalog 
$ vi jmx.properties  
connector.name = jmx

Iniciar Presto

Presto se puede iniciar usando el siguiente comando,

$ bin/launcher start

Entonces verá una respuesta similar a esta,

Started as 840

Ejecutar Presto

Para iniciar el servidor Presto, use el siguiente comando:

$ bin/launcher run

Después de iniciar con éxito el servidor de Presto, puede encontrar archivos de registro en el directorio "var / log".

  • launcher.log - Este registro es creado por el lanzador y está conectado a las secuencias stdout y stderr del servidor.

  • server.log - Este es el archivo de registro principal utilizado por Presto.

  • http-request.log - Solicitud HTTP recibida por el servidor.

A partir de ahora, ha instalado correctamente los ajustes de configuración de Presto en su máquina. Continuemos con los pasos para instalar Presto CLI.

Instalar Presto CLI

La CLI de Presto proporciona un shell interactivo basado en terminal para ejecutar consultas.

Descargue la CLI de Presto visitando el siguiente enlace,

https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.149/

Ahora "presto-cli-0.149-ejecutable.jar" se instalará en su máquina.

Ejecutar CLI

Después de descargar el presto-cli, cópielo en la ubicación desde donde desea ejecutarlo. Esta ubicación puede ser cualquier nodo que tenga acceso de red al coordinador. Primero cambie el nombre del archivo Jar a Presto. Luego hazlo ejecutable conchmod + x comando usando el siguiente código -

$ mv presto-cli-0.149-executable.jar presto  
$ chmod +x presto

Ahora ejecute CLI usando el siguiente comando,

./presto --server localhost:8080 --catalog jmx --schema default  
Here jmx(Java Management Extension) refers to catalog and default referes to schema.

Verá la siguiente respuesta,

presto:default>

Ahora escriba el comando "jps" en su terminal y verá los demonios en ejecución.

Detener Presto

Después de haber realizado todas las ejecuciones, puede detener el servidor presto usando el siguiente comando:

$ bin/launcher stop