美文网首页
2.kafka部署

2.kafka部署

作者: 呦丶耍脾气 | 来源:发表于2022-12-02 22:18 被阅读0次

kafka生态圈

Apache Kafka

环境

kafka:3.2.1
os:CentOS Linux/7
JDK:1.8.0_291

注意,kafka 3.3.1 要求本地环境安装 Java 8 及以上版本,本文档安装的java11,kafka4.0将会启用java8

安装kafka

 sudo tar zxvf kafka.tgz -C /opt/module/
  • 修改目录名称
sudo mv /opt/module/kafka_2.12-3.3.1 /opt/module/kafka
  • 在/opt/module/kafka目录下创建logs文件夹,在配置汇总修改日志
 mkdir logs
  • 修改配置文件
cd config/
vi server.properties

参考配置文件如下

#broker的全局唯一编号,不能重复,集群的话每个虚拟机不重复
broker.id=0
#删除topic功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径 
log.dirs=/opt/module/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka

接下来,我们启动 broker 的部分,需要按照顺序依次启动 zookeeper 和 kafka server。

  • 后台启动 zookeeper(后续版本可能不再需要 zookeeper)
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties #kafka目录执行
  • 再后台启动 kafka server
bin/kafka-server-start.sh -daemon config/server.properties #kafka目录执
  • 创建topic
    producer 发布的 event 会持久化在对应的 topic 中,才能路由给正确的 consumer。所以,在读写 event 之前,我们需要先创建 topic。


执行以下命令:

# 创建topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
# 查询topic  
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
bin/kafka-topics.sh  --bootstrap-server localhost:9092 --list
# 删除topic  
bin/kafka-topics.sh --delete --topic quickstart-events #需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启 
#修改topic



partition:分区索引,注:分区数修改的只能+不能-
leader:1代表kafka配置中设置的broker.id
Replicas:1 代表开启的副本数【kafka服务】对应的broker.id

  • 读写event
    接下来我们用 kafka 自带的 console-consumer 和 console-producer 读写 event。
    使用 console-producer 写 event 时,我们每输入一行并回车,就会向 topic 写入一个 event。
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092

ctrl+c退出
接着,我们使用 console-consumer 读 event。可以看到,刚写的 event 被读到了。
#--from-beginning代表从开始读取,即开启之前的也会读取
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

我们可以在两个会话中保持 producer 和 consumer 不退出,当我们在 producer 写入 event 时, consumer 将实时读取到。


  • 关闭kafka
bin/kafka-server-stop.sh

Kafka命令
kafka-topics.sh --zookeeper hadoop102:2181 --list

docker中安装

可以参考docker仓管库kafka

  • 创建一个网络

app-tier:网络名称
–driver:网络类型为bridge

docker network create app-tier --driver bridge
  • 安装zookeeper

kafka依赖zookeeper所以先安装zookeeper
-p:设置映射端口(默认2181)
-d:后台启动

docker run -d --name zookeeper-server \
    --network app-tier \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest
  • 安装Kafka

–name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动
ALLOW_PLAINTEXT_LISTENER任何人可以访问
KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_ADVERTISED_HOST_NAME当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \

docker run -d --name kafka-server \
    --network app-tier \
    -p 9092:9092 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.172.131:9092 \
    bitnami/kafka:latest
  • 进入kafka容器就可以执行操作,目录在 /opt/bitnami/kafka
  • kafka-map图形化管理工具

访问地址:http://服务器IP:9002/
DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin
Git 地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md

docker run -d --name kafka-map \
    --network app-tier \
    -p 9002:8080 \
    -v /home/yzj/kafka-map/data:/usr/local/kafka-map/data \
    -e DEFAULT_USERNAME=admin \
    -e DEFAULT_PASSWORD=admin \
    --restart always dushixiang/kafka-map:latest

相关文章

  • 2.kafka部署

    kafka生态圈 Apache Kafka[https://cwiki.apache.org/confluence...

  • Kafka的安装和使用

    一、Kafka的安装: 1.准备工作: 安装jdk 安装Zookeeper 2.Kafka集群部署: 1)解压安装...

  • Kafka总结

    1.概念、消息队列定义、通信方式 2.kafka架构、组成; 3.集群安装部署; 4.工作流程分析(生产、保存、消...

  • 2.kafka架构简介

    目录 1 架构介绍1.1 概念介绍2 Producer消息路由3 Consumer Group4 Push vs....

  • Kafka Manager安装

    Kafka Manager安装 1.sbt安装 官方安装说明 验证安装 2.Kafka Manager安装 获取安...

  • 考点

    1.hive 开窗函数 udf 写sql 调优2.kafka 两种模式 offset保存3.sparkstream...

  • Kafka安装(0.9.0.0)与升级(0.9.0.0升级0.1

    1.安装zookeeper 2.kafka安装 2.1准摆好三台机器,安装好JDK1.8 + centos6.7,...

  • Go每日精选(2019-06-27)

    1.Golang 大杀器之性能剖析 PProf 2.Kafka 集群 Golang 应用实例 3.高并发下如何缩短...

  • MQ

    1. 消息队列的通信模型 点对点模式 发布/订阅 2.kafka使用场景 消息队列 追踪网站活动 Metrics(...

  • kafka开启不了的问题

    1.zookeeper有两个,开始的那个zookeeper没关闭,不能开启现在的这个2.kafka 下面的serv...

网友评论

      本文标题:2.kafka部署

      本文链接:https://www.haomeiwen.com/subject/xabdfdtx.html