Apache Presto - การติดตั้ง
บทนี้จะอธิบายวิธีการติดตั้ง Presto บนเครื่องของคุณ มาดูข้อกำหนดพื้นฐานของ Presto กัน
- Linux หรือ Mac OS
- Java เวอร์ชัน 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
การตั้งค่าการกำหนดค่า
สร้างไดเร็กทอรี "data"
สร้างไดเร็กทอรีข้อมูลภายนอกไดเร็กทอรีการติดตั้งซึ่งจะใช้สำหรับการจัดเก็บบันทึกข้อมูลเมตา ฯลฯ เพื่อให้สามารถเก็บรักษาไว้ได้อย่างง่ายดายเมื่ออัปเกรด Presto กำหนดโดยใช้รหัสต่อไปนี้ -
$ cd
$ mkdir data
หากต้องการดูเส้นทางที่อยู่ให้ใช้คำสั่ง“ pwd” ตำแหน่งนี้จะถูกกำหนดในไฟล์ node.properties ถัดไป
สร้างไดเร็กทอรี“ etc”
สร้างไดเร็กทอรี etc ภายในไดเร็กทอรีการติดตั้ง Presto โดยใช้รหัสต่อไปนี้ -
$ 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
สร้างไฟล์“ jvm.config” ภายในไดเร็กทอรี etc (etc / 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
หลังจากทำการเปลี่ยนแปลงทั้งหมดแล้วให้บันทึกไฟล์และออกจากเทอร์มินัล
คุณสมบัติการกำหนดค่า
สร้างไฟล์“ config.properties” ภายในไดเร็กทอรี etc (etc / 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 - เขา URI ไปยังเซิร์ฟเวอร์ Discovery
หากคุณกำลังตั้งค่าเซิร์ฟเวอร์ 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
คุณสมบัติบันทึก
สร้างไฟล์“ log.properties” ภายในไดเร็กทอรี etc (etc / log.properties) ไฟล์นี้มีระดับการบันทึกขั้นต่ำสำหรับลำดับชั้นของคนตัดไม้ที่มีชื่อ กำหนดโดยใช้รหัสต่อไปนี้ -
$ cd etc
$ vi log.properties
com.facebook.presto = INFO
บันทึกไฟล์และออกจากเทอร์มินัล ในที่นี้จะใช้ระดับการบันทึกสี่ระดับเช่น DEBUG, INFO, WARN และ ERROR ระดับการบันทึกเริ่มต้นคือ INFO
คุณสมบัติแค็ตตาล็อก
สร้างไดเร็กทอรี "catalogue" ภายในไดเร็กทอรี etc (etc / 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” บนเทอร์มินัลของคุณแล้วคุณจะเห็น daemons ที่กำลังทำงานอยู่
หยุด Presto
หลังจากดำเนินการทั้งหมดแล้วคุณสามารถหยุดเซิร์ฟเวอร์ presto ได้โดยใช้คำสั่งต่อไปนี้ -
$ bin/launcher stop