1. 程式人生 > >Presto基於MPP架構的部署及使用技術詳解-OLAP商業環境實戰

Presto基於MPP架構的部署及使用技術詳解-OLAP商業環境實戰

1 安裝配置

安裝presto後,需另建一個資料夾用於儲存日誌、本地元資料等的資料目錄。

  1. config.properties :Presto 服務配置。
  2. node.properties :環境變數配置,每個節點特定配置。
  3. jvm.config :Java虛擬機器的命令列選項。
  4. log.properties: 允許你根據不同的日誌結構設定不同的日誌級別。
  5. 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節點必須擁有相同的叢集名稱

node.id: 每個Presto節點的唯一標示。每個節點的node.id都必須是唯一的。在Presto進行重啟或者升級過程中每個節點的node.id必須保持不變。如果在一個節點上安裝多個Presto例項(例如:在同一臺機器上安裝多個Presto節點),那麼每個Presto節點必須擁有唯一的node.id node.data-dir: 資料儲存目錄的位置(作業系統上的路徑), 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 總結

秦凱新 於深圳