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