Apache Presto-설치

이 장에서는 컴퓨터에 Presto를 설치하는 방법을 설명합니다. Presto의 기본 요구 사항을 살펴 보겠습니다.

  • Linux 또는 Mac OS
  • 자바 버전 8

이제 다음 단계를 계속하여 컴퓨터에 Presto를 설치하겠습니다.

Java 설치 확인

지금 당장 시스템에 Java 버전 8을 이미 설치 했으므로 다음 명령을 사용하여 확인하십시오.

$ java -version

시스템에 Java가 성공적으로 설치되면 설치된 Java의 버전을 볼 수 있습니다. Java가 설치되지 않은 경우 다음 단계에 따라 시스템에 Java 8을 설치하십시오.

JDK를 다운로드하십시오. 다음 링크를 방문하여 최신 버전의 JDK를 다운로드하십시오.

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

최신 버전은 JDK 8u 92이고 파일은 "jdk-8u92-linux-x64.tar.gz"입니다. 컴퓨터에 파일을 다운로드하십시오.

그 후 파일을 추출하고 특정 디렉토리로 이동하십시오.

그런 다음 Java 대안을 설정하십시오. 마지막으로 Java가 컴퓨터에 설치됩니다.

Apache Presto 설치

다음 링크를 방문하여 최신 버전의 Presto를 다운로드하십시오.

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

이제 최신 버전의 "presto-server-0.149.tar.gz"가 컴퓨터에 다운로드됩니다.

tar 파일 추출

추출 tar 다음 명령을 사용하여 파일-

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

구성 설정

"데이터"디렉토리 생성

로그, 메타 데이터 등을 저장하는 데 사용될 설치 디렉터리 외부에 데이터 디렉터리를 만들어 Presto를 업그레이드 할 때 쉽게 보존 할 수 있도록합니다. 다음 코드를 사용하여 정의됩니다-

$ cd  
$ mkdir data

경로를 보려면 "pwd"명령을 사용하십시오. 이 위치는 다음 node.properties 파일에 지정됩니다.

"etc"디렉토리 생성

다음 코드를 사용하여 Presto 설치 디렉터리 내에 etc 디렉터리를 만듭니다.

$ cd presto-server-0.149 
$ mkdir etc

이 디렉토리에는 구성 파일이 보관됩니다. 각 파일을 하나씩 만들어 보겠습니다.

노드 속성

Presto 노드 속성 파일에는 각 노드에 특정한 환경 구성이 포함되어 있습니다. 다음 코드를 사용하여 etc 디렉토리 (etc / node.properties) 내에 생성됩니다.

$ cd etc 
$ vi node.properties  

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

모든 변경을 수행 한 후 파일을 저장하고 터미널을 종료합니다. 여기node.data 위에서 생성 된 데이터 디렉토리의 위치 경로입니다. node.id 각 노드의 고유 식별자를 나타냅니다.

JVM 구성

etc 디렉토리 (etc / jvm.config) 내에 "jvm.config"파일을 만듭니다. 이 파일에는 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

모든 변경을 수행 한 후 파일을 저장하고 터미널을 종료합니다.

구성 속성

etc 디렉토리 (etc / config.properties) 내에 "config.properties"파일을 만듭니다. 이 파일에는 Presto 서버의 구성이 포함되어 있습니다. 테스트를 위해 단일 머신을 설정하는 경우 Presto 서버는 다음 코드를 사용하여 정의 된 조정 프로세스로만 작동 할 수 있습니다.

$ 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

여기,

  • coordinator − 마스터 노드.

  • node-scheduler.include-coordinator − 코디네이터에 대한 작업을 예약 할 수 있습니다.

  • http-server.http.port − HTTP 서버의 포트를 지정합니다.

  • query.max-memory=5GB − 분산 메모리의 최대량.

  • query.max-memory-per-node=1GB − 노드 당 최대 메모리 양.

  • discovery-server.enabled − Presto는 Discovery 서비스를 사용하여 클러스터의 모든 노드를 찾습니다.

  • discovery.uri − Discovery 서버에 대한 URI.

여러 컴퓨터 Presto 서버를 설정하는 경우 Presto는 조정 및 작업자 프로세스로 작동합니다. 이 구성 설정을 사용하여 여러 컴퓨터에서 Presto 서버를 테스트합니다.

코디네이터 구성

$ 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

작업자 용 구성

$ 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

로그 속성

etc 디렉토리 (etc / log.properties) 내에 "log.properties"파일을 만듭니다. 이 파일에는 명명 된 로거 계층에 대한 최소 로그 수준이 포함되어 있습니다. 다음 코드를 사용하여 정의됩니다-

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

파일을 저장하고 터미널을 종료합니다. 여기에서는 DEBUG, INFO, WARN 및 ERROR와 같은 네 가지 로그 수준이 사용됩니다. 기본 로그 수준은 INFO입니다.

카탈로그 속성

etc 디렉토리 (etc / catalog) 내에 "catalog"디렉토리를 만듭니다. 데이터를 마운트하는 데 사용됩니다. 예를 들어etc/catalog/jmx.properties 다음 내용으로 jmx connector jmx 카탈로그-

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

Presto 시작

Presto는 다음 명령을 사용하여 시작할 수 있습니다.

$ bin/launcher start

그러면 다음과 유사한 응답이 표시됩니다.

Started as 840

Presto 실행

Presto 서버를 시작하려면 다음 명령을 사용하십시오.

$ bin/launcher run

Presto 서버를 성공적으로 시작한 후 "var / log"디렉토리에서 로그 파일을 찾을 수 있습니다.

  • launcher.log −이 로그는 런처에 의해 생성되며 서버의 stdout 및 stderr 스트림에 연결됩니다.

  • server.log − 이것은 Presto에서 사용하는 기본 로그 파일입니다.

  • http-request.log − 서버에서 수신 한 HTTP 요청.

이제 컴퓨터에 Presto 구성 설정을 성공적으로 설치했습니다. Presto CLI를 설치하는 단계를 계속하겠습니다.

Presto CLI 설치

Presto CLI는 쿼리 실행을위한 터미널 기반 대화 형 셸을 제공합니다.

다음 링크를 방문하여 Presto CLI를 다운로드합니다.

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

이제 "presto-cli-0.149-executable.jar"이 컴퓨터에 설치됩니다.

CLI 실행

presto-cli를 다운로드 한 후 실행할 위치에 복사합니다. 이 위치는 코디네이터에 대한 네트워크 액세스 권한이있는 모든 노드가 될 수 있습니다. 먼저 Jar 파일의 이름을 Presto로 변경합니다. 그런 다음chmod + x 다음 코드를 사용하여 명령-

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

이제 다음 명령을 사용하여 CLI를 실행하십시오.

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

다음과 같은 응답이 표시됩니다.

presto:default>

이제 터미널에 "jps"명령을 입력하면 실행중인 데몬이 표시됩니다.

Presto 중지

모든 실행을 수행 한 후 다음 명령을 사용하여 presto 서버를 중지 할 수 있습니다.

$ bin/launcher stop