Кластер Presto на Kubernetes ошибка рабочего связывания порта 8080 - PullRequest
1 голос
/ 20 января 2020

Я настраиваю кластер Presto с 1 координатором и 1 работником. Я использовал те же собственные изображения только с Docker, и это сработало.

Однако, когда я перехожу к Kubernetes, я получаю сообщение об ошибке в рабочем узле при инициализации Presto:

ОШИБКА main com.facebook.presto.server.PrestoServer

Невозможно создать инжектор, см. Следующие ошибки:

1) Ошибка в настраиваемом поставщике, java .lang.NullPointerException at com. facebook.airlift.discovery.client.DiscoveryBinder.bindServiceAnnouncement (DiscoveryBinder. java: 79)

при поиске com.facebook.airlift.discovery.client.ServiceAnnouncement, отмеченный @ com.google.inject.internal. Элемент (setName =, uniqueId = 146, type = MULTIBINDER, keyType =) при определении местоположения java .util.Set

3) Конструктор ошибок при внедрении, java .io.UncheckedIOException: Не удалось привязать к / 0.0.0.0:8080 на com.facebook.airlift.http.server.HttpServerInfo. (HttpServerInfo. java: 48)

развертывание

apiVersion: apps/v1
kind: Deployment
metadata:
  name: presto-cluster
  namespace: presto-clu2
spec:
  replicas: 1
  selector:
    matchLabels:
      app: presto-c
  template:
    metadata:
      labels:
        app: presto-c
    spec:
      containers:
      - name: presto-co
        image: x/openjdk-presto-k:1.0
        imagePullPolicy: Always
        ports:
        - containerPort: 8080
      - name: presto-wo
        image: x/openjdk-prestoworker-k:1.0
        imagePullPolicy: Always
        ports:
        - containerPort: 8181

служба

apiVersion: v1
kind: Service
metadata:
  name: presto-cluster
  namespace: presto-clu2
spec:
  selector:
    app: presto-c
  ports:
  - protocol: TCP
    port: 8080
    targetPort: 8080
  type: NodePort

При переходе вверх по пространству имен, s Служба и развертывание, только координатор становится действующим.

Кажется, что-то связано с тем, что работник не может подключиться к порту 8080 для обнаружения координатора. Я знаю, что внутри модуля все контейнеры совместно используют порты, и это может быть проблемой, но я недостаточно хорошо знаю технологии, чтобы проверить это и потенциально изменить порт на рабочем месте.

Есть ли у вас Любая идея вопроса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...