Настройка Apache Spark и Apache Hadoop в Кластерах больших данных

Важно!

Поддержка надстройки "Кластеры больших данных" Microsoft SQL Server 2019 будет прекращена. Мы прекратим поддержку Кластеров больших данных SQL Server 2019 28 февраля 2025 г. Все существующие пользователи SQL Server 2019 с Software Assurance будут полностью поддерживаться на платформе, и программное обеспечение будет продолжать поддерживаться с помощью накопительных обновлений SQL Server до этого времени. Дополнительные сведения см. в записи блога объявлений и в статье о параметрах больших данных на платформе 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 Metastore относятся к категории spark.

В разделе Поддерживаемые конфигурации перечислены свойства Apache Spark и Hadoop, которые можно настроить при развертывании кластера больших данных SQL Server.

В следующих разделах перечислены свойства, которые невозможно изменить в кластере.

Настройка конфигураций через профиль кластера

В профиле кластера имеются ресурсы и службы. Во время развертывания конфигурации можно указывать одним из двух способов.

  • Во-первых, на уровне ресурса.

    Ниже приведены примеры файлов исправлений для профиля.

    { 
           "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 в пуле носителей. Это логическое значение, includeSpark, находится в файле конфигурации bdc.json в spec.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": "*" 
     } 
} 

Следующие шаги