kafka3.4.0单机环境搭建

kafka3.4.0单机环境搭建(请替换{CONFIG_PATH}为真实路径)

一.SASL_TEXTPLAIN认证模式

1.创建kafka_server_jaas.conf

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-secret"
    user_admin="admin-secret" //这里的用户和密码必须和上面配置的username、password一致
    user_alice="alice-secret";
};

2.配置server.properties,在文件最后追加如下参数

listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

3.创建client_kafka.properties

sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
    username="alice" \
    password="alice-secret";
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN

4.修改kafka启动脚本kafka-server-start.sh

export KAFKA_OPTS="-Djava.security.auth.login.config={CONFIG_PATH}/kafka_server_jaas.conf"

此处配置的用户名和密码要和kafka_server_jaas.conf保持一致

5.启动环境验证

  1. 启动zookeeper

    bin/zookeeper-server-start.sh zookeeper.properties
    
  2. 启动kafka

    bin/kafka-server-start.sh {CONFIG_PATH}/server.properties
    
  3. 测试生产和消费

    bin/kafka-topics.sh --bootstrap-server=localhost:9092 --create --topic test --command-config {CONFIG_PATH}/client_kafka.properties
    bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092  --producer.config {CONFIG_PATH}/client_kafka.properties
    bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092  --consumer.config {CONFIG_PATH}/client_kafka.properties
    

一.SASL_SCRAM ACL认证模式

1.创建用户

bin/kafka-configs.sh --zookeeper localhost:2181  --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=alice-secret],SCRAM-SHA-512=[pass
word=alice-secret]' --entity-type users --entity-name alice
bin/kafka-configs.sh --zookeeper localhost:2181  --alter --add-config 'SCRAM-SHA-256=[password=admin-secret],SCRAM-SHA-512=[password=admin-secre
t]' --entity-type users --entity-name admin

2.查看用户

bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-type users --entity-name alice

bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-type users --entity-name admin

3.创建kafka_server_jaas.conf

KafkaServer {
    org.apache.kafka.common.security.scram.ScramLoginModule required
    username="admin"
    password="admin-secret";
};

4.修改kafka启动脚本kafka-server-start.sh

export KAFKA_OPTS="-Djava.security.auth.login.config={CONFIG_PATH}/kafka_server_jaas.conf"

5.配置server.properties,在文件最后追加如下参数

listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=SCRAM-SHA-512
sasl.enabled.mechanisms=SCRAM-SHA-512
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:admin;User:alice

6.创建client_kafka.properties

sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
    username="alice" \
    password="alice-secret";
security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512

7.启动环境验证

  1. 启动zookeeper

    bin/zookeeper-server-start.sh zookeeper.properties
    
  2. 启动kafka

    bin/kafka-server-start.sh {CONFIG_PATH}/server.properties
    
  3. 管理员测试生产和消费

    bin/kafka-topics.sh --bootstrap-server=localhost:9092 --create --topic test --command-config {CONFIG_PATH}/client_kafka.properties
    bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092  --producer.config {CONFIG_PATH}/client_kafka.properties
    bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092  --consumer.config {CONFIG_PATH}/client_kafka.properties
    
  4. 普通用户测试消费

    1. 创建普通用户

      bin/kafka-configs.sh --zookeeper localhost:2181  --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=test123456],SCRAM-SHA-512=[password=test123456]' --entity-type users --entity-name test
      
    2. 授权

      bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:test  --allow-host 127.0.0.1  --operation Read --operation Write --topic test --command-config={CONFIG_PATH}/client_kafka.properties
      bin/kafka-acls.sh --bootstrap-server localhost:9092 --add --allow-principal User:test  --allow-host 127.0.0.1  --operation All --group test --command-config={CONFIG_PATH}/client_kafka.properties ```
      
    3. 创建client_kafka_test.properties

      sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
      username="test" \
      password="test123456";
      security.protocol=SASL_PLAINTEXT
      sasl.mechanism=SCRAM-SHA-512
      
    4. 测试消费

      bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092  --consumer.config {CONFIG_PATH}/client_kafka_test.properties
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Kafka 3.4.0 是一个比较老的版本,但是参数调优的方法基本上和较新版本相同。下面是一些可以考虑的参数调优: 1. 增加分区数:增加分区数可以提高 Kafka 集群的吞吐量。但是,增加分区数也会增加管理和维护的复杂性。在增加分区数之前,需要评估分区数对集群的影响。 2. 调整副本数:副本数决定了数据的冗余度,也影响了 Kafka 集群的可用性。增加副本数可以提高数据的可靠性,但是也会增加网络带宽的使用和磁盘空间的占用。在调整副本数之前,需要评估副本数对集群的影响。 3. 调整 batch.size 和 linger.ms:batch.size 和 linger.ms 参数控制了消息发送的批处理方式。batch.size 参数控制了批处理的消息数量,linger.ms 参数控制了消息在缓冲区中等待的时间。调整这些参数可以提高 Kafka 集群的吞吐量。 4. 增加 JVM 堆内存:Kafka 使用 JVM 运行,因此增加 JVM 堆内存可以提高 Kafka 集群的性能。但是,增加 JVM 堆内存也会增加 GC 的开销。在增加 JVM 堆内存之前,需要评估 JVM 堆内存对集群的影响。 5. 调整网络缓冲区大小:Kafka 使用网络传输消息,因此调整网络缓冲区大小可以提高 Kafka 集群的性能。但是,调整网络缓冲区大小也会增加网络带宽的使用。在调整网络缓冲区大小之前,需要评估网络缓冲区大小对集群的影响。 这些都是一些常见的参数调优方法,但是对于不同的 Kafka 集群,需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值