自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

比Hive快十倍的大數(shù)據(jù)查詢利器,你知道嗎?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
創(chuàng)造了Hive的Facebook不負(fù)眾望,創(chuàng)造了新神器---Presto,其查詢速度平均比Hive快10倍,現(xiàn)在就來部署體驗一下吧。

目前最流行的大數(shù)據(jù)查詢引擎非hive莫屬,它是基于MR的類SQL查詢工具,會把輸入的查詢SQL解釋為MapReduce,能極大的降低使用大數(shù)據(jù)查詢的門檻, 讓一般的業(yè)務(wù)人員也可以直接對大數(shù)據(jù)進(jìn)行查詢。但因其基于MR,運行速度是一個弊端,通常運行一個查詢需等待很久才會有結(jié)果。對于此情況,創(chuàng)造了hive的facebook不負(fù)眾望,創(chuàng)造了新神器---presto,其查詢速度平均比hive快10倍,現(xiàn)在就來部署體驗一下吧。

一、 準(zhǔn)備工作

操作系統(tǒng): centos7

JAVA: JDK8(155版本及以上),我使用的是jdk1.8.0_191

presto server:presto-server-0.221.tar.gz

presto client: presto-cli-0.221-executable.jar

注:

1、本次是基于hive來進(jìn)行部署使用,因此相關(guān)節(jié)點已部署hadoop、hive。

2、presto官網(wǎng)地址為https://prestodb.github.io presto server、client及jdbc jar均可以從官網(wǎng)下載。

二、 部署階段

1、 將jdk、 presto server presto client 上傳至各服務(wù)器上

jdk包我上傳至/usr/local 目錄,并解壓、配置軟鏈接,配置環(huán)境變量,如不配置環(huán)境變量,也可在launcher里修改。

presto server及client上傳至 /opt/presto下,同時解壓server包。

2、各節(jié)點信息如下

其中包含一個Coordinator節(jié)點及8個worker節(jié)點。

ip

節(jié)點角色

節(jié)點名

192.168.11.22

Coordinator

node22

192.168.11.50

Worker

node50

192.168.11.51

Worker

node51

192.168.11.52

Worker

node52

192.168.11.53

Worker

node53

192.168.11.54

Worker

node54

192.168.11.55

Worker

node55

192.168.11.56

Worker

node56

192.168.11.57 

Worker

node57

3、創(chuàng)建presto數(shù)據(jù)及日志目錄

以下操作各節(jié)點均相同,只有配置文件處需根據(jù)各節(jié)點情況,對應(yīng)修改。

mkdir -p /data/presto

4、創(chuàng)建etc目錄

cd  /opt/presto/presto-server-0.221

mkdir etc

5、創(chuàng)建所需的配置文件

(1)創(chuàng)建并配置 config.properties

如果是Coordinator節(jié)點,建議如下配置(內(nèi)存大小根據(jù)實際情況修改)

vim   config.properties
## 添加如下內(nèi)容
coordinator=true
datasources=hive
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=80GB
query.max-memory-per-node=10GB
query.max-total-memory-per-node=10GB
discovery-server.enabled=true
discovery.uri=http://192.168.11.22:8080

如果是worker 節(jié)點:

vim config.properties ## 添加如下內(nèi)容
coordinator=false
#datasources=hive
#node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=80GB
query.max-memory-per-node=10GB
query.max-total-memory-per-node=10GB
#discovery-server.enabled=true
discovery.uri=http://192.168.11.22:8080

參數(shù)說明:

coordinator:是否運行該實例為coordinator(接受client的查詢和管理查詢執(zhí)行)。
node-scheduler.include-coordinator:coordinator是否也作為work。對于大型集群來說,在coordinator里做worker的工作會影響查詢性能。
http-server.http.port:指定HTTP端口。Presto使用HTTP來與外部和內(nèi)部進(jìn)行交流。
query.max-memory: 查詢能用到的最大總內(nèi)存
query.max-memory-per-node: 查詢能用到的最大單結(jié)點內(nèi)存
discovery-server.enabled: Presto使用Discovery服務(wù)去找到集群中的所有結(jié)點。每個Presto實例在啟動時都會在Discovery服務(wù)里注冊。這樣可以簡化部署, 不需要額外的服務(wù),Presto的coordinator內(nèi)置一個Discovery服務(wù)。也是使用HTTP端口。
discovery.uri: Discovery服務(wù)的URI。將192.168.11.22:8080替換為coordinator的host和端口。這個URI不能以斜杠結(jié)尾,這個錯誤需特別注意,不然會報404錯誤。
另外還有以下屬性:
jmx.rmiregistry.port: 指定JMX RMI的注冊。JMX client可以連接此端口
jmx.rmiserver.port: 指定JXM RMI的服務(wù)器??赏ㄟ^JMX監(jiān)聽。

(2)配置 jvm.config

vim jvm.config
# 添加如下內(nèi)容
-server
-Xmx20G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p

JVM配置文件包含啟動Java虛擬機(jī)時的命令行選項。格式是每一行是一個命令行選項。此文件數(shù)據(jù)是由shell解析,所以選項中包含空格或特殊字符會被忽略。

(3)配置log.properties

vim log.properties

# 添加如下內(nèi)容

com.facebook.presto=INFO

日志級別有四種,DEBUG, INFO, WARN and ERROR。

(4)配置node.properties

vim  node.properties
## 添加如下內(nèi)容
node.environment=presto_ocean
node.id=node22
node.data-dir=/data/presto

參數(shù)說明:

node.environment: 環(huán)境名字,Presto集群中的結(jié)點的環(huán)境名字都必須是一樣的。
node.id: 唯一標(biāo)識,每個結(jié)點的標(biāo)識都必須是為一的。就算重啟或升級Presto都必須還保持原來的標(biāo)識。
node.data-dir: 數(shù)據(jù)目錄,Presto用它來保存log和其他數(shù)據(jù)

(5)配置catalog及hive.properties

創(chuàng)建 catalog目錄,因本次使用的hive,因此在此目錄下創(chuàng)建hive.properties 并配置對應(yīng)參數(shù)

mkdir  catalog
vim hive.properties
# 添加如下內(nèi)容
connector.name=hive-hadoop2
hive.metastore.uri=thrift://192.168.11.22:9083
hive.config.resources=/opt/hadoop/hadoop-3.2.0/etc/hadoop/core-site.xml,/opt/hadoop/hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hive.allow-drop-table=true

至此 相關(guān)配置文件配置完成。

三、 啟動presto-server并連接

進(jìn)入/opt/presto/presto-server-0.221/bin,有l(wèi)auncher命令。

如果需要配置JAVA等環(huán)境變量也可以在此文件里修改。在此處修改的好處在于可以與不同版本的jdk共存 而不影響原有業(yè)務(wù)。

1、啟動presto-server

./launcher start

此時如果/data/presto/var日志生成,且無報錯信息,代表啟動正常。

2、presto-cli 連接

把下載的jar包:
presto-cli-0.221-executable.jar 重命名為:presto 并且賦予權(quán)限。

ln -s presto-cli-0.221-executable.jar   presto
chmod +x presto
./presto --server localhost:8080 --catalog hive --schema default

此時可以查看到hive里的庫及表。

3、查看web界面

登錄??http://192.168.11.22:8080/ui/可查看整體狀態(tài)。??

至此,presto部署就完成了。其與hive的性能對比、工作原理及使用建議等后續(xù)有機(jī)會再介紹。

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2022-10-27 07:09:34

DjangoAPIRedis

2024-03-08 07:58:13

QPShttpsync

2023-11-02 10:22:29

gRPC后端通信

2021-02-20 08:21:18

Hive動態(tài)分區(qū)

2025-04-24 09:31:09

Visio畫圖工具

2018-01-29 05:38:20

5G4G運營商

2025-04-07 00:49:00

WindowsmacOS微軟

2025-03-03 13:12:33

C#代碼Python

2013-03-01 14:31:06

iOSAndroidApp

2014-01-22 09:17:12

2023-06-13 13:52:00

Java 7線程池

2022-09-29 12:20:48

CSS容器查詢

2022-09-14 08:11:06

分頁模糊查詢

2022-01-08 20:03:20

數(shù)據(jù)庫特點架構(gòu)

2022-01-05 11:40:36

Go特性語言

2020-12-31 08:11:22

大數(shù)據(jù)趨勢大數(shù)據(jù)

2023-12-12 08:41:01

2017-01-18 18:28:54

大數(shù)據(jù)數(shù)據(jù)庫技術(shù)

2021-10-14 06:52:47

算法校驗碼結(jié)構(gòu)

2024-09-18 07:00:00

消息隊列中間件消息隊列
點贊
收藏

51CTO技術(shù)棧公眾號