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

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

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

Развертывание StreamSets Data Collector в Docker

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

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
  • Например, http.port будет задан как SDC_CONF_HTTP_PORT=12345
  • Вы должны по меньшей мере указать том для данных для директории данных и библиотек стадий. По умолчанию конфигурируемое расположение — /data для $SDC_DATA. Вы можете переопределить это расположение, передавая другое значение в переменной окружения SDC_DATA. Создание тома для дополнительных библиотек стадий описано в более подробном виде ниже.
  • Вы также можете указать собственные явные отображения портов или аргументы для команды 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 (том) для примонтирования его при запуске SDC.

docker run -v sdc-data:/data -P -d streamsets/datacollector dc


**Примечание:** Существует два различных метода управления данными в Docker. Вышеуказанный метод использует *тома данных*, которые пусты при создании. Вы также можете использовать *контейнеры данных*, которые производны от образа. Эти контейнеры полезны, когда вы хотите изменять и сохранять путь, начиная с существующих файлов базового контейнера, например для файлов конфигурации. Мы будем использовать оба метода в примере ниже. Подробная документация доступна по ссылке [Управление данными в контейнерах](https://docs.docker.com/engine/tutorials/dockervolumes/).**Обратите внимание:** В Docker существует два разных способа управления данными. Используемый выше data volume создается пустым. Также можно использовать data container, который производится из образа. Эти функции полезны, когда вы хотите изменять и сохранять пути к существующим файлам, такими как файлы конфигурации, начиная с базового контейнера. В следующем примере мы будем использовать оба этих метода. Для получения дополнительной информации о работе с данными в контейнерах обратитесь к соответствующей документации.

# Предварительная настройка 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 на вашу любимую базовую image. Это всего лишь временный контейнер для редактирования базовых конфигурационных файлов.

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

Через изменение файлов в /etc/sdc вы можете настроить SDC по своему усмотрению

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

docker create -v /etc/sdc -v /data -v --name sdc-volumes streamsets/datacollector

Если вам легче редактировать конфигурационные файлы локально, вы можете использовать команду docker cp для копирования конфигурационных файлов туда-сюда из контейнера данных, вместо запуска временного контейнера.

Чтобы установить stage libs с помощью CLI или Package Manager UI, вам потребуется создать объем для директории stage libs. Также рекомендуется использовать объем для директории данных как минимум.

docker volume create --name sdc-stagelibs

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

docker volume create --name sdc-data
```Объем затем должен быть подключен к правильной директории при запуске контейнера. Пример ниже относится к версии Data Collector 3.9.1. Затем при запуске контейнера необходимо смонтировать том в правильную директорию. Пример ниже применим для версии Data Collector 3.9.1.

```shell
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-регистр и легко распространять.

Самый простой и рекомендуемый способ — это просто создать свой собственный 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.1abc

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

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

Опубликовать ( 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