本文介绍: 在安装一个kafka-webmetadata:labels:spec:selector:template:metadata:labels:spec:env:value: ‘可以自定义名字 Kafka Cluster’resources:requests:ports:—metadata:spec:selector:ports:port: 8080。
-
KRaft 模式是 Kafka 在 3.0 版本中引入的新模式。KRaft 模式使用了 Raft 共识算法来管理 Kafka 集群元数据。Raft 算法是一种分布式共识算法,具有高可用性、可扩展性和安全性等优势。
-
在 KRaft 模式下,Kafka 集群中的每个 Broker 都具有和 Zookeeper 类似的角色。每个 Broker 都参与管理 Kafka 集群元数据,包括分区分配、副本分配、元数据快照等。
Zookeeper 模式和KRaft 模式 对比
特性 | KRaft 模式 | Zookeeper 模式 |
---|---|---|
使用共识算法 | Raft | Zookeeper |
可用性 | 高 | 高 |
扩展性 | 高 | 高 |
安全性 | 高 | 高 |
复杂度 | 低 | 高 |
KRaft 模式的优势
KRaft 模式具有以下优势:
- 更简单:KRaft 模式将 Kafka 集群元数据管理整合到了 Kafka 中,因此不需要使用外部服务,这使得 Kafka 集群的部署和管理更加简单。
更高效:KRaft 模式使用了 Raft 算法来管理 Kafka 集群元数据,Raft 算法具有更高的效率,因此 Kafka 集群的性能可以得到提升。
更可靠:KRaft 模式使用了 Raft 算法来管理 Kafka 集群元数据,Raft 算法具有更高的可靠性,因此 Kafka 集群的稳定性可以得到提升。
helm安装
helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/kafka --untar
helm install kafka kafka --values ./kafka/values.yaml
--set replicaCount=1
--set kafka.kafkaConfigOverrides=transaction.state.log.replication.factor=1
--set kafka.kafkaConfigOverrides=transaction.state.log.min.isr=1
--set kafka.kafkaConfigOverrides=default.replication.factor=1
--set kafka.kafkaConfigOverrides=num.io.threads=2
--set kafka.kafkaConfigOverrides=num.network.threads=2
--set kafka.kafkaConfigOverrides=inter.broker.protocol.version=3.5.1
--set kafka.kafkaConfigOverrides=offsets.topic.replication.factor=1
--set kafka.kafkaConfigOverrides=transaction.state.log.num.partitions=50
最后得到
kafka-controller-0.kafka-controller-headless.openim-dev.svc.cluster.local:9092
kafka-controller-1.kafka-controller-headless.openim-dev.svc.cluster.local:9092
kafka-controller-2.kafka-controller-headless.openim-dev.svc.cluster.local:9092
The CLIENT listener for Kafka client connections from within your cluster have been configured with the following security settings:
- SASL authentication
To connect a client to your Kafka, you need to create the 'client.properties' configuration files with the content below:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-256
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required
username="user1"
password="$(kubectl get secret kafka-user-passwords --namespace openim-dev -o jsonpath='{.data.client-passwords}' | base64 -d | cut -d , -f 1)";
在安装一个kafka-web
apiVersion: apps/v1
kind: Deployment
metadata:
name: kafka-ui
labels:
app: kafka-ui
spec:
replicas: 1
selector:
matchLabels:
app: kafka-ui
template:
metadata:
labels:
app: kafka-ui
spec:
containers:
- name: kafka-ui
image: provectuslabs/kafka-ui:latest
env:
- name: KAFKA_CLUSTERS_0_NAME
value: '可以自定义名字 Kafka Cluster'
- name: KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS
value: 'kafka-controller-0:9092,kafka-controller-1:9092,kafka-controller-2:9092'
- name: KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL
value: 'SASL_PLAINTEXT'
- name: KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM
value: 'PLAIN'
- name: KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG
value: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="user1" password="19fJTxgwnD";'
resources:
requests:
memory: "256Mi"
cpu: "100m"
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: kafka-ui
spec:
selector:
app: kafka-ui
type: NodePort
ports:
- protocol: TCP
port: 8080
targetPort: 8080
原文地址:https://blog.csdn.net/weixin_42562106/article/details/135511354
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_55105.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。