Apache Presto - Instalação

Este capítulo irá explicar como instalar o Presto em sua máquina. Vamos examinar os requisitos básicos do Presto,

  • Linux ou Mac OS
  • Java versão 8

Agora, vamos continuar as etapas a seguir para instalar o Presto em sua máquina.

Verificando a instalação do Java

Felizmente, você já instalou o Java versão 8 em sua máquina agora, então apenas verifique-o usando o seguinte comando.

$ java -version

Se o Java for instalado com sucesso em sua máquina, você poderá ver a versão do Java instalado. Se o Java não estiver instalado, siga as etapas subsequentes para instalar o Java 8 em sua máquina.

Baixe o JDK. Baixe a versão mais recente do JDK visitando o link a seguir.

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

A versão mais recente é JDK 8u 92 e o arquivo é “jdk-8u92-linux-x64.tar.gz”. Faça download do arquivo em sua máquina.

Depois disso, extraia os arquivos e vá para o diretório específico.

Em seguida, defina alternativas Java. Finalmente, o Java será instalado em sua máquina.

Instalação do Apache Presto

Baixe a versão mais recente do Presto visitando o seguinte link,

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

Agora, a última versão de “presto-server-0.149.tar.gz” será baixada em sua máquina.

Extrair arquivos tar

Extraia o tar arquivo usando o seguinte comando -

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

Definições de configuração

Crie um diretório de “dados”

Crie um diretório de dados fora do diretório de instalação, que será usado para armazenar logs, metadados, etc., de modo que seja facilmente preservado ao atualizar o Presto. É definido usando o seguinte código -

$ cd  
$ mkdir data

Para visualizar o caminho onde está localizado, use o comando “pwd”. Este local será designado no próximo arquivo node.properties.

Crie o diretório “etc”

Crie um diretório etc dentro do diretório de instalação do Presto usando o seguinte código -

$ cd presto-server-0.149 
$ mkdir etc

Este diretório manterá os arquivos de configuração. Vamos criar cada arquivo um por um.

Propriedades do nó

O arquivo de propriedades do nó Presto contém configuração ambiental específica para cada nó. Ele é criado dentro do diretório etc (etc / node.properties) usando o seguinte código -

$ cd etc 
$ vi node.properties  

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

Depois de fazer todas as alterações, salve o arquivo e saia do terminal. Aquinode.data é o caminho do local do diretório de dados criado acima. node.id representa o identificador exclusivo de cada nó.

Configuração JVM

Crie um arquivo “jvm.config” dentro do diretório etc (etc / jvm.config). Este arquivo contém uma lista de opções de linha de comando usadas para iniciar a Java Virtual Machine.

$ cd etc 
$ vi jvm.config  

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

Depois de fazer todas as alterações, salve o arquivo e saia do terminal.

Propriedades de configuração

Crie um arquivo “config.properties” dentro do diretório etc (etc / config.properties). Este arquivo contém a configuração do servidor Presto. Se você estiver configurando uma única máquina para teste, o servidor Presto pode funcionar apenas como o processo de coordenação, conforme definido usando o código a seguir -

$ 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

Aqui,

  • coordinator - nó mestre.

  • node-scheduler.include-coordinator - Permite agendamento de trabalho no coordenador.

  • http-server.http.port - Especifica a porta para o servidor HTTP.

  • query.max-memory=5GB - A quantidade máxima de memória distribuída.

  • query.max-memory-per-node=1GB - A quantidade máxima de memória por nó.

  • discovery-server.enabled - O Presto usa o serviço Discovery para localizar todos os nós do cluster.

  • discovery.uri - o URI para o servidor Discovery.

Se você estiver configurando um servidor Presto de várias máquinas, o Presto funcionará como um processo de coordenação e de trabalho. Use esta definição de configuração para testar o servidor Presto em várias máquinas.

Configuração para Coordenador

$ 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

Configuração para trabalhador

$ 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

Propriedades de log

Crie um arquivo “log.properties” dentro do diretório etc (etc / log.properties). Este arquivo contém nível mínimo de log para hierarquias de logger nomeadas. É definido usando o seguinte código -

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

Salve o arquivo e saia do terminal. Aqui, quatro níveis de log são usados, como DEBUG, INFO, WARN e ERROR. O nível de registro padrão é INFO.

Propriedades do Catálogo

Crie um diretório “catálogo” dentro do diretório etc (etc / catalog). Isso será usado para montar dados. Por exemplo, crieetc/catalog/jmx.properties com o seguinte conteúdo para montar o jmx connector como o catálogo jmx -

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

Iniciar Presto

O Presto pode ser iniciado usando o seguinte comando,

$ bin/launcher start

Então você verá uma resposta semelhante a esta,

Started as 840

Execute o Presto

Para iniciar o servidor Presto, use o seguinte comando -

$ bin/launcher run

Após iniciar o servidor Presto com sucesso, você pode encontrar os arquivos de log no diretório “var / log”.

  • launcher.log - Este log é criado pelo ativador e conectado aos fluxos stdout e stderr do servidor.

  • server.log - Este é o principal arquivo de log usado pelo Presto.

  • http-request.log - Solicitação HTTP recebida pelo servidor.

A partir de agora, você instalou com êxito as definições de configuração do Presto em sua máquina. Vamos continuar as etapas para instalar o Presto CLI.

Instale o Presto CLI

O Presto CLI fornece um shell interativo baseado em terminal para executar consultas.

Baixe o Presto CLI visitando o seguinte link,

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

Agora, “presto-cli-0.149-executable.jar” será instalado em sua máquina.

Executar CLI

Depois de baixar o presto-cli, copie-o para o local de onde deseja executá-lo. Este local pode ser qualquer nó que tenha acesso à rede para o coordenador. Primeiro altere o nome do arquivo Jar para Presto. Em seguida, torne-o executável comchmod + x comando usando o seguinte código -

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

Agora execute a CLI usando o seguinte comando,

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

Você verá a seguinte resposta,

presto:default>

Agora digite o comando “jps” em seu terminal e você verá os daemons em execução.

Pare Presto

Depois de ter realizado todas as execuções, você pode parar o servidor presto usando o seguinte comando -

$ bin/launcher stop