比Hive快十倍的大數(shù)據(jù)查詢(xún)利器,你知道嗎?
目前最流行的大數(shù)據(jù)查詢(xún)引擎非hive莫屬,它是基于MR的類(lèi)SQL查詢(xún)工具,會(huì)把輸入的查詢(xún)SQL解釋為MapReduce,能極大的降低使用大數(shù)據(jù)查詢(xún)的門(mén)檻, 讓一般的業(yè)務(wù)人員也可以直接對(duì)大數(shù)據(jù)進(jìn)行查詢(xún)。但因其基于MR,運(yùn)行速度是一個(gè)弊端,通常運(yùn)行一個(gè)查詢(xún)需等待很久才會(huì)有結(jié)果。對(duì)于此情況,創(chuàng)造了hive的facebook不負(fù)眾望,創(chuàng)造了新神器---presto,其查詢(xún)速度平均比hive快10倍,現(xiàn)在就來(lái)部署體驗(yà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來(lái)進(jìn)行部署使用,因此相關(guān)節(jié)點(diǎn)已部署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下,同時(shí)解壓server包。
2、各節(jié)點(diǎn)信息如下
其中包含一個(gè)Coordinator節(jié)點(diǎn)及8個(gè)worker節(jié)點(diǎn)。
ip | 節(jié)點(diǎn)角色 | 節(jié)點(diǎn)名 |
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é)點(diǎn)均相同,只有配置文件處需根據(jù)各節(jié)點(diǎn)情況,對(duì)應(yīng)修改。
4、創(chuàng)建etc目錄
5、創(chuàng)建所需的配置文件
(1)創(chuàng)建并配置 config.properties
如果是Coordinator節(jié)點(diǎn),建議如下配置(內(nèi)存大小根據(jù)實(shí)際情況修改)
如果是worker 節(jié)點(diǎn):
參數(shù)說(shuō)明:
(2)配置 jvm.config
JVM配置文件包含啟動(dòng)Java虛擬機(jī)時(shí)的命令行選項(xiàng)。格式是每一行是一個(gè)命令行選項(xiàng)。此文件數(shù)據(jù)是由shell解析,所以選項(xiàng)中包含空格或特殊字符會(huì)被忽略。
(3)配置log.properties
日志級(jí)別有四種,DEBUG, INFO, WARN and ERROR。
(4)配置node.properties
參數(shù)說(shuō)明:
(5)配置catalog及hive.properties
創(chuàng)建 catalog目錄,因本次使用的hive,因此在此目錄下創(chuàng)建hive.properties 并配置對(duì)應(yīng)參數(shù)
至此 相關(guān)配置文件配置完成。
三、 啟動(dòng)presto-server并連接
進(jìn)入/opt/presto/presto-server-0.221/bin,有l(wèi)auncher命令。
如果需要配置JAVA等環(huán)境變量也可以在此文件里修改。在此處修改的好處在于可以與不同版本的jdk共存 而不影響原有業(yè)務(wù)。
1、啟動(dòng)presto-server
此時(shí)如果/data/presto/var日志生成,且無(wú)報(bào)錯(cuò)信息,代表啟動(dòng)正常。
2、presto-cli 連接
把下載的jar包:
presto-cli-0.221-executable.jar 重命名為:presto 并且賦予權(quán)限。
此時(shí)可以查看到hive里的庫(kù)及表。
3、查看web界面
登錄??http://192.168.11.22:8080/ui/可查看整體狀態(tài)。??
至此,presto部署就完成了。其與hive的性能對(duì)比、工作原理及使用建議等后續(xù)有機(jī)會(huì)再介紹。