问题描述
我是Kubernetes的新手,正在尝试在单节点minikube集群上部署单个副本kafka实例。
这是Zookeeper服务/部署yml
apiVersion: v1
kind: Service
metadata:
name: zookeeper-cluster
labels:
component: zookeeper
spec:
ports:
- name: "2181"
port: 2181
targetPort: 2181
selector:
component: zookeeper
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
component: zookeeper
name: zookeeper
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: zookeeper
template:
metadata:
labels:
component: zookeeper
spec:
containers:
- image: zookeeper:3.4.13
name: zookeeper
ports:
- containerPort: 2181
resources:
limits:
memory: "256Mi"
cpu: "100m"
volumeMounts:
- mountPath: /conf
name: zookeeper-claim0
- mountPath: /data
name: zookeeper-claim1
- mountPath: /datalog
name: zookeeper-claim2
restartPolicy: Always
volumes:
- name: zookeeper-claim0
persistentVolumeClaim:
claimName: zookeeper-claim0
- name: zookeeper-claim1
persistentVolumeClaim:
claimName: zookeeper-claim1
- name: zookeeper-claim2
persistentVolumeClaim:
claimName: zookeeper-claim2
status: {}
这是Kafka服务/部署yml
apiVersion: v1
kind: Service
metadata:
name: kafka-cluster
labels:
component: kafka
spec:
ports:
- name: "9092"
port: 9092
targetPort: 9092
selector:
component: kafka
status:
loadBalancer: {}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
component: kafka
name: kafka
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: kafka
template:
metadata:
labels:
component: kafka
spec:
containers:
- args:
- start-kafka.sh
env:
- name: KAFKA_INTER_BROKER_LISTENER_NAME
value: LISTENER_BOB
- name: KAFKA_ADVERTISED_LISTENERS
value: LISTENER_BOB://:9092
- name: KAFKA_LISTENERS
value: LISTENER_BOB://:9092
- name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
value: LISTENER_BOB:PLAINTEXT
- name: KAFKA_BROKER_ID
value: "1"
- name: KAFKA_LOG_DIRS
value: /kafka/kafka-logs
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper-cluster:2181
image: wurstmeister/kafka:2.12-2.4.1
name: kafka
ports:
- containerPort: 9092
resources:
limits:
memory: "256Mi"
cpu: "200m"
volumeMounts:
- mountPath: /kafka/kafka-logs
name: kafka-claim0
restartPolicy: Always
volumes:
- name: kafka-claim0
persistentVolumeClaim:
claimName: kafka-claim0
status: {}
当尝试从kafka-cluster:9092上的另一个应用程序访问kafka时,该应用程序也作为部署运行,它将引发UnresolvedAddressException。其中kafka-6799c65d58-f6tbt:9092是广告连播名称
java.io.IOException: Can't resolve address: **kafka-6799c65d58-f6tbt:9092**
at org.apache.kafka.common.network.Selector.doConnect(Selector.java:235)
at org.apache.kafka.common.network.Selector.connect(Selector.java:214)
at org.apache.kafka.clients.NetworkClient.initiateConnect(NetworkClient.java:864)
at org.apache.kafka.clients.NetworkClient.access$700(NetworkClient.java:64)
at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:1035)
at org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:920)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:508)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:239)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:163)
at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.nio.channels.UnresolvedAddressException: null
at java.base/sun.nio.ch.Net.checkAddress(Net.java:130)
at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:675)
at org.apache.kafka.common.network.Selector.doConnect(Selector.java:233)
... 9 common frames omitted
在配置它时是否犯了任何错误?还是有其他选择吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)