次の方法で共有


ビッグ データ クラスターで Apache Spark と Apache Hadoop を構成する

重要

Microsoft SQL Server 2019 ビッグ データ クラスターのアドオンは廃止されます。 SQL Server 2019 ビッグ データ クラスターのサポートは、2025 年 2 月 28 日に終了します。 ソフトウェア アシュアランス付きの SQL Server 2019 を使用する既存の全ユーザーはプラットフォームで完全にサポートされ、ソフトウェアはその時点まで SQL Server の累積更新プログラムによって引き続きメンテナンスされます。 詳細については、お知らせのブログ記事と「Microsoft SQL Server プラットフォームのビッグ データ オプション」を参照してください。

ビッグ データ クラスターで Apache Spark と Apache Hadoop を構成するには、デプロイ時にクラスター プロファイルを変更する必要があります。

ビッグ データ クラスターには、次の 4 つの構成カテゴリがあります。

  • sql
  • hdfs
  • spark
  • gateway

sqlhdfssparksql はサービスです。 各サービスは、同じ名前付き構成カテゴリにマップされます。 すべてのゲートウェイ構成は、カテゴリ gatewayに移動します。

たとえば、サービス hdfs 内のすべての構成はカテゴリ hdfsに属します。 すべての Hadoop (コア サイト)、HDFS、Zookeeper の構成はカテゴリ hdfsに属し、Livy、Spark、Yarn、Hive、Metastore の構成はすべてカテゴリ sparkに属します。

サポートされている構成には、 SQL Server ビッグ データ クラスターをデプロイするときに構成できる Apache Spark と Hadoop のプロパティが一覧表示されます。

次のセクションでは、クラスターで変更 できない プロパティの一覧を示します。

クラスター プロファイルを使用した構成

クラスター プロファイルには、リソースとサービスがあります。 デプロイ時に、次の 2 つの方法のいずれかで構成を指定できます。

  • まず、リソース レベルで次の手順を実行します。

    プロファイルのパッチ ファイルの例を次に示します。

    { 
           "op": "add", 
           "path": "spec.resources.zookeeper.spec.settings", 
           "value": { 
             "hdfs": { 
               "zoo-cfg.syncLimit": "6" 
             } 
           } 
    }
    

    または:

    { 
           "op": "add", 
           "path": "spec.resources.gateway.spec.settings", 
           "value": { 
             "gateway": { 
               "gateway-site.gateway.httpclient.socketTimeout": "95s" 
             } 
           } 
    } 
    
  • 2 つ目は、サービス レベルです。 1 つのサービスに複数のリソースを割り当て、サービスに構成を指定します。

HDFS ブロック サイズを設定するためのプロファイルのパッチ ファイルの例を次に示します。

{ 
      "op": "add", 
      "path": "spec.services.hdfs.settings", 
      "value": { 
        "hdfs-site.dfs.block.size": "268435456" 
     } 
} 

サービス hdfs は次のように定義されます。

{ 
  "spec": { 
   "services": { 
     "hdfs": { 
        "resources": [ 
          "nmnode-0", 
          "zookeeper", 
          "storage-0", 
          "sparkhead" 
        ], 
        "settings":{ 
          "hdfs-site.dfs.block.size": "268435456" 
        } 
      } 
    } 
  } 
} 

リソース レベルの構成は、サービス レベルの構成をオーバーライドします。 1 つのリソースを複数のサービスに割り当てることができます。

記憶域プールで Spark を有効にする

サポートされている Apache 構成に加えて、Spark ジョブをストレージ プールで実行できるかどうかを構成する機能も提供されています。 このブール値 (includeSpark) は、bdc.jsonspec.resources.storage-0.spec.settings.spark構成ファイルにあります。

bdc.json の記憶域プール定義の例は次のようになります。

...
"storage-0": {
                "metadata": {
                    "kind": "Pool",
                    "name": "default"
                },
                "spec": {
                    "type": "Storage",
                    "replicas": 2,
                    "settings": {
                        "spark": {
                            "includeSpark": "true"
                        }
                    }
                }
            }

制限事項

構成は、カテゴリ レベルでのみ指定できます。 同じサブカテゴリを持つ複数の構成を指定するために、クラスター プロファイルで共通プレフィックスを抽出することはできません。

{ 
      "op": "add", 
      "path": "spec.services.hdfs.settings.core-site.hadoop", 
      "value": { 
        "proxyuser.xyz.users": "*", 
        "proxyuser.abc.users": "*" 
     } 
} 

次のステップ