2.部署kafka:9092

news2025/2/26 8:39:28

官方文档:http://kafka.apache.org/documentation.html

(虽然kafka中集成了zookeeper,但还是建议使用独立的zk集群)

Kafka3台集群搭建环境:

操作系统: centos7

防火墙:全关

3台zookeeper集群内的机器,1台logstash

软件版本: zookeeper-3.4.12.tar.gz

软件版本kafka_2.12-2.1.0.tgz

安装软件

(3台zookeeper集群的机器)

# tar xf kafka_2.12-2.1.0.tgz -C /usr/local/

# ln -s /usr/local/kafka_2.12-2.1.0/ /usr/local/kafka

创建数据目录(3台)

# mkdir /data/kafka-logs

修改第一台配置文件

(注意不同颜色标记的部分)

# egrep -v "^$|^#" /usr/local/kafka/config/server.properties

broker.id=1 #当前机器在集群中的唯一标识,和zookeeper的myid性质一样

listeners=PLAINTEXT://192.168.148.141:9092 #监听套接字

num.network.threads=3 #这个是borker进行网络处理的线程数

num.io.threads=8 #这个是borker进行I/O处理的线程数

socket.send.buffer.bytes=102400 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能

socket.receive.buffer.bytes=102400 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘

socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小

log.dirs=/data/kafka-logs #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数

#如果配置多个目录,新创建的topic把消息持久化在分区数最少那一个目录中

num.partitions=1 #默认的分区数,一个topic默认1个分区数

num.recovery.threads.per.data.dir=1 #在启动时恢复日志和关闭时刷新日志时每个数据目录的线程的数量,默认1

offsets.topic.replication.factor=2

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168 #默认消息的最大持久化时间,168小时,7天

message.max.byte=5242880 #消息保存的最大值5M

default.replication.factor=2 #kafka保存消息的副本数

replica.fetch.max.bytes=5242880 #取消息的最大字节数

log.segment.bytes=1073741824 #这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件

log.retention.check.interval.ms=300000 #每隔300000毫秒去检查上面配置的log失效时间,到目录查看是否有过期的消息如果有,删除

zookeeper.connect=192.168.148.141:2181,192.168.148.142:2181,192.168.148.143:2181

zookeeper.connection.timeout.ms=6000

group.initial.rebalance.delay.ms=0

修改另外两台配置文件

#scp /usr/local/kafka/config/server.properties kafka-2:/usr/local/kafka/config/

broker.id=2

listeners=PLAINTEXT://192.168.148.142:9092

# scp /usr/local/kafka/config/server.properties kafka-3:/usr/local/kafka/config/

broker.id=3

listeners=PLAINTEXT://192.168.148.143:9092

启动kafka(3台)

[root@host1 ~]# /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

查看启动情况(3台)

[root@host1 ~]# jps

10754 QuorumPeerMain

11911 Kafka

12287 Jps

创建topic来验证

[root@host1 ~]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.148.143:2181 --replication-factor 2 --partitions 1 --topic cien

出现Created topic "cien"验证成功运行

在一台服务器上创建一个发布者

[root@host2 ~]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.148.141:9092 --topic cien

> hello kafka

> ni hao ya

>

在另一台服务器上创建一个订阅者

[root@host3 ~]# /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.148.142:9092 --topic cien --from-beginning

...

hello kafka

ni hao ya

如果都能接收到,说明kafka部署成功!

[root@host3 ~]# /usr/local/kafka/bin/kafka-topics.sh --zookeeper 192.168.10.23:2181 --list #查看所有topic

[root@host3 ~]# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.10.23:2181 --topic qianfeng #查看指定topic的详细信息

Topic:qianfeng PartitionCount:1 ReplicationFactor:2 Configs:

Topic: qianfeng Partition: 0 Leader: 2 Replicas: 2,3 Isr: 2,3

[root@host3 ~]# /usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 192.168.10.23:2181 --topic qianfeng #删除topic

Topic qianfeng is marked for deletion.

Note: This will have no impact if delete.topic.enable is not set to true.

配置elfk集群订阅和zookeeper和kafka

配置第一台logstash生产消息输出到kafka

yum -y install wget

wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm

yum localinstall jdk-8u341-linux-x64.rpm -y

java -version

1.安装logstash

tar xf logstash-6.4.1.tar.gz -C /usr/local

ln -s /usr/local/logstash-6.4.1 /usr/local/logstash

2.修改配置文件

cd /usr/local/logstash/config/

vim logstash.yml

http.host: "0.0.0.0"

3.编写配置文件

不要过滤, logstash会将message内容写入到队列中

# cd /usr/local/logstash/config/

# vim logstash-kafka.conf

input {
    file {
      type => "sys-log"
      path => "/var/log/messages"
      start_position => beginning
    }
}
output {
    kafka {
      bootstrap_servers => "192.168.148.141:9092,192.168.148.142:9092,192.168.148.143:9092"     #输出到kafka集群
      topic_id => "sys-log-messages"         #主题名称
      compression_type => "snappy"         #压缩类型
      codec =>  "json"
    }
}

启动logstash

# /usr/local/logstash/bin/logstash -f logstash-kafka.conf

在kafka上查看主题,发现已经有了sys-log-messages,说明写入成功了

[root@host2 ~]# /usr/local/kafka/bin/kafka-topics.sh --zookeeper 192.168.148.141:2181 --list

__consumer_offsets

qianfeng

sys-log-messages

[root@host2 ~]# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.148.141:2181 --topic sys-log-messages

Topic:sys-log-messages PartitionCount:1 ReplicationFactor:2 Configs:

Topic: sys-log-messages Partition: 0 Leader: 3 Replicas: 3,2 Isr: 3,2

配置第二台logstash,订阅kafka日志,输出到es集群

# cat kafka-es.conf

input {
	kafka {
		bootstrap_servers => "192.168.148.141:9092,192.168.148.142:9092,192.168.148.143:9092" 
    	topics => "sys-log-messages"          #kafka主题名称
      codec => "json"
    	auto_offset_reset => "earliest"
	}
}

output {
    elasticsearch {
       hosts => ["192.168.148.131:9200","192.168.148.132:9200"]
       index => "kafka-%{type}-%{+YYYY.MM.dd}"
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2306261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot博客系统详解与实现(后端实现)

目录 前言: 项目介绍 一、项目的准备工作 1.1 数据准备 1.2 项目创建 1.3 前端页面的准备 1.4 配置配置文件 二、公共模块 2.1 根据需求完成公共层代码的编写 2.1.1 定义业务状态枚举 2.1.2 统一返回结果 2.1.3 定义项目异常 2.1.4 统一异常处理 三、业…

seacmsv9注入管理员账号密码+orderby+limit

一、网上收集: 海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,采 用的是 php5.Xmysql 的架构,seacmsv9漏洞文件:./comment/api/index.php,漏洞参数…

企业级大模型应用的Java-Python异构融合架构实践

一、后端语言相关技术生态 Python语言 Python在AI计算领域拥有全面的生态支持: 底层工具库: Pandas、NumPy、SciPy、Matplotlib深度学习框架: PyTorch、TensorFlow领域专用框架: HuggingFace Transformers(社区生态为主) 常见Python框架 …

C#连接sql server

连接时,出现如下提示: ERROR [IM014] [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配 原因是odbc的驱动和应用程序的架构不一致。我的odbc如下所示: 显示为64位,而c#程序显…

粉色和紫色渐变壁纸怎么设计?

粉色和紫色的渐变壁纸设计可以打造极为浪漫的氛围,这两种颜色的搭配极具梦幻感与浪漫气息,常被用于各种浪漫主题的设计之中。以下是关于粉色和紫色渐变壁纸的设计方法: 一、渐变方向设计 横向渐变:从画面左侧的粉色过渡到右侧的紫…

AOP基础-01.快速入门

一.AOP 对于统计每一个业务方法的耗时这一操作,如果再业务层的每一个方法前获取方法运行的开始时间,方法结束获取结束时间,然后计算执行耗时,那这样就太繁琐了。能不能定义一个模板方法,使得该方法能够在业务层的方法执…

Go小技巧易错点100例(二十三)

本期分享: 1.Go Module控制Go版本 2.int转string注意事项 3.Go项目查看mod依赖关系 Go Module控制Go版本 当我们开发Go项目涉及到两台及以上的机器,而且它们又刚好是不同操作系统的时候,可能就要把代码挪到另一台机器上重新编译&#xff…

使用Docker Desktop部署GitLab

1. 环境准备 确保Windows 10/11系统支持虚拟化技术(需在BIOS中开启Intel VT-x/AMD-V)内存建议≥8GB,存储空间≥100GB 2. 安装Docker Desktop 访问Docker官网下载安装包安装时勾选"Use WSL 2 instead of Hyper-V"(推荐…

MySQL数据库连接池泄露导致MySQL Server超时关闭连接

前言 最近做项目,发现老项目出现xxx,这个错误其实很简单,出现在MySQL数据库Server端对长时间没有使用的client连接执行清楚处理,因为是druid数据库,且在github也出现这样的issue:The last packet successf…

力扣 下一个排列

交换位置,双指针,排序。 题目 下一个排列即在组成的排列中的下一个大的数,然后当这个排列为降序时即这个排列最大,因为大的数在前面,降序排列的下一个数即升序。所以,要是想找到当前排列的下一个排列&…

事务管理-03.事务进阶-propagation属性

一.工具 在介绍事务的propagation属性前,我们首先介绍一个工具:Grep Console,该工具用来实现将idea输出出的日志信息进行选择性的高亮展示。 当要选择日志中的某一部分高亮展示时,只需要右键点击Add Highlight即可。此时日志中所…

Pretraining Language Models with Text-Attributed Heterogeneous Graphs

Pretraining Language Models with Text-Attributed Heterogeneous Graphs EMNLP 推荐指数:#paper/⭐⭐#​ 贡献: 我们研究了在更复杂的数据结构上预训练LM的问题,即,TAHG。与大多数只能从每个节点的文本描述中学习的PLM不同&…

模型疑问图像、嵌入、推理类型与说明

在进行模型使用的时候,有时候会碰到模型存在模型类型需要选择的情况,如下面deepseek模型选择模型类型图像、嵌入、推理。 以下是针对此问题的了解与说明: DeepSeek 模型是一个多模态人工智能模型,能够同时处理图像和文本数据,并在多种任务中实现高效的嵌入表示和推理。以下…

WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义

继续精读IEEE 802.11-2007 6,MAC service definition MAC服务定义 6.1 MAC服务概述 6.1.1 数据服务 此服务为对等逻辑链路控制(LLC)实体提供交换MAC服务数据单元(MSDU)的能力。为支持此服务,本地媒体访…

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code(简称VS Code)是微软开发的开源跨平台代码编辑器,支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块,可自动生成单元测试代码和API文档注释。 二、下载…

deepseek自动化代码生成

使用流程 效果第一步:注册生成各种大模型的API第二步:注册成功后生成API第三步:下载vscode在vscode中下载agent,这里推荐使用cline 第四步:安装完成后,设置模型信息第一步选择API provider: Ope…

OceanBase + DeepSeek:5分钟免费搭建企业知识库

过去一个月,DeepSeek 在全球范围内引发了热烈讨论。其突破性的 AI 能力使其日流量显著超越 Claude 和 Perplexity,吸引了众多企业和技术专家的高度关注。随着 AI 技术的不断进步,企业正面临一场深刻的智能化变革——如何通过 AI 重构业务&…

水利工程安全包括哪几个方面

水利工程安全培训的内容主要包括以下几个方面: 基础知识和技能培训 : 法律法规 :学习水利工程相关的安全生产法律法规,了解安全生产标准及规范。 事故案例 :通过分析事故案例,了解事故原因和教训&#x…

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…

国产OS上完整编译Qt5.15、搭建基本开发环境需要的库

近期有师弟问我国产OS安装Qt5.15编译老是不完整,不是没声音,就是没视频,或者没有xcb。通过QEMU模拟Arm64,闲来20几天摸索,完整编译了Qt5.15,并编译成功了我的SDR玩具taskBus。 1.主要结论: 该O…