Apache Presto - Hướng dẫn cài đặt
Bài đăng này đã không được cập nhật trong 3 năm
Bài viết này mình sẽ hướng dẫn các bạn cách cài đặt Apache Presto, trước tiên, để làm theo hướng dẫn này thì yêu cầu cơ bản như sau:
- Linux hoặc Mac OS
- Java >=8, nếu bạn k biết mình đã cài java hay chưa hay có đúng phiên bản hay k, mình cũng sẽ hướng dẫn cách kiểm tra luôn
1. Xác định phiên bản Java trên máy
Để kiểm tra bạn đã cài đặt phiên bản Java 8 trở lên hay không, hãy sử dụng lệnh command sau:
$ java -version
Nếu Java đã được cài đặt thành công trên máy của bạn, bạn có thể thấy phiên bản Java đã cài đặt. Nếu Java chưa được cài đặt, hãy làm theo các bước tiếp theo để cài đặt Java 8 trên máy của bạn. Download JDK, download JDK 8 bằng cách truy cập liên kết sau: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Bạn hãy tải xuống file có đuôi tar.gz phù hợp với hệ điều hành của máy bạn nhé, ví dụ ở đây máy mình là linux x64, mình sẽ tải file có tên jdk-8u271-linux-x64.tar.gz
Sau khi tải, extract file và chuyển vào thư mục riêng. Set Java alternatives và hoàn thành cài đặt.
update-alternatives --config java
Cụ thể hơn, bạn có thể đọc bài viết sau đây https://thishosting.rocks/install-java-ubuntu/
2. Cài đặt Apache Presto
Download phiên bản mới nhất của Presto bằng cách vào link https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.149/
-> presto-server-0.149.tar.gz
Extract file tar
Extract file sử dụng lệnh
$ tar -zxf presto-server-0.149.tar.gz
$ cd presto-server-0.149
3. Thiết lập cấu hình
Tạo thư mục "data"
Tạo một thư mục dữ liệu bên ngoài thư mục cài đặt, thư mục này sẽ được sử dụng để lưu trữ log, metadata, v.v., để dễ dàng bảo quản khi nâng cấp Presto.
$ cd
$ mkdir data
Để xem đường dẫn của nó, hãy sử dụng lệnh "pwd". Vị trí này sẽ được chỉ định trong tệp node.properties tiếp theo.
Tạo thư mục "etc"
$ cd presto-server-0.149
$ mkdir etc
Thư mục này sẽ chứa các tệp cấu hình. Hãy tạo từng tệp một.
Node Properties
File Presto node properties chứa cấu hình môi trường cụ thể cho từng node. Nó được tạo trong thư mục etc (etc/node.properties) bằng lệnh sau
$ cd etc
$ vi node.properties
node.environment = production
node.id = ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir = /Users/../workspace/Presto
Sau khi thực hiện tất cả các thay đổi, hãy lưu tệp và thoát khỏi terminal. Ở đây node.data là đường dẫn vị trí của thư mục dữ liệu đã tạo ở trên. node.id đại diện cho định danh duy nhất cho mỗi nút.
JVM Config
Tạo một file "jvm.config" trong thư mục etc (etc/jvm.config). Tệp này chứa danh sách các tùy chọn dòng lệnh được sử dụng để khởi chạy 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
Sau khi tạo tất cả các thay đổi, lưu file, quit terminal.
Cấu hình Properties
Tạo một tệp "config.properties" bên trong thư mục etc (etc / config.properties). Tệp này chứa cấu hình của máy chủ Presto. Nếu bạn đang thiết lập một máy duy nhất để thử nghiệm, máy chủ Presto chỉ có thể hoạt động như một tiến trình điều phối như được xác định bằng cách sử dụng command line sau
$ 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
Trong đó,
-
coordinator − node chính.
-
node-scheduler.include-coordinator − Cho phép lên lịch làm việc trên bộ điều phối (coordinator).
-
http-server.http.port − Chỉ định cổng cho máy chủ HTTP.
-
query.max-memory=5GB − Số lượng bộ nhớ được phân phối tối đa.
-
query.max-memory-per-node=1GB − Số lượng bộ nhớ tối đa trên mỗi node.
-
discovery-server.enabled − Presto sử dụng dịch vụ Discovery để tìm tất cả các nút trong cụm.
-
discovery.uri − URI cho Discovery server.
Nếu bạn đang thiết lập máy chủ Presto nhiều máy, Presto sẽ hoạt động như cả quá trình điều phối và worker. Sử dụng cài đặt cấu hình này để kiểm tra máy chủ Presto trên nhiều máy.
Cấu hình cho bộ điều phối
$ 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
Cấu hình cho worker
$ 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
Log Properties
Tạo một tệp "log.properties" bên trong thư mục etc (etc / log.properties). Tệp này chứa level log nhỏ nhất cho cấu trúc phân cấp trình ghi log được đặt tên. Sử dụng command sau:
$ cd etc
$ vi log.properties
com.facebook.presto = INFO
Lưu file và quit terminal. Ở đây, bốn cấp độ log được sử dụng như DEBUG, INFO, WARN và ERROR. Mức log mặc định là INFO.
Catalog Properties
Tạo một thư mục "catalog" bên trong thư mục vv (etc/catalog). Điều này sẽ được sử dụng để gắn dữ liệu. Ví dụ: tạo etc/catalog/jmx.properties với nội dung sau để gắn kết nối jmx làm danh mục jmx -
$ cd etc
$ mkdir catalog
$ cd catalog
$ vi jmx.properties
connector.name = jmx
4. Khởi động Presto
Presto có thể được bắt đầu bằng lệnh sau,
$ bin/launcher start
Sau đó, bạn sẽ thấy phản hồi tương tự như thế này,
Started as 840
5. Chạy Presto
Để khởi chạy máy chủ Presto, hãy sử dụng lệnh sau
$ bin/launcher run
Sau khi khởi chạy thành công máy chủ Presto, bạn có thể tìm thấy các tệp log trong thư mục “var/log”.
-
launcher.log − Log này được tạo bởi trình khởi chạy và được kết nối với các luồng stdout và stderr của máy chủ.
-
server.log − Đây là file log chính được Presto sử dụng.
-
http-request.log − HTTP request do máy chủ nhận được.
Như vậy, bạn đã cài đặt thành công cài đặt cấu hình Presto trên máy của mình. Hãy tiếp tục các bước cài đặt Presto CLI.
6. Cài đặt Presto CLI
Presto CLI cung cấp một trình tương tác dựa trên terminal để chạy các truy vấn. Tải xuống Presto CLI bằng cách truy cập liên kết sau,
https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.149/
Bây giờ “presto-cli-0.149-thi hành.jar” sẽ được cài đặt trên máy của bạn.
Run Presto CLI
Sau khi tải xuống presto-cli, hãy sao chép nó vào vị trí mà bạn muốn chạy nó. Vị trí này có thể là bất kỳ node nào có quyền truy cập mạng vào bộ điều phối. Đầu tiên, đổi tên của tệp Jar thành Presto. Sau đó, làm cho nó thực thi được bằng lệnh chmod + x bằng đoạn mã sau:
$ mv presto-cli-0.149-executable.jar presto
$ chmod +x presto
Bây giờ hãy thực thi CLI bằng lệnh sau,
./presto --server localhost:8080 --catalog jmx --schema default
Here jmx(Java Management Extension) refers to catalog and default referes to schema.
Bạn sẽ thấy phản hồi sau,
presto:default>
Bây giờ gõ lệnh “jps” trên terminal và bạn sẽ thấy các trình duyệt đang chạy.
7. Stop Presto
Sau khi thực hiện tất cả các lần thực thi, bạn có thể dừng máy chủ presto bằng lệnh sau:
$ bin/launcher stop
All rights reserved