我正在尝试在 kubernetes 集群上安装 prismarabbitmq,但收到此错误,提示“无法声明rabbitexchange”。

这是我用于rabbitmq的连接字符串

amqp://用户:[email protected] :5672

请注意:rabbitmq 作为 Helm Chart 安装。我还提供了我的 prisma 部署 kubernetes 文件。

Caused by: java.lang.Exception: Unable to declare rabbit exchange: java.net.SocketTimeoutException 
        at com.prisma.messagebus.utils.RabbitUtils$.declareExchange(RabbitUtils.scala:18) 
        at com.prisma.messagebus.pubsub.rabbit.RabbitAkkaPubSub.<init>(RabbitAkkaPubSub.scala:36) 
        at com.prisma.prod.PrismaProdDependencies.invalidationPubSub$lzycompute(PrismaProdDependencies.scala:78) 
        at com.prisma.prod.PrismaProdDependencies.invalidationPubSub(PrismaProdDependencies.scala:75) 
        at com.prisma.prod.PrismaProdDependencies.invalidationSubscriber$lzycompute(PrismaProdDependencies.scala:81) 
        at com.prisma.prod.PrismaProdDependencies.invalidationSubscriber(PrismaProdDependencies.scala:81) 
        at com.prisma.subscriptions.resolving.SubscriptionsManager.<init>(SubscriptionsManager.scala:58) 
        at com.prisma.websocket.WebSocketHandler.$anonfun$subscriptionsManager$1(WebSocketHandler.scala:24) 
        at akka.actor.TypedCreatorFunctionConsumer.produce(IndirectActorProducer.scala:87) 
        at akka.actor.Props.newActor(Props.scala:212) 
        at akka.actor.ActorCell.newActor(ActorCell.scala:624) 
        at akka.actor.ActorCell.create(ActorCell.scala:650) 
        ... 9 more 
Caused by: java.net.SocketTimeoutException 
        at java.net.SocksSocketImpl.remainingMillis(SocksSocketImpl.java:111) 
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
        at java.net.Socket.connect(Socket.java:589) 
        at com.rabbitmq.client.impl.SocketFrameHandlerFactory.create(SocketFrameHandlerFactory.java:50) 
        at com.rabbitmq.client.impl.recovery.RecoveryAwareAMQConnectionFactory.newConnection(RecoveryAwareAMQConnectionFactory.java:60) 
        at com.rabbitmq.client.impl.recovery.AutorecoveringConnection.init(AutorecoveringConnection.java:99) 
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:911) 
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:870) 
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:828) 
        at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:996) 
        at com.prisma.rabbit.PlainRabbit$.$anonfun$connect$1(PlainRabbit.scala:25) 
        at scala.util.Try$.apply(Try.scala:209) 
        at com.prisma.rabbit.PlainRabbit$.connect(PlainRabbit.scala:11) 
        at com.prisma.rabbit.Rabbit$.channel(Queue.scala:21) 
        at com.prisma.rabbit.Rabbit$.channel(Queue.scala:13) 
        at com.prisma.messagebus.utils.RabbitUtils$.declareExchange(RabbitUtils.scala:11) 
        ... 20 more 
 
[Telemetry] Warning: Telemetry call failed with akka.stream.StreamTcpException: Connection failed. 
[INFO] [02/24/2020 04:48:18.670] [single-server-akka.actor.default-dispatcher-9] [akka://single-server/system/IO-TCP/selectors/$a/1] Message [akka.io.Dns$Resolved] from Actor[akka://single-serve 
r/system/IO-DNS/inet-address/$d#-1722408340] to Actor[akka://single-server/system/IO-TCP/selectors/$a/1#-615185858] was not delivered. [1] dead letters encountered. This logging can be turned of 
f or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
[INFO] [02/24/2020 04:48:21.970] [single-server-akka.actor.default-dispatcher-4] [akka://single-server/system/IO-TCP/selectors/$a/0] Message [akka.io.Dns$Resolved] from Actor[akka://single-serve 
r/system/IO-DNS/inet-address/$d#-1722408340] to Actor[akka://single-server/system/IO-TCP/selectors/$a/0#-2083961340] was not delivered. [2] dead letters encountered. This logging can be turned o 
ff or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. 
[Telemetry] Warning: Telemetry call failed with javax.net.ssl.SSLException: Received close_notify during handshake 
 

这是我的 prisma 的 kubernetes 部署文件

apiVersion: apps/v1 
kind: Deployment 
metadata: 
  name: primary-deployment 
  #namespace: prisma 
spec: 
  replicas: 1 
  selector: 
    matchLabels: 
      app: prisma-primary 
  strategy: 
    type: RollingUpdate 
    rollingUpdate: 
      maxSurge: 1 
      maxUnavailable: 1 
  template: 
    metadata: 
      labels: 
        app: prisma-primary 
    spec: 
      containers: 
        - name: prisma-primary 
          image: prismagraphql/prisma-prod:1.34 
          imagePullPolicy: Always 
          resources: # CHANGE THIS AS NEEDED 
            requests: 
              memory: "1Gi" 
              cpu: "10m" 
            limits: 
              memory: "1Gi" 
              cpu: "10m" 
          env: 
            - name: SLOW_QUERIES_LOGGING 
              value: "true" 
            - name: JAVA_OPTS 
              value: "-Xmx800m" # CHANGE THIS AS NEEDED 
              - name: ENV 
              value: "prod" 
            - name: PRISMA_CONFIG 
              value: | # CHANGE THIS AS NEEDED 
                port: 4466 
                managementApiSecret: "MuchSecret" 
                enableManagementApi: "true" 
                server2serverSecret: "SuperSecretWow" 
                rabbitUri: "amqp://user:<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5d242d2b343f3431650c101d2f3c3f3f3429302c7339383b3c283129732e2b3e733e31282e29382f7331323e3c31" rel="noreferrer noopener nofollow">[email protected]</a>:5672" 
                databases: 
                  default: 
                    connector: mongo 
                    uri: mongodb://mongodb-mongodb-replicaset.default.svc.cluster.local:5672 
                    active: "true" 
                    connectionLimit: 20 
                    database: "prisma" 
                    managementSchema: "prisma" 
                    ssl: false 
          ports: 
            - containerPort: 4466 
--- 
apiVersion: v1 
kind: Service 
metadata: 
  name: prisma-primary-service 
  #namespace: prisma 
spec: 
  selector: 
    app: prisma-primary 
  type: ClusterIP 

请您参考如下方法:

对于面临同样问题的人....我在values.yaml中的rabbitmq helm图表中禁用了这个插件,它开始正常工作

 ## Extra plugins to enable 
  ## Use this instead of `plugins` to add new plugins 
  # extraPlugins: "rabbitmq_auth_backend_ldap" 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!