presto-cli通過hive查詢hdfs


1.  啟動hive metastore

2. 啟動hive thrift接口

參考:http://www.cnblogs.com/kisf/p/7497261.html

3. 下載presto server

wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.186/presto-server-0.186.tar.gz

 

4. 配置

config.properties

coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=20000
query.max-memory=40GB
query.max-memory-per-node=4GB
exchange.http-client.request-timeout=20s
http-server.threads.max=400
discovery-server.enabled=true
discovery.uri=http://10.183.225.158:20000

  該配置將coordinate與worker配置再一台機器上。集群部署建議分開:

etc/config.properties包含 Presto Server 相關的配置,每一個 Presto Server 可以同時作為 coordinator 和 worker 使用。你可以將他們配置在一個節點上,但是,在一個大的集群上建議分開配置以提高性能。

coordinator 的最小配置:
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=9090
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri= http://xx1:9090

worker 的最小配置:
coordinator=false
http-server.http.port=9090
task.max-memory=1GB
discovery.uri= http://xx2:9090

可選的,作為測試,你可以在一個節點上同時配置兩者:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=9090
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://xx3:9090

 

node.properties

node.environment=xxxoipresto01
node.data-dir=/data/slot0/presto/presto-01-coordinator
node.id=presto-01-coord

  

jvm.properties

-server
-Xmx10G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:ReservedCodeCacheSize=600M
-XX:NativeMemoryTracking=summary
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=20001
-Dcom.sun.management.jmxremote.rmi.port=20001

  

log.properties

com.facebook.presto=INFO

  

etc/catalog/hive.properties

connector.name=hive-hadoop2
hive.metastore.uri=thrift://hadoop1:9083
hive.config.resources=/xxx/soft/hadoop-2.7.3/etc/hadoop/core-site.xml,/xxx/soft/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

hive.metastore.authentication.type=KERBEROS
hive.metastore.service.principal=hive/hadoop1@JENKIN.COM
hive.metastore.client.principal=presto@JENKIN.COM
hive.metastore.client.keytab=/etc/presto/presto.keytab

hive.hdfs.authentication.type=KERBEROS
hive.hdfs.impersonation.enabled=false
hive.hdfs.presto.principal=presto@JENKIN.COM
hive.hdfs.presto.keytab=/etc/presto/presto.keytab

  

 

4. 啟動presto coordinate

/usr/bin/nohup /xxx/soft/lesports-presto-server-0.176/bin/launcher run --node-config /etc/presto/01/node.properties --jvm-config /etc/presto/01/jvm.config --config /etc/presto/01/config.properties --log-levels-file /etc/presto/01/log.properties >/xxx/soft/lesports-presto-server-0.176/stdout.log 2>&1 &

  這里為了做集群隔離把配置文件放到了另外的目錄。

啟動是否成功看日志,或者http://10.183.225.158:20000/看管理界面,或者:

netstat -nlp | grep 20000

  

5. 下載presto-cli

wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.186/presto-cli-0.186-executable.jar

  

 

6. 改名為presto-cli

mv presto-cli-0.186-executable.jar presto-cli

  

7. 啟動

./presto-cli --server hadoop1:20000 --catalog hive --schema jenkindb

  10.183.225.158的hostname為hadoop1

8. 查詢

presto:jenkindb> show tables;
  Table   
----------
 jenkintb 
 test1    
(2 rows)

Query 20171020_023712_00002_a78ua, FINISHED, 1 node
Splits: 18 total, 18 done (100.00%)
0:01 [2 rows, 49B] [2 rows/s, 51B/s]

presto:jenkindb> select * from jenkintb;
 id |   name   
----+----------
  1 | jenkin   
  2 | jenkin.k 
  3 | anne     
(3 rows)

Query 20171020_023724_00003_a78ua, FINISHED, 1 node
Splits: 17 total, 17 done (100.00%)
0:00 [3 rows, 27B] [8 rows/s, 72B/s]

  

hive導入數據參考:http://www.cnblogs.com/kisf/p/7497261.html

 

問題解決:

問題:failed: No worker nodes available 

解決:presto coordinate config.properties增加 node-scheduler.include-coordinator=true

問題:org.apache.hadoop.ipc.RemoteException: User: presto@JENKIN.COM is not allowed to impersonate root

解決:hive.properties增加 hive.hdfs.impersonation.enabled=false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM