1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Hu-Lyndon-streamsets-start-asset

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
11.SDC_for_Docker.md 22 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 09.06.2025 14:20 9a477ac

StreamSets Data Collector

Основное использование

docker run --restart on-failure -p 18630:18630 -d --name streamsets-dc streamsets/datacollector dc

По умолчанию имя пользователя и пароль: admin / admin.

Подробное использование

  • Вы можете указать собственные конфигурации, примонтировав их как том к /etc/sdc или /etc/sdc/.

  • Конфигурационные свойства в sdc.properties также можно переопределить в процессе выполнения, указав их как переменные окружения с префиксом SDC_CONF.

    Конфигурационные свойства в sdc.properties также можно переопределить в процессе выполнения, указав их как переменные окружения с префиксом SDC_CONF.

  • Например, http.port можно задать как SDC_CONF_HTTP_PORT=12345.

    Например, http.port можно задать как SDC_CONF_HTTP_PORT=12345.

  • Вы должны по меньшей мере указать том для каталога данных и библиотек стадий. По умолчанию конфигурируемое положение находится в /data для $SDC_DATA. Вы можете переопределить это положение, передавая другое значение в переменную окружения SDC_DATA. Подробное описание создания тома для дополнительных библиотек стадий приведено ниже.

    Вы должны по меньшей мере указать том для каталога данных и библиотек стадий. По умолчанию конфигурируемое положение находится в /data для $SDC_DATA. Вы можете переопределить это положение, передавая другое значение в переменную окружения SDC_DATA. Подробное описание создания тома для дополнительных библиотек стадий приведено ниже.- Вы также можете указать собственные явные отображения портов или аргументы для команды StreamSets.

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

Например, чтобы запустить с использованием пользовательского файла sdc.properties, локального пути к файловой системе для хранения труб и статического отображения порта по умолчанию для UI, вы можете использовать следующий метод:

docker run -v $PWD/sdc.properties:/etc/sdc/sdc.properties:ro -v $PWD/sdc-data:/data:rw -p 18630:18630 -d streamsets/datacollector dc

Создание тома для данных

Чтобы создать отдельный том для хранения труб, выполните следующую команду:

docker volume create --name sdc-data

Затем вы можете использовать аргумент -v (том) для монтирования его при запуске сборщика данных.

Затем вы можете использовать аргумент -v (том) для монтирования его при запуске сборщика данных.

docker run -v sdc-data:/data -P -d streamsets/datacollector dc
```**Примечание:** В Docker существует два различных метода управления данными. Вышеуказанный метод использует *объемы данных*, которые создаются пустыми. Вы также можете использовать *контейнеры данных*, которые создаются из образа. Эти методы полезны, когда вы хотите модифицировать и сохранять данные, начиная с существующих файлов базового контейнера, таких как файлы конфигурации. В примере ниже мы будем использовать оба метода. См. [Управление данными в контейнерах](https://docs.docker.com/engine/tutorials/dockervolumes/) для получения более подробной документации.# Предварительная настройка Data Collector

#### Вариант 1 - Объемы (Рекомендуется)

Сначала мы создаем контейнер данных для нашей конфигурации. Назовем его `sdc-conf`

```shell
docker create -v /etc/sdc --name sdc-conf streamsets/datacollector 
docker run --rm -it --volumes-from sdc-conf ubuntu bash

Совет: Вы можете заменить ubuntu на ваш любимый базовый образ. Это временный контейнер для редактирования базовых файлов конфигурации.

Редактируйте конфигурацию SDC по вашему усмотрению, изменяя файлы в /etc/sdc

Вы можете выбрать создание отдельных контейнеров данных с помощью вышеуказанного метода для $SDC_DATA (/data) и других мест, или вы можете добавить все объемы в один контейнер. Для нескольких объемов в одном контейнере данных вы можете использовать следующий синтаксис:

docker create -v /etc/sdc -v /data --name sdc-volumes streamsets/datacollector
```Если вы считаете, что легче всего редактировать конфигурационные файлы локально, вы можете не запускать временный контейнер выше, а использовать команду `docker cp` для копирования конфигурационных файлов туда-обратно из контейнера данных.

Чтобы использовать CLI или интерфейс управления пакетами для установки stage libs, вам потребуется создать том для каталога stage libs. Также рекомендуется использовать том для каталога данных как минимум.

```shell
docker volume create --name sdc-stagelibs

(Если вы не создали контейнер данных для /data, выполните следующую команду)

docker volume create --name sdc-data

Том должен быть затем подключен к правильному каталогу при запуске контейнера. Пример ниже относится к версии Data Collector 3.9.1.

docker run --name sdc -d -v sdc-stagelibs:/opt/streamsets-datacollector-3.9.1/streamsets-libs -v sdc-data:/data -P streamsets/datacollector dc -verbose

Чтобы получить список доступных libs, вы можете сделать следующее:

docker run --rm streamsets/datacollector:3.9.1 stagelibs -list

Например, чтобы установить JDBC lib в том sdc-stagelibs, который вы создали выше, вам нужно выполнить:

docker run --rm -v sdc-stagelibs:/opt/streamsets-datacollector-3.9.1/streamsets-libs streamsets/datacollector:3.9.1 stagelibs -install=streamsets-datacollector-jdbc-lib

Вариант 2 - Создание нового образаОдним недостатком первого метода является то, что мы не можем коммитировать данные в томе и распространять их через реестр Docker. Вместо этого нам нужно создать том, сделать резервную копию данных, восстановить данные, если нам нужно пересоздать или переместить контейнер на другой хост.

Первый метод имеет один недостаток: мы не можем отправить данные из тома через docker-регистратор для распространения. Вместо этого, если требуется заново создать или переместить контейнер на другой хост, необходимо заново создать том, сделать резервную копию данных и восстановить их.Второй вариант позволит нам вносить изменения в исходное базовое изображение, создавая новое, которое можно отправить в Docker-регистратор и легко распространять.

Самый простой и рекомендуемый метод — это просто создать свой собственный Dockerfile, используя официальное изображение streamsets/datacollector в качестве базового! Это обеспечивает повторяемый процесс для построения производных изображений.

Например, этот производный Dockerfile:

FROM streamsets/datacollector:3.9.1
# Моя пользовательская настроенная sdc.properties
COPY sdc.properties /etc/sdc/sdc.properties
docker build -t mycompany/datacollector:3.9.1-abc .
docker push mycompany/datacollector:3.9.1-abc

Теперь я создал новое изображение с пользовательски настроенным файлом sdc.properties и могу легко распространять его из Docker-регистратора!

Вы также можете запустить стандартный контейнер, изменить его, когда он работает, и использовать команду docker commit, но это не рекомендуется.

streamsets/datacollector-libs

Docker-изображения в этом репозитории содержат библиотеки стадий, которые могут быть использованы в Docker-основанных экземплярах StreamSets Data Collector. Например, чтобы запустить SDC 3.3.1 с предварительно настроенными библиотеками CDH 5.14, вы можете запустить:

docker run -d -P --volumes-from=$(docker create streamsets/datacollector-libs:streamsets-datacollector-cdh_5_14-lib-3.3.1) streamsets/datacollector:3.3.1

Это создаст контейнер для библиотек CDH 5.14, а затем, используя предопределенные тома CDH контейнера, запустит контейнер SDC.Это создаст контейнер для библиотек CDH 5.14 и затем, используя предопределенные тома контейнера CDH, запустит контейнер SDC.

Попытка развертывания в окружении Docker

Метод 1 - ручное развертывание компонентов

# Ручное создание томов для удобства развертывания компонентов
docker volume create sdc-conf
docker volume create sdc-data
docker volume create sdc-resources
docker volume create sdc-stagelibs
docker volume create sdc-streamsets-libs-extras
docker volume create sdc-user-libs
## После создания вышеуказанных томов они по умолчанию создаются в директории /var/lib/docker/volume хост-машины.

# Загрузка образа
docker pull streamsets/datacollector:3.14.0

# Создание и запуск контейнера
docker run --name sdc -d \
-v sdc-conf:/etc/sdc \
-v sdc-data:/data \
-v sdc-stagelibs:/opt/streamsets-datacollector-3.14.0/streamsets-libs \
-v sdc-resources:/resources \
-v sdc-user-libs:/opt/streamsets-datacollector-user-libs \
-v sdc-streamsets-libs-extras:/opt/streamsets-datacollector-3.14.0/streamsets-libs-extras \
-p 18630:18630 streamsets/datacollector dc -verbose

Проверка состояния выполнения```shell

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 25036af600c9 streamsets/datacollector "/docker-entrypoint. …" 3 days ago Up 3 days 0.0.0.0:18630->18630/tcp sdc $ docker run --rm streamsets/datacollector:3.14.0 stagelibs -list

  - | - | -
  streamsets-datacollector-apache-kafka_1_0-lib | Apache Kafka 1.0.0 | НЕТ
  streamsets-datacollector-apache-kafka_1_1-lib | Apache Kafka 1.1.0 | НЕТ
  streamsets-datacollector-apache-kafka_2_0-lib | Apache Kafka 2.0.0 | НЕТ
  streamsets-datacollector-apache-kudu_1_3-lib | Apache Kudu 1.3.0 | НЕТ
  streamsets-datacollector-apache-kudu_1_4-lib | Apache Kudu 1.4.0 | НЕТ
  streamsets-datacollector-apache-kudu_1_5-lib | Apache Kudu 1.5.0 | НЕТ
  streamsets-datacollector-apache-kudu_1_6-lib | Apache Kudu 1.6.0 | НЕТ
  streamsets-datacollector-apache-kudu_1_7-lib | Apache Kudu 1.7.0 | НЕТ
  streamsets-datacollector-apache-pulsar_2-lib | Apache Pulsar 2.2.0 | НЕТ
  streamsets-datacollector-apache-solr_6_1_0-lib | Apache Solr 6.1.0 | НЕТ
  streamsets-datacollector-aws-lib | Amazon Web Services 1.11.123 | НЕТ
  streamsets-datacollector-aws-secrets-manager-credentialstore-lib | AWS Secrets Manager Credentials Store | НЕТ
  streamsets-datacollector-azure-keyvault-credentialstore-lib | Azure Key Vault Credentials Store | НЕТ
  streamsets-datacollector-azure-lib | Azure | НЕТ
  streamsets-datacollector-basic-lib | Basic | ДА
  streamsets-datacollector-bigtable-lib | Google Cloud Bigtable | НЕТ
  streamsets-datacollector-cassandra_3-lib | Cassandra Java Driver 3.2.0 | НЕТ
  streamsets-datacollector-cdh_5_14-lib | CDH 5.14.0 | НЕТ
  streamsets-datacollector-cdh_5_15-lib | CDH 5.15.0 | НЕТ
  streamsets-datacollector-cdh_5_16-lib | CDH 5.16.0 | НЕТ
  streamsets-datacollector-cdh_6_0-lib | CDH 6.0.1 | НЕТ
  streamsets-datacollector-cdh_6_1-lib | CDH 6.1.1 | НЕТ
  streamsets-datacollector-cdh_6_2-lib | CDH 6.2.0 | НЕТ
  streamsets-datacollector-cdh_6_3-lib | CDH 6.3.0 | НЕТ
  streamsets-datacollector-cdh_kafka_3_1-lib | CDH Kafka 3.1.0 | НЕТ
  streamsets-datacollector-cdh_kafka_4_1-lib | CDH Kafka 4.1.0 | НЕТ
  streamsets-datacollector-cdh_spark_2_1_r1-lib | CDH Spark 2.1.0 Release 1 | НЕТ
  streamsets-datacollector-cdh-spark_2_2-lib | CDH Cluster Kafka с CDS, поддерживаемый Apache Spark 2.  2.  0 Release 1 | НЕТ
  streamsets-datacollector-cdh-spark_2_3-lib | CDH Cluster Kafka с CDS, поддерживаемый Apache Spark 2.  3.  0 Release 2 | НЕТ
  streamsets-datacollector-cdh-spark_2_3_r3-lib | CDH Cluster Kafka с CDS, поддерживаемый Apache Spark 2.  3.  0 Release 3 | НЕТ
  streamsets-datacollector-cdh-spark_2_3_r4-lib | CDH Cluster Kafka с CDS, поддерживаемый Apache Spark 2.  3.  0 Release 4 | НЕТ
  streamsets-datacollector-couchbase_5-lib | Couchbase 5 | НЕТ
 streamsets-datacollector-crypto-lib | Криптография | НЕТ
 streamsets-datacollector-cyberark-credentialstore-lib | CyberArk Credential Store | НЕТ
 streamsets-datacollector-databricks-ml_2-lib | Databricks ML 2.  3 | НЕТ
 streamsets-datacollector-dataformats-lib | Форматы данных | ДА
 streamsets-datacollector-dev-lib | Dev (только для разработки) | ДА
 streamsets-datacollector-elasticsearch_5-lib | Elasticsearch 5.  2.  0 | НЕТ
 streamsets-datacollector-emr_hadoop_2_8_3-lib | EMR 5.  14.  0 - Hadoop 2.  8.  3 | НЕТ
 streamsets-datacollector-google-cloud-lib | Google Cloud | НЕТ
 streamsets-datacollector-groovy_2_4-lib | Groovy 2.  4.  11 | НЕТ
 streamsets-datacollector-hdp_3_1-lib | HDP 3.  1.  0 | НЕТ
 streamsets-datacollector-influxdb_0_9-lib | InfluxDB 0.  9+ | НЕТ
 streamsets-datacollector-jdbc-lib | JDBC | НЕТ
 streamsets-datacollector-jks-credentialstore-lib | Java KeyStore Credential Store | НЕТ
 streamsets-datacollector-jms-lib | JMS | НЕТ
 streamsets-datacollector-jython_2_7-lib | Jython 2.  7.  0 | НЕТ
 streamsets-datacollector-kinesis-lib | Amazon Kinesis | НЕТ
 streamsets-datacollector-kinetica_6_0-lib | Kinetica 6.  0 | НЕТ
 streamsets-datacollector-kinetica_6_1-lib | Kinetica 6.  1 | НЕТ
 streamsets-datacollector-kinetica_6_2-lib | Kinetica 6.  2 | НЕТ
 streamsets-datacollector-kinetica_7_0-lib | Kinetica 7.  0 | НЕТ
 streamsets-datacollector-mapr_5_2-lib | MapR 5.  2.  0 | НЕТ
 streamsets-datacollector-mapr_6_0-lib | MapR 6.  0.  0 | НЕТ
 streamsets-datacollector-mapr_6_0-mep4-lib | MapR 6.  0.  0 MEP 4 | НЕТ
 streamsets-datacollector-mapr_6_0-mep5-lib | MapR 6.  0.  1 MEP 5 | НЕТ
 streamsets-datacollector-mapr_6_1-lib | MapR 6.  1.  0 | НЕТ
 streamsets-datacollector-mapr_6_1-mep6-lib | MapR 6.  1.  0 MEP 6 | НЕТstreamsets-datacollector-mapr_spark_2_1_mep_3_0-lib | MapR Spark 2.1.0 MEP 3.0 | НЕТ
streamsets-datacollector-mleap-lib | MLeap 2.11 | НЕТ
streamsets-datacollector-mongodb_3-lib | MongoDB Java Driver 3.5.0 | НЕТ
streamsets-datacollector-mysql-binlog-lib | MySQL BinLog | НЕТ
streamsets-datacollector-omniture-lib | Omniture | НЕТ
streamsets-datacollector-orchestrator-lib | Orchestrator | НЕТ
streamsets-datacollector-rabbitmq-lib | RabbitMQ 3.5.6 | НЕТ
streamsets-datacollector-redis-lib | Redis 2.8.x, 3.0.x | НЕТ
streamsets-datacollector-salesforce-lib | Salesforce Library | НЕТ
streamsets-datacollector-stats-lib | Статистика | ДА
streamsets-datacollector-tensorflow-lib | TensorFlow 1.10 | НЕТ
streamsets-datacollector-thycotic-credentialstore-lib | Склад учетных данных Thycotic | НЕТ
streamsets-datacollector-vault-credentialstore-lib | Склад учетных данных Vault | НЕТ
streamsets-datacollector-wholefile-transformer-lib | Преобразователь целых файлов | НЕТ
streamsets-datacollector-windows-lib | Windows | ДА

#### Ручное добавление компонентовСогласно главе 8 данного руководства, можно самостоятельно собрать компоненты для соответствующих SDC (Stream Data Collector) и загрузить собранные jar-файлы вручную на хост в соответствующие тома. Например, официальные версии можно загрузить в том `sdc-stagelibs`, а пользовательские библиотеки — в том `sdc-user-libs`. Библиотеки, хранящиеся в этих директориях, имеют доступ к SDC согласно настройкам файла `sdc-security.policy`.

Или можно скачать пакеты компонентов с официального сайта StreamSets. Ссылка для скачивания: https://archives.streamsets.com/datacollector/3.14.0/tarball

![image-20200420110812286](./image/image-20200420110812286.png)

После добавления нового jar-файла в соответствующую директорию необходимо выполнить следующую команду для подтверждения:

```shell
$ docker run --rm -v sdc-stagelibs:/opt/streamsets-datacollector-3.14.0/streamsets-libs streamsets/datacollector:3.14.0 stagelibs -install=streamsets-datacollector-jdbc-lib

Stage library 'streamsets-datacollector-jdbc-lib' already installed

После вывода сообщения Stage library 'streamsets-datacollector-jdbc-lib' already installed необходимо перезапустить контейнер SDC.

docker restart sdc

Перезагрузить браузер и обновить страницу (из-за кэширования).

image-20200420111242020

Однако, используя команду stagelibs -list, невозможно проверить, были ли установлены компоненты. В будущем следует следить за обновлениями баг-трекера.

$ docker run --rm streamsets/datacollector:3.14.0 stagelibs -list

Метод 2 - Общий том для контейнера```shell

docker run -d -p 18630:18630 --volumes-from=$(docker create streamsets/datacollector-libs:streamsets-datacollector-apache-kafka_2_0-lib-3.14.0) streamsets/datacollector:3.14.0 dc -verbose


Этот режим пока не поддерживает одновременную загрузку нескольких компонентов в контейнер SDC, и тестирование показало, что внутренние директории не могут быть подключены в указанном формате.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Hu-Lyndon-streamsets-start-asset.git
git@api.gitlife.ru:oschina-mirror/Hu-Lyndon-streamsets-start-asset.git
oschina-mirror
Hu-Lyndon-streamsets-start-asset
Hu-Lyndon-streamsets-start-asset
master