冷面魔男 2025-03-25 17:50 采纳率: 0%
浏览 15
已结题

k8s的rocketmq报错,如何解决?

访问k8s的rocketmq报错org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout,看了网上的教程说是要在broker.conf中加brokerIP1为公网地址,可是我加了之后连dashboard会报错显示org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 192.168.1.182:30789 failed,这个要怎么解决?

img

这个是我的configMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: rocketmq-broker-config
  namespace: dev
data:
  broker.conf: |
    brokerClusterName=rocketmq-cluster
    brokerName=rocketmqbroker
    namesrvAddr=192.168.1.182:32383
    brokerId=0
    brokerIP1=192.168.1.182
    deleteWhen = 04
    listenPort=30789
    autoCreateTopicEnable=true
    autoCreateSubscriptionGroup=true
    storePathRootDir=/home/rocketmq/store
    storePathCommitLog=/home/rocketmq/store/commitlog
    storePathConsumeQueue=/home/rocketmq/store/consumequeue
    storePathIndex=/home/rocketmq/store/index
    storeCheckpoint=/home/rocketmq/store/checkpoint
    abortFile=/home/rocketmq/store/abort
    brokerRole=ASYNC_MASTER
    flushDiskType=ASYNC_FLUS

这个是我的broker的Service


```yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: rocketmqnamesrv
  name: rocketmqnamesrv
spec:
  type: NodePort
  ports:
  - port: 9876
    targetPort: 9876
    name: namesrvport
  selector:
    app: rocketmqnamesrv
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rocketmqnamesrv
spec:
  serviceName: rocketmqnamesrv
  replicas: 1
  selector:
    matchLabels:
      app: rocketmqnamesrv
  template:
    metadata:
     labels:
       app: rocketmqnamesrv
    spec:
      containers:
      - name: rocketmqnamesrv
        image: apache/rocketmq:5.0.0
        imagePullPolicy: IfNotPresent
        env:
          - name: TZ
            value: Asia/Shanghai
          - name: JAVA_OPT_EXT
            value: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
        command: ["sh","/home/rocketmq/rocketmq-5.0.0/bin/mqnamesrv"]
        readinessProbe:
          tcpSocket:
            port: 9876
          initialDelaySeconds: 15
          timeoutSeconds: 5
          periodSeconds: 20

这个是我的nameserver的service

```yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: rocketmqnamesrv
  name: rocketmqnamesrv
spec:
  type: NodePort
  ports:
  - port: 9876
    targetPort: 9876
    name: namesrvport
  selector:
    app: rocketmqnamesrv
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rocketmqnamesrv
spec:
  serviceName: rocketmqnamesrv
  replicas: 1
  selector:
    matchLabels:
      app: rocketmqnamesrv
  template:
    metadata:
     labels:
       app: rocketmqnamesrv
    spec:
      containers:
      - name: rocketmqnamesrv
        image: apache/rocketmq:5.0.0
        imagePullPolicy: IfNotPresent
        env:
          - name: TZ
            value: Asia/Shanghai
          - name: JAVA_OPT_EXT
            value: "-Duser.home=/home/rocketmq -Xms512M -Xmx512M -Xmn128m"
        command: ["sh","/home/rocketmq/rocketmq-5.0.0/bin/mqnamesrv"]
        readinessProbe:
          tcpSocket:
            port: 9876
          initialDelaySeconds: 15
          timeoutSeconds: 5
          periodSeconds: 20
  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-03-25 17:50
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    k8s的RocketMQ报错,如何解决?

    你遇到的报错是 RemotingTooMuchRequestException: sendDefaultI,这是RocketMQ的 remoting层面报错,可能是由于网络连接超时或请求队列满导致的。

    在k8s环境下,可能的解决方案包括:

    1. 检查网络连接:确保k8s集群中的节点之间的网络连接是否正常。
    2. 调整RocketMQ的配置:可以尝试调整RocketMQ的配置,例如增加网络连接超时时间、调整请求队列大小等。
    3. 检查k8s的网络策略:检查k8s集群中的网络策略是否正确,确保RocketMQ的pod可以正常访问。
    4. 使用k8s的日志工具:使用k8s的日志工具,例如kubectl logs,来查看RocketMQ的日志,了解报错的原因。

    以下是一个示例代码,用于调整RocketMQ的配置:

    // 创建RocketMQ的配置
    Properties properties = new Properties();
    properties.put("rocketmq.namesrv.addr", "your-namesrv-addr");
    properties.put("rocketmq.retries", "3");
    properties.put("rocketmq.maxReconnectTimes", "3");
    // ...
    
    // 创建RocketMQ的生产者
    RocketMQProducer producer = new RocketMQProducer(properties);
    

    在上面的代码中,我们设置了RocketMQ的namesrv地址、重试次数和最大重连次数等配置。

    如果你需要更多帮助,请提供更多的错误信息和代码。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月26日
  • 创建了问题 3月25日