我有一台安装了docker + k8s(从docker启用)的windows机器为了在k8s中创建Kafka示例,我选择了here
要部署Kafka,请使用以下命令:
kubectl create namespace kafka
kubectl create -f 'https://strimzi.io/install/latest?namespace=kafka' -n kafka
kubectl apply -f https://strimzi.io/examples/latest/kafka/kafka-persistent-single.yaml -n kafka
字符串
一切顺利,但当我重新启动笔记本电脑,Kafka豆荚开始与错误(屏幕从透镜)
x1c 0d1x的数据
当我打开日志,我看到zookeeper连接错误当打开zookeeper pod日志,我看到这样的错误
2023-12-09 18:06:49,991 INFO Created server with tickTime 2000 ms minSessionTimeout 4000 ms maxSessionTimeout 40000 ms clientPortListenBacklog -1 datadir /var/lib/zookeeper/data/version-2 snapdir /var/lib/zookeeper/data/version-2 (org.apache.zookeeper.server.ZooKeeperServer) [QuorumPeer[myid=1](plain=127.0.0.1:12181)(secure=0.0.0.0:2181)]
2023-12-09 18:06:49,991 ERROR Couldn't bind to my-cluster-zookeeper-0.my-cluster-zookeeper-nodes.kafka.svc/<unresolved>:2888 (org.apache.zookeeper.server.quorum.Leader) [QuorumPeer[myid=1](plain=127.0.0.1:12181)(secure=0.0.0.0:2181)]
java.net.SocketException: Unresolved address
at java.base/java.net.ServerSocket.bind(ServerSocket.java:380)
at java.base/java.net.ServerSocket.bind(ServerSocket.java:342)
at org.apache.zookeeper.server.quorum.Leader.createServerSocket(Leader.java:322)
at org.apache.zookeeper.server.quorum.Leader.lambda$new$0(Leader.java:301)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
型
我尝试将k8s和docker重置为出厂设置,尝试更改docker的资源(增加内存空间),但错误是相同的
更新:
列表权限
dns日志
这意味着coredns-5dd 5756 b68-qhp 5 q pod无法连接到192.168.65.7:53
重新启动k8s节点后,我看到在相同的dns日志错误
[ERROR] plugin/errors: 2 5593748469660065637.885187837306804871. HINFO: read udp 10.1.0.27:42685->192.168.65.7:53: i/o timeout
[ERROR] plugin/errors: 2 5593748469660065637.885187837306804871. HINFO: read udp 10.1.0.27:44025->192.168.65.7:53: i/o timeout
型
2条答案
按热度按时间9nvpjoqh1#
我的工作是在pc启动后重新启动节点,我使用了这样的bat文件
字符串
然后我启动它使用gpedit.exe当开始在pc上工作
sq1bmfud2#
看起来你在使用Strimzi在Kubernetes上部署Kafka时遇到了两个不同的问题,我猜是:
要逐一解决这些潜在问题,请执行以下操作:
Issue 1:Kafka Pod绑定Zookeeper
错误消息“Couldn 't bind to my-cluster-zookeeper-0.my-cluster-zookeeper-headless.Kafka.svc”可能表示服务发现问题。这可能是因为Zookeeper headless服务未正确设置,或者Kafka代理试图绑定到无法解析的主机名。
解决方法:
kubectl get svc -n kafka
检查Zookeeper无头服务,并确保它正确指向Zookeeper pod。server.properties
中的zookeeper.connect
)正确。Issue 2:CoreDNS解析问题
DNS解析问题可能由CoreDNS pod无法连接到Kubernetes API表示。这通常是由于网络配置错误或资源限制。
解决步骤:
kubectl logs -n kube-system -l k8s-app=kube-dns
。其他故障排除步骤:
kubectl describe pod <kafka-pod-name> -n kafka
获取有关Kafka pod无法启动原因的详细日志。kubectl get events -n kafka
。还值得注意的是,Docker Desktop的Kubernetes集群是用于开发目的的,可能与生产集群的行为不同。请确保您使用的是Docker Desktop提供的兼容版本的Strimzi和Kubernetes。
如果这些步骤不能解决问题,请提供其他日志和配置详细信息以进行进一步诊断。