Presto基於MPP架構的部署及使用技術詳解-OLAP商業環境實戰
1 安裝配置
安裝presto後,需另建一個資料夾用於儲存日誌、本地元資料等的資料目錄。
- config.properties :Presto 服務配置。
- node.properties :環境變數配置,每個節點特定配置。
- jvm.config :Java虛擬機器的命令列選項。
- log.properties: 允許你根據不同的日誌結構設定不同的日誌級別。
- catalog目錄 :每個連線者配置(data sources)
2 Master(coordinator)節點配置
-
config.properties :
coordinator=true node-scheduler.include-coordinator=false http-server.http.port=9001 task.max-memory=1GB discovery-server.enabled=true discovery.uri=http://10.44.219.80:9001
coordinator:指定是否運維Presto例項作為一個coordinator(接收來自客戶端的查詢情切管理每個查詢的執行過程) node-scheduler.include-coordinator:是否允許在coordinator服務中進行排程工作 服務發現(心跳)和HTTP服務均使用同一埠
-
node.properties
node.environment=test node.id=test-Master node.data-dir=/usr/local/soft/install2/presto/data
node.environment: 叢集名稱, 所有在同一個叢集中的Presto節點必須擁有相同的叢集名稱
-
jvm.config
-server -Xmx16G -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent -XX:+CMSClassUnloadingEnabled -XX:+AggressiveOpts -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=kill -9 %p -XX:ReservedCodeCacheSize=150M -DHADOOP_USER_NAME=admin
啟動Java虛擬機器所需要的命令列引數,注意叢集中所有節點的jvm配置須一致
- log.properties
設定logger的最小日誌級別。 com.facebook.presto=INFO 該設定表示對於使用logger類的com.facebook.presto.server和com.facebook.presto.hive來說,兩者的最小日誌級別都是INFO級別。
- catalog目錄
在該目錄下新建一個檔案hive.properties ,內容如下:
connector.name=hive-hadoop2
hive.metastore.uri=thrift://10.44.219.80:9083
hive.allow-drop-table=true
hive.allow-rename-table=true
hive.config.resources=/usr/local/soft/install/hadoop-2.7.6/etc/hadoop/core-site.xml,/usr/local/soft/install/hadoop-2.7.6/etc/hadoop/hdfs-site.xml
hive.metastore-cache-ttl=0s
hive.metastore-refresh-interval=1s
hive-hadoop2 為支援hadoop 2.x版本的聯結器,連線hive元資料庫的uri,埠預設是9083,並且允許刪除和改名錶,還必須在hive.config.resources新增hadoop的配置檔案位置。 注意執行presto前,要以後臺的形式開啟hive的metastore服務,輸入以下指令:
hive - -service metastore &
3.Worker節點配置
任意Worker節點只需修改config.properties 和node.properties,其餘與主節點相同。
-
config.properties :
coordinator=false http-server.http.port=9001 task.max-memory=1GB discovery.uri=http://10.44.219.80:9001 coordinator設定為false
-
node.properties
node.environment=test node.id=test-Worker-1 node.data-dir=/usr/local/soft/install2/presto/data
node.id設定為worker的標誌,其餘不變
4 PRESTO啟動
hive --service metastore --presto啟動需要
$PRESTO_HOME/bin/launcher restart
$PRESTO_HOME/presto --server localhost:9001 --catalog hive --schema default
5 總結
秦凱新 於深圳