|NO.Z.00276|——————————|CloudNative|——|KuberNetes&中间件容器化及helm.V23|——|中间件.v03|helm.v3.5.4|集群测试|zookeeper&kafka|
一、kafka和zookeeper集群测试
### --- 查看kafka和zookeeper集群状态
[root@k8s-master01 zookeeper-kafka]# kubectl get po -n public-service -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kafka-0 1/1 Running 0 28m 172.17.125.23 k8s-node01 <none> <none>
zookeeper-0 1/1 Running 0 95m 172.27.14.246 k8s-node02 <none> <none>
[root@k8s-master01 zookeeper-kafka]# kubectl get svc -n public-service -owide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kafka ClusterIP 10.111.68.94 <none> 9092/TCP 46m app.kubernetes.io/component=kafka,app.kubernetes.io/instance=kafka,app.kubernetes.io/name=kafka
kafka-headless ClusterIP None <none> 9092/TCP,9093/TCP 46m app.kubernetes.io/component=kafka,app.kubernetes.io/instance=kafka,app.kubernetes.io/name=kafka
zookeeper ClusterIP 10.107.222.142 <none> 2181/TCP,2888/TCP,3888/TCP 95m app.kubernetes.io/component=zookeeper,app.kubernetes.io/instance=zookeeper,app.kubernetes.io/name=zookeeper
zookeeper-headless ClusterIP None <none> 2181/TCP,2888/TCP,3888/TCP 95m app.kubernetes.io/component=zookeeper,app.kubernetes.io/instance=zookeeper,app.kubernetes.io/name=zookeeper
[root@k8s-master01 zookeeper-kafka]# kubectl get ep -n public-service -owide
NAME ENDPOINTS AGE
kafka 172.17.125.23:9092 47m
kafka-headless 172.17.125.23:9092,172.17.125.23:9093 47m
zookeeper 172.27.14.246:3888,172.27.14.246:2181,172.27.14.246:2888 95m
zookeeper-headless 172.27.14.246:3888,172.27.14.246:2181,172.27.14.246:2888 95m
二、kafka和zookeeper集群测试
### --- 测试zookeeper的2181端口是否是通的
[root@k8s-master01 zookeeper-kafka]# telnet 10.107.222.142 2181
Trying 10.107.222.142...
Connected to 10.107.222.142.
Escape character is '^]'.
### --- 查看kafka有没有服务连接到zookeeper上
~~~ 注:可以看到打开了一个socket连接,
~~~ 连接到了zookeeper/10.107.222.142:2181上(上面查到的service的地址)
[root@k8s-master01 zookeeper-kafka]# kubectl logs -f kafka-0 -n public-service
[2021-05-22 10:33:48,900] INFO Opening socket connection to server zookeeper/10.107.222.142:2181. Will not attempt to authenticate using SASL (unknown error) (org.apache.zookeeper.ClientCnxn)
[2021-05-22 10:33:48,934] INFO Socket connection established, initiating session, client: /172.17.125.23:53242, server: zookeeper/10.107.222.142:2181 (org.apache.zookeeper.ClientCnxn)
[2021-05-22 10:33:48,963] INFO Session establishment complete on server zookeeper/10.107.222.142:2181, sessionid = 0x100006a18c00002, negotiated timeout = 18000 (org.apache.zookeeper.ClientCnxn
三、kafka集群准备就绪,进行如下测试
### --- 使用以下命令创建名为mytopic的主题。
~~~ 将ZOOKEEPER-SERVICE-NAME占位符替换为在步骤1结束时获得的Apache Zookeeper服务名称:
~~~ 进入到容器中,创建一个producer:生产者:是没有提示信息的
[root@k8s-master01 kafka]# kubectl exec -ti kafka-0 -n public-service -- bash
I have no name!@kafka-0:/$ kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic mytopic
message 1
message 2
### --- 创建一个consumer:消费者:另起一个窗口
~~~ 注:说明这个集群是可以使用的,它的消息队列是可以使用的。
~~~ # 生产环境中:可以最少3个节点,奇数个节点,不可以使用偶数个节点
[root@k8s-master01 kafka]# kubectl exec -ti kafka-0 -n public-service -- bash
I have no name!@kafka-0:/$ kafka-console-producer.sh --broker-list kafka:9092 --topic mytopic
>message 1
>message 2
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了