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