Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ソリューション検証の概要

共同作成者

このセクションでは、複数のソースからSQLテストクエリを実行して、機能を検証し、NetAppストレージへのスピルオーバーをテストおよび検証しました。

オブジェクトストレージでのSQLクエリ

  1. dremio.envで、サーバあたりのメモリを250GBに設定します。

    root@hadoopmaster:~# for i in hadoopmaster hadoopnode1 hadoopnode2 hadoopnode3 hadoopnode4; do ssh $i "hostname; grep -i  DREMIO_MAX_MEMORY_SIZE_MB /opt/dremio/conf/dremio-env; cat /proc/meminfo  | grep -i memtotal"; done
    hadoopmaster
    #DREMIO_MAX_MEMORY_SIZE_MB=120000
    DREMIO_MAX_MEMORY_SIZE_MB=250000
    MemTotal:       263515760 kB
    hadoopnode1
    #DREMIO_MAX_MEMORY_SIZE_MB=120000
    DREMIO_MAX_MEMORY_SIZE_MB=250000
    MemTotal:       263515860 kB
    hadoopnode2
    #DREMIO_MAX_MEMORY_SIZE_MB=120000
    DREMIO_MAX_MEMORY_SIZE_MB=250000
    MemTotal:       263515864 kB
    hadoopnode3
    #DREMIO_MAX_MEMORY_SIZE_MB=120000
    DREMIO_MAX_MEMORY_SIZE_MB=250000
    MemTotal:       264004556 kB
    node4
    #DREMIO_MAX_MEMORY_SIZE_MB=120000
    DREMIO_MAX_MEMORY_SIZE_MB=250000
    MemTotal:       263515484 kB
    root@hadoopmaster:~#
  2. dremio.confファイルのオーバーフローの場所(${DREMIO_HOME}"/dremiocache)とストレージの詳細を確認してください。

    paths: {
      # the local path for dremio to store data.
      local: ${DREMIO_HOME}"/dremiocache"
    
      # the distributed path Dremio data including job results, downloads, uploads, etc
      #dist: "hdfs://hadoopmaster:9000/dremiocache"
      dist: "dremioS3:///dremioconf"
    }
    
    services: {
      coordinator.enabled: true,
      coordinator.master.enabled: true,
      executor.enabled: false,
      flight.use_session_service: false
    }
    
    zookeeper: "10.63.150.130:2181,10.63.150.153:2181,10.63.150.151:2181"
    services.coordinator.master.embedded-zookeeper.enabled: false
  3. Dremioオーバーフローの場所をNetApp NFSストレージに指定する

    root@hadoopnode1:~# ls -ltrh /dremiocache
    total 4.0K
    drwx------ 3 nobody nogroup 4.0K Sep 13 16:00 spilling_stlrx2540m4-12-10g_45678
    root@hadoopnode1:~# ls -ltrh /opt/dremio/dremiocache/
    total 8.0K
    drwxr-xr-x 3 dremio dremio 4.0K Aug 22 18:19 spill_old
    drwxr-xr-x 4 dremio dremio 4.0K Aug 22 18:19 cm
    lrwxrwxrwx 1 root   root     12 Aug 22 19:03 spill -> /dremiocache
    root@hadoopnode1:~# ls -ltrh /dremiocache
    total 4.0K
    drwx------ 3 nobody nogroup 4.0K Sep 13 16:00 spilling_stlrx2540m4-12-10g_45678
    root@hadoopnode1:~# df -h /dremiocache
    Filesystem                              Size  Used Avail Use% Mounted on
    10.63.150.159:/dremiocache_hadoopnode1  2.1T  209M  2.0T   1% /dremiocache
    root@hadoopnode1:~#
  4. コンテキストを選択します。このテストでは、ONTAP S3に存在するTPCDSで生成された寄木細工ファイルに対してテストを実行しました。Dremioダッシュボード→ SQLランナー→コンテキスト→ NetAppONTAPS3 → Parquet1TB

contexをontaps3 Parquetフォルダに設定します。

  1. DremioダッシュボードからTPC-DS query67を実行します。

TPC-DSの99個のクエリの1つであるクエリ67を実行します。

  1. ジョブがすべてのExecutorで実行されていることを確認します。Dremioダッシュボード→ジョブ→<jobid>→ rawプロファイル→ external_sort →ホスト名を選択

Q67クエリ内のノードのリスト

  1. SQLクエリの実行中に、NetAppストレージコントローラでスプリットフォルダのデータキャッシュを確認できます。

    root@hadoopnode1:~# ls -ltrh /dremiocache
    total 4.0K
    drwx------ 3 nobody nogroup 4.0K Sep 13 16:00 spilling_stlrx2540m4-12-10g_45678
    root@hadoopnode1:~# ls -ltrh /dremiocache/spilling_stlrx2540m4-12-10g_45678/
    total 4.0K
    drwxr-xr-x 2 root daemon 4.0K Sep 13 16:23 1726243167416
  2. SQLクエリがオーバーフローで完了しましたクエリ67が完了したときに詳細をこぼす

  3. ジョブ完了の概要。完了したクエリのジョブサマリ67

  4. 流出データのサイズを確認するクエリ結果からのSplleddataの詳細

NASオブジェクトストレージとStorageGRIDオブジェクトストレージにも同じ手順が適用されます。