kafka3.6单机部署


前言

部署Kafka之前,我们需要了解其背景和意义。Kafka是一个开源的分布式流处理平台,主要用于构建实时数据流管道和应用。它可以处理高速数据流,并支持发布和订阅模式。Kafka广泛应用于日志收集、流处理、消息队列等领域,具有高吞吐量、可扩展性、可靠性和容错性等优点。

随着大数据和云计算技术的发展,数据量呈爆炸式增长,传统的数据处理方式已经无法满足需求。Kafka的出现为大数据处理带来了新的解决方案,它能够快速处理海量数据,提供实时的数据流服务。因此,部署Kafka对于企业来说具有重要的意义。

在部署Kafka之前,我们需要对系统环境、硬件配置、网络环境等进行充分的评估和准备。同时,还需要选择合适的版本和安装方式,如单机版、集群版等。此外,还需要考虑如何配置Kafka的参数,如副本因子、分区数等,以满足实际需求。

在部署过程中,我们需要注意一些关键点,如如何安装Kafka、如何配置Kafka的参数、如何启动和停止Kafka等。此外,还需要关注Kafka的监控和维护,以确保其稳定运行和性能优化。

总之,部署Kafka是一项重要的任务,需要充分准备和考虑各种因素。只有选择合适的版本和配置,并进行充分的测试和监控,才能保证Kafka的稳定运行和高性能表现。


一、kafka单机部署

tar -xzf kafka_2.12-3.6.1.tgz
cd kafka_2.12-3.6.1
# Start the ZooKeeper service
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# Start the Kafka broker service
./bin/kafka-server-start.sh -daemon config/server.properties

二、配置认证

1.SASL/PLAIN

kafka的用户认证,是基于java的jaas。所以我们需要先添加jaas服务端的配置文件。在kafka_home/config/kafka_server_jaas.conf中添加以下配置信息:

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-secret"
    user_admin="admin-secret"
    user_alice="alice-secret";  
};

这里会让人疑惑的,应该是user_admin和user_alice这两个属性了。这个其实是用来定义用户名和密码的,形式是这样:user_userName=password。所以这里其实是定义了用户admin和用户alice的密码。

写完配置后,需要在kafka的配置中添加jaas文件的路径。在kafka_home/bin/kafka-run-class.sh中,找到下面的配置,修改KAFKA_OPTS到配置信息。

# Generic jvm settings you want to add
if [ -z "$KAFKA_OPTS" ]; then
  KAFKA_OPTS=""
fi

将上述修改为

# Generic jvm settings you want to add
if [ -z "$KAFKA_OPTS" ]; then
  KAFKA_OPTS="-Djava.security.auth.login.config=kafka_home/config/kafka_server_jaas.conf"
fi

最后修改kafka_home/config/server.properties:

listeners=SASL_PLAINTEXT://host.name:port
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

2.kafka自带的生产和消费客户端工具配置认证

比如下面的客户端工具:

  • kafka-console-consumer.sh
  • kafka-console-producer.sh
  • kafka-consumer-groups.sh

针对kafka-console-consumer.sh和kafka-console-producer.sh,可以在consumer.properties和producer.properties,加入下面的内容:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username=“admin” password=“admin-secret”;

目的是让客户端启动时带上身份信息,也就是它使用的用户名和密码
使用kafka-console-consumer.sh时,增加–consumer.config ./config/consumer.properties
使用kafka-console-producer.sh时,增加–producer.config ./config/producer.properties
其他同理,在常用命令中有样例


三、常用命令

查看主题消息数
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list node7:9092 --time -1 --topic vastbase.tpcc.site_visit --command-config ./config/consumer.properties

查看所有主题
bin/kafka-topics.sh --topic vastbase.tpcc.site_visit --bootstrap-server node7:9092 --command-config ./config/consumer.properties --list

查看主题消息
bin/kafka-console-consumer.sh --bootstrap-server node7:9092 --topic vastbase.tpcc.site_visit --from-beginning --consumer.config ./config/consumer.properties


结尾

  • 感谢大家的耐心阅读,如有建议请私信或评论留言。
  • 如有收获,劳烦支持,关注、点赞、评论、收藏均可,博主会经常更新,与大家共同进步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xd聊架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值