azure - Kafka 在 Azure Kubernetes 集群中工作,但不在本地 minikube 中工作

标签 azure kubernetes apache-kafka apache-zookeeper minikube

我正在使用 Kafka 并遇到问题。

Kafka 似乎无法在本地使用 minikube 工作。 我收到此错误:org.apache.kafka.common.errors.InvalidReplicationFactorException:复制因子:1 大于可用代理:0。

卡夫卡配置:

apiVersion: apps/v1
kind: Deployment
metadata:
    name: kafka-depl
spec:
    replicas: 1
    selector:
        matchLabels:
            app: kafka
    template:
        metadata:
            labels:
                app: kafka
        spec:
            containers:
                - name: kafka
                  image: bitnami/kafka
                  imagePullPolicy: Never
                  env:
                      - name: KAFKA_BROKER_ID
                        value: '0'
                      - name: KAFKA_ZOOKEEPER_CONNECT
                        value: zookeeper-srv:2181
                      - name: KAFKA_ADVERTISED_LISTENERS
                        value: PLAINTEXT://kafka-srv:9092
                      - name: ALLOW_PLAINTEXT_LISTENER
                        value: 'yes'

---
apiVersion: v1
kind: Service
metadata:
    name: kafka-srv
spec:
    selector:
        app: kafka
    ports:
        - name: kafka
          protocol: TCP
          port: 9092
          targetPort: 9092

动物园管理员配置:

apiVersion: apps/v1
kind: Deployment
metadata:
    name: zookeeper-depl
spec:
    replicas: 1
    selector:
        matchLabels:
            app: zookeeper
    template:
        metadata:
            labels:
                app: zookeeper
        spec:
            containers:
                - name: zookeeper
                  image: bitnami/zookeeper:latest
                  imagePullPolicy: Never
                  env:
                      - name: ALLOW_ANONYMOUS_LOGIN
                        value: 'yes'
---
apiVersion: v1
kind: Service
metadata:
    name: zookeeper-srv
spec:
    selector:
        app: zookeeper
    ports:
        - name: zookeeper
          protocol: TCP
          port: 2181
          targetPort: 2181

我已将它们部署在 Azure 上,并且使用 docker-compose 在本地正常工作。

但是,使用 minikube 在本地运行它不起作用。

Kafka pod logs

Zookeeper pod logs

最佳答案

您的服务器似乎未启动,请检查日志是否有问题

终止进程

sudo fuser -k 2181/tcp

运行动物园管理员

bin/zookeeper-server-start.sh config/zookeeper.properties

运行卡夫卡

bin/kafka-server-start.sh config/server.properties

您可以查看这个thread这与您的问题有关,您也可以按照其他人的回答来排查问题。

关于azure - Kafka 在 Azure Kubernetes 集群中工作,但不在本地 minikube 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72057289/

相关文章:

java - Windows 10 中的 Kafka 设置

visual-studio - 在本地运行 Azure Functions

azure - 如何使用 beta Microsoft Graph API 在规划器中删除带有外部引用的任务详细信息引用

C# - Azure Durable Function - 重新启动编排

azure - 如何使用 Azure DevOps Pipeline 将 Docker Hub 与 Azure 容器应用程序集成

kubernetes - 使用 ansible 将 .kube 配置文件从 master 复制到所有节点

Angular 7 - Kubernetes 服务中的 Rest API 消耗(未公开)

kubernetes - 找不到Kubernetes list 的规范

java - 处理从 Kafka 检索到的每条记录后,正确的提交方式是什么?

python - Kafka-python 检索主题列表