빅 데이터 클러스터에서 Apache Spark 및 Apache Hadoop 구성

중요

Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.

빅 데이터 클러스터에서 Apache Spark 및 Apache Hadoop을 구성하려면 배포 시 클러스터 프로필을 수정해야 합니다.

빅 데이터 클러스터에는 다음과 같은 네 가지 구성 범주가 있습니다.

  • sql
  • hdfs
  • spark
  • gateway

sql, hdfs, spark, sql은 서비스입니다. 각 서비스는 동일한 이름의 구성 범주에 매핑됩니다. 모든 게이트웨이 구성은 범주 gateway로 이동합니다.

예를 들어 서비스 hdfs의 모든 구성은 범주 hdfs에 속합니다. 모든 Hadoop(core-site), HDFS 및 Zookeeper 구성은 hdfs 범주에 속합니다. 모든 Livy, Spark, Yarn, Hive, 메타스토어 구성은 spark 범주에 속합니다.

지원되는 구성에는 SQL Server 빅 데이터 클러스터를 배포할 때 구성할 수 있는 Apache Spark & Hadoop 속성이 나열되어 있습니다.

다음 섹션에는 클러스터에서 수정할 수 없는 속성이 나열되어 있습니다.

클러스터 프로필을 통한 구성

클러스터 프로필에는 리소스와 서비스가 있습니다. 배포 시 다음과 같은 두 가지 방법 중 하나로 구성을 지정할 수 있습니다.

  • 첫째, 리소스 수준에서 다음을 수행합니다.

    다음 예제는 프로필에 대한 패치 파일입니다.

    { 
           "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" 
             } 
           } 
    } 
    
  • 둘째, 서비스 수준에서 다음을 수행합니다. 서비스에 여러 리소스를 할당하고 서비스에 대한 구성을 지정합니다.

다음은 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" 
        } 
      } 
    } 
  } 
} 

참고

리소스 수준 구성은 서비스 수준 구성을 재정의합니다. 하나의 리소스를 여러 서비스에 할당할 수 있습니다.

스토리지 풀에서 Spark 사용

지원되는 Apache 구성 외에도 Spark 작업을 스토리지 풀에서 실행할 수 있는지 여부를 구성하는 기능이 제공됩니다. 이 부울 값 includeSparkspec.resources.storage-0.spec.settings.sparkbdc.json 구성 파일에 있습니다.

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": "*" 
     } 
} 

다음 단계