kafka-错误,将消息发送到主题test-topic时发生错误,其键为:null,值:17个字节,错误为

时间:2018-10-24 13:02:39

标签: kubernetes apache-kafka apache-zookeeper minikube kafka-topic

我正在使用MINIKUBE在Kubernetes中部署Kafka / Zookeeper。以下是我的YAML文件:

##################################
#   Setup Zookeeper Deployment
##################################

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: zookeeper
  name: zookeeper
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: zookeeper
    spec:
      containers:
      - image: wurstmeister/zookeeper
       # imagePullPolicy: Always
        name: zookeeper
        ports:
        - containerPort: 2181


##################################
#   Setup Zookeeper Service
##################################

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: zookeeper-service
  name: zookeeper-service
spec:
  type: NodePort
  ports:
  - name: zookeeper-port
    port: 2181
    nodePort: 30181
    targetPort: 2181
  selector:
    app: zookeeper

---
##################################
  #   Setup Kafka service
##################################

apiVersion: v1
kind: Service
metadata:
  labels:
    app: kafka-service
  name: kafka-service
spec:
  type: NodePort
  ports:
  - name: kafka-port
    port: 9092
    nodePort: 30092
    targetPort: 9092
  selector:
    app: kafka

---
##################################
  #   Setup Kafka Broker Deployment
##################################

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: kafka
  name: kafka
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: kafka
    spec:
      containers:
      - env:
        - name: KAFKA_ADVERTISED_HOST_NAME
          value: 192.168.99.100
        - name: KAFKA_ADVERTISED_PORT
          value: "30092"
        - name: KAFKA_BROKER_ID
          value: "1"
        - name: KAFKA_ZOOKEEPER_CONNECT
          value: 192.168.99.100:30181    
        - name: KAFKA_ADVERTISED_LISTENERS
          value: "PLAINTEXT://192.168.99.100:30092"
     #   - name: KAFKA_LISTENERS
     #     value: "PLAINTEXT://192.168.99.100:9092"
        - name: KAFKA_CREATE_TOPICS
          value: "vignesh-topic:1:1"
        - name: LOG4J_LOGGER_KAFKA_AUTHORIZER_LOGGER
          value: "DEBUG"
        image: wurstmeister/kafka
        #imagePullPolicy: Always
        name: kafka
        ports:
        - containerPort: 9092

我已使用MINIKUBE通过以下命令在本地计算机Kubernetes中成功创建了Deployment / Services。

kubectl create -f kafka.yml

我已经在Kafka窗格中导航,并且可以使用以下命令创建主题,

./bin/kafka-topics.sh --create --zookeeper 192.168.99.100:30181 --replication-factor 1 --partitions 1 --topic test-topic

但是,当我尝试向该主题(test-topic)发送消息时,系统抛出以下错误。

error

注意

当我运行 netstat -tunap 时,端口30092和30181均显示为已建立。

netstat

我不知道我在这里想念的是什么。请帮助我前进。

感谢并感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

感谢@SoheilPourbafrani和@ cricket_007的帮助!我已经找到了我上面提出的问题的解决方法。

一旦我在PowerShell窗口中运行以下命令,Kafka即可正确启动,并能够通过Node Application和Kafka Tool与之通信。

minikube ssh
sudo ip link set docker0 promisc on 

参考:Newer versions of Minikube don't allow Pods to use their own Services