Руководство по развертыванию ядра Zeta в кластерном режиме Apache SeaTunnel k8s

файл

SeaTunnel предоставляет метод запуска механизма Zeta (режим кластера), который позволяет Kubernetes запускать механизм Zeta локально для более эффективного развертывания приложений и управления ими. В этой статье мы узнаем больше о SeaTunnel k8s, работающем на движке Zeta (режим кластера), и узнаем, как лучше использовать преимущества движка Zeta.

  1. Загрузите SeaTunnel на сервер. Ранее я распаковал и запустил install-plugin.sh. Для удобства я сразу использовал Seatunnel после выполнения скрипта install-plugin.sh для демонстрации.

Каталог lib после выполнения install-plugin содержит следующее:

файл

tar -zxvf apache-seatunnel-2.3.3-bin.tar.gz
sh apache-seatunnel-2.3.3/bin/install-plugin.sh
tar -czvf  apache-seatunnel-2.3.3-bin.tar.gz  apache-seatunnel-2.3.3
  1. Создайте изображение туннеля сиденья. Создайте файл Dockerfile в той же папке, где установлен Seatunnel. Конфигурация следующая, версию вы можете выбрать самостоятельно:
FROM openjdk:8
ENV SEATUNNEL_HOME="/opt/seatunnel"
ENV SEATUNNEL_VERSION="2.3.3"
COPY /apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz /opt/apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
WORKDIR /opt
RUN tar -xzvf apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
RUN mv apache-seatunnel-${SEATUNNEL_VERSION} seatunnel
RUN rm -f /opt/apache-seatunnel-${SEATUNNEL_VERSION}-bin.tar.gz
WORKDIR /opt/seatunnel

Выполнение заказа

docker build -t seatunnel:2.3.3 -f Dockerfile.
  1. Посмотреть изображение
docker images

Зеркально, как показано ниже

файл

  1. Загрузите изображение в k8s. Здесь для демонстрации используется Minikube.
minikube image load seatunnel:2.3.3

См. вышеизложенное: Шаг за шагом научите вас, как освоить навыки работы в локальном режиме движка Zeta на SeaTunnel k8s.

  1. Создайте конфигурационную карту следующим образом
kubectl create configmap hazelcast-client  --from-file= config/hazelcast-client.yaml
kubectl create configmap hazelcast  --from-file=config/hazelcast.yaml
kubectl create configmap seatunnelmap  --from-file=config/seatunnel.yaml
  1. Используйте Reloader для автоматического перезапуска модулей после обновления карты конфигурации.
wget https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml

kubectl apply -f reloader.yaml

файл

  1. Создайте Seaunnel-cluster.yml следующим образом:
apiVersion: v1
kind: Service
metadata:
  name: seatunnel
spec:
  selector:
    app: seatunnel
  ports:
  - port: 5801
    name: seatunnel
  clusterIP: None
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: seatunnel
  annotations:
    configmap.reloader.stakater.com/reload: "hazelcast,hazelcast-client,seatunnelmap"
spec:
  serviceName: "seatunnel"
  replicas: 3
  selector:
    matchLabels:
      app: seatunnel
  template:
    metadata:
      labels:
        app: seatunnel
    spec:
      containers:
        - name: seatunnel
          image: seatunnel:2.3.3
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 5801
              name: client
          command: ["/bin/sh","-c","/opt/seatunnel/bin/seatunnel-cluster.sh -DJvmOption=-Xms2G -Xmx2G"]
          resources:
            limits:
              cpu: "1"
              memory: 4G
            requests:
              cpu: "1"
              memory: 2G
          volumeMounts:
            - mountPath: "/opt/seatunnel/config/hazelcast.yaml"
              name: hazelcast
              subPath: hazelcast.yaml
            - mountPath: "/opt/seatunnel/config/hazelcast-client.yaml"
              name: hazelcast-client
              subPath: hazelcast-client.yaml
            - mountPath: "/opt/seatunnel/config/seatunnel.yaml"
              name: seatunnelmap
              subPath: seatunnel.yaml
      volumes:
        - name: hazelcast
          configMap:
            name: hazelcast
        - name: hazelcast-client
          configMap:
            name: hazelcast-client
        - name: seatunnelmap
          configMap:
            name: seatunnelmap
  1. осуществлять
 kubectl apply -f seatunnel-cluster.yml

файл

файл

  1. Измените конфигурацию в configmap
kubectl edit cm hazelcast
修改集群地址 
这里采用的是headless service访问模式
一般pod之间访问其格式为 <pod-name>.<service-name>.<namespace>.svc.cluster.local

Пример, как показано ниже

  • Seatunnel-0.seaunnel.default.svc.cluster.local
  • Seatunnel-1.seatunnel.default.svc.cluster.local
  • Seatunnel-2.seaunnel.default.svc.cluster.local

Дружеское напоминание: не используйте табуляцию, используйте пробелы. В противном случае будет сообщено об ошибке

файл

kubectl edit cm hazelcast-client

файл

kubectl edit cm seatunnelmap

файл

Измените здесь свой собственный адрес hdfs.

  1. Вы можете увидеть следующее

файл

  1. После того как все узлы обновлены и находятся в рабочем состоянии, вы можете войти в контейнер, чтобы проверить, был ли изменен путь.
kubectl exec -it seatunnel-0 /bin/bash
cat config/hazelcast.yaml

файл

  1. Просмотр журналов внутри контейнера
tail -200f logs/seatunnel-engine-server.log

файл

Мы обнаружили, что кластер работает нормально.

  1. Запуск задач

Мы можем открыть новое соединение и войти на другой узел пода, чтобы выполнить задачи по тестированию кластера:

kubectl exec -it seatunnel-1 /bin/bash
bin/seatunnel.sh --config config/v2.streaming.conf.template

Мы обнаружили, что задачи также начали выполняться в других модулях.

файл

Исходная ссылка: https://blog.csdn.net/weixin_41854429/article/details/132836402.

Эта статья опубликована Beluga Open Source Technology !

Команда Google Python Foundation была уволена. Google подтвердил увольнения, а команды, занимающиеся Flutter, Dart и Python, ринулись в горячий список GitHub — Как языки программирования и фреймворки с открытым исходным кодом могут быть такими милыми? Xshell 8 открывает бета-тест: поддерживает протокол RDP и может удаленно подключаться к Windows 10/11. Когда пассажиры подключаются к высокоскоростному железнодорожному Wi-Fi, при подключении к высокоскоростному Wi-Fi всплывает «проклятие 35-летней давности» китайских кодеров. Rail WiFi Первая долгосрочная поддержка MySQL, версия 8.4 GA, инструмент поиска AI Perplexica: Полностью открытая и бесплатная альтернатива Perplexity. Руководители Huawei оценивают ценность системы с открытым исходным кодом. Hongmeng: Несмотря на продолжающееся подавление, у нее все еще есть собственная операционная система. из-за рубежа Немецкая компания-разработчик автомобильного программного обеспечения Elektrobit открыла исходный код решения для автомобильной операционной системы на базе Ubuntu.
{{o.name}}
{{м.имя}}

рекомендация

отmy.oschina.net/SeaTunnel/blog/11066434
рекомендация