kafka-1

news2024/12/28 2:45:39

文章目录

    • 1.启动
    • 2.创建主题
    • 3.发送消息
    • 4.消费消息
    • 5.使用kafka connect将现有的数据导入到kafka中
    • 6.使用kafka streams处理kafka中的events
    • 6.终止服务
    • 集群配置要点
      • 创建主题要点
      • 主题分区变更
      • 主题副本可变更吗?
      • 创建生产者要点

> tar -xzf  kafka_2.12-3.3.1.tgz

1.启动

启动zookeeper

 bin/zookeeper-server-start.sh config/zookeeper.properties

查看端口占用

[root@node2 ~]# netstat -ant |grep 2181
tcp6       0      0 :::2181                 :::*                    LISTEN   
或者进程
[root@node2 ~]# ps -ef |grep zookeeper

启动kafka server

bin/kafka-server-start.sh config/server.properties

2.创建主题

创建主题

$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092


查看主题

[root@node2 kafka_2.12-3.3.1]# bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
Topic: quickstart-events        TopicId: 5zoNk2alQ4C1X3qhxVsndw PartitionCount: 1       ReplicationFactor: 1    Configs: 
        Topic: quickstart-events        Partition: 0    Leader: 0       Replicas: 0     Isr: 0
[root@node2 kafka_2.12-3.3.1]# 

3.发送消息

发送消息

 [root@node2 kafka_2.12-3.3.1]# bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
>abc
>hello world
>

4.消费消息

消费消息

[root@node2 kafka_2.12-3.3.1]# bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootap-server localhost:9092
abc
hello world

5.使用kafka connect将现有的数据导入到kafka中

在这里插入图片描述
修改 config/connect-standalone.properties

plugin.path=libs/connect-file-3.3.1.jar

在xxx/kafka_2.12-3.3.1目录下创建test.txt

echo -e "foo\nbar" > test.txt

启动

> bin/connect-standalone.sh config/connect-standalone.properties config/connect-file-source.properties config/connect-file-sink.properties

这个命令会创建两个connector,
一个是source connector:读取test.txt中内容到topic:connect-test中,
一个是sink connector,将connect-test主题中的内容读出,并写出到test.sink.txt文件中
[root@node2 kafka_2.12-3.3.1]# more test.sink.txt 
foo
bar


如果想看connect-test主题中的内容,可以启动个消费监听

[root@node2 kafka_2.12-3.3.1]# bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic connect-test --from-beginning
{"schema":{"type":"string","optional":false},"payload":"foo"}
{"schema":{"type":"string","optional":false},"payload":"bar"}

且这个通道是时时的,当我们追加内容到源头的时候

echo Another line>> test.txt

新的数据又会输出到test.sink.txt 中

6.使用kafka streams处理kafka中的events

6.终止服务

0.首先将生产者和消费者停止
1.先停止kafka broker
2.再停止zookeeper
删除数据

rm -rf /tmp/kafka-logs /tmp/zookeeper

集群配置要点

启动集群,server.properties中主要要注意如下三个配置

broker.id=0    --集群的每个id都要不同

log.dirs=/tmp/kafka-logs   ---默认都配置到了tmp下,要自定义路径

zookeeper.connect=localhost:2181   ---真实场景需要连接zk集群,且建议不要放在zk根节点下

如下所示,将zookeeper.connect配置到zk集群的kafka节点下
在这里插入图片描述
通过脚本启动集群
https://www.bilibili.com/video/BV1vr4y1677k?p=7&spm_id_from=pageDriver&vd_source=867fa98b57c5df7e6cb7e8f3ad59fd84

kafka-console-producer.sh 生产者端脚本
kafka-console-consumer.sh 消费者端脚本

创建主题要点

kafka-topics.sh 集群管理topic脚本
常参数在这里插入图片描述
假设有100T的数据,分成3个分区存储,那一个分区大概是33T;每个分区中,又会将数据按照一块一块进行存储,每一块默认是1G
在这里插入图片描述

主题分区变更

如何对topic的分区数进行变更?
topic的partitions只能增加不能减少,更改命令:
在这里插入图片描述

主题副本可变更吗?

不可以通过命令的方式进行副本变更

创建生产者要点

bin/kafka-console-producer.sh 回车,就可以看到命令的使用说明

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

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

相关文章

Mac生成和查看ssh key

从 git 上拉取或者提交代码每次都需要输入账号密码,这样很麻烦。我们可以在电脑上生成一个 ssh key,然后把ssh key添加到 git 中,就可以不用每次去输账号密码了。下面就介绍一下怎么在自己的 Mac 中生成和查看 ssh key。一、Mac生成SSH Key打…

【环境】idea远程debug

工作中,遇到问题的时候,想知道上下文中对应的参数值是什么?这时候,1、我们可以全靠逻辑分析。费脑,不一定对。2、打印日志,打印的信息不一定全,换包,麻烦3、远程debug。 1、配置ide…

pytorch二维码识别

二维码图片的生成 利用captcha可以生成二维码图片 # -*- coding: UTF-8 -*- from captcha.image import ImageCaptcha # pip install captcha from PIL import Image import random import time import os # 验证码中的字符 # string.digits string.ascii_uppercase NUMBER…

整理了一周近万字讲解linux基础开发工具vim,gdb,gcc,yum等的使用

文章目录 前言一、yum的使用二、vim的使用三 . gcc/g的使用四 . gdb的使用总结前言 想用linux开发一些软件等必须要会的几种开发工具是必不可少的,在yum vim gcc gdb中指令繁杂的是vim和gdb这两个工具,至于yum和gcc的指令就比较简单了。 一、yum的使用…

【SpringMVC】拦截器

目录 一、概念 二、自定义拦截器的三个实现方法 三、自定义拦截器执行流程 四、使用 五、拦截器和过滤器 相关文章(可以关注我的SpringMVC专栏) SpingMVC专栏SpingMVC专栏一、概念在学习拦截器之前,我们得先了解一下它是个什么❓ SpringMVC…

SAP ABAP调用标准事务码

这里介绍常见的几种在开发中常用到的事务代码跳转功能。 1、最常用到的是“SET PARAMETER”语句赋值,然后再使用“CALL TRANSACTION”语句跳转屏幕。 比如采购订单、销售订单、交货单、采购发票、销售发票等事务代码,均可以利用给参数赋值来直接跳转&am…

零售及仓储数字化整理解决方案

价格管控 皮克价格管控方案可实现门店与企业信息管理平台的数据同步,强化零售企业对终端的控制。同时为企业销售决策提供支持,优化门店经营活动的效率和频率。陈列管理 皮克陈列管理方案通过电子价签产品使商品陈列得到固化。 同时实现了陈列可视化&am…

ArcGIS水文分析提取河网及流域

在进行某些研究或者一些论文插图显示的时候,有时我们会碰到在部分资料中找不到一些小的河流或者流域的数据的情况,这里讲述通过DEM数据生成河网及流域。 一、数据来源 四川省高程数据来源于中国科学院资源环境科学与数据中心(中国科学院资源环…

Vue3学习之深度剖析CSS Modules和Scope

Css Modules 是通过对标签类名进行加装成一个独一无二的类名,比如.class 转换成.class_abc_123,类似于symbol,独一无二的键名 Css Scope 是通过为元素增加一个自定义属性,这个属性加上独一无二的编号,而实现作用域隔离。 原理 …

爬虫必备抓包工具——Fiddler【认识使用】

目录:1.fiddler (抓包工具)1.1 引入:HTTP/https代理(正向代理)1.2 拓展:反向代理:1.2 初识Fiddler①什么是抓包?抓包有什么用?②浅谈fiddler:③fi…

Unity_Skybox自定义插件可实现日夜更替Polyverse Skies | Low Poly

又又一个天空盒,不过这个做的还是比较完善的。。。不会出现买家秀和买家秀差别大问题 此Skybox插件特色提供: 可扩展,自定义很多的Skybox Shader预制体几个,虽然都是夜晚样式(缺白天)若干预设值</

对NIO和BIO的进一步理解

疑问 在之前的学习中&#xff0c;只提到BIO是阻塞IO&#xff0c;在建立连接和读写事件时会阻塞线程。NIO是非阻塞IO&#xff0c;基于事件注册&#xff0c;通过Selector进行切换Channel&#xff0c;不会阻塞线程。对于这种解释&#xff0c;还是带有一些疑问的。Selector进行Cha…

#define 实现快捷模板类实例在eigen::Maxtrix中的应用

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 背景 在eigen库中&#xff0c;矩阵类原来的用法是 Matrix<Type, row, col>。 为了方便用户&#xff0c;库中还提供了用户常用的快捷类型&#xff0c;比如Matrix…

Java-String的API

一、length()package 做题; import java.lang.reflect.Array; import java.security.PublicKey; import java.util.Arrays; import java.util.Scanner;import javax.naming.StringRefAddr;public class Main {public static void main(String[] args) {Scanner sc new Scanne…

ZeroTierr的moon云服务器搭建和使用

搭建moon 问题是ZeroTier One本身的服务器都在国外访问速度很慢。可以通过搭建国内Moon服务加速解决连接慢的问题。 1、 进入云服务器在线安装zerotier curl -s https://install.zerotier.com/ | sudo bash查看安装zerotier版本 sudo zerotier-cli status安装完成后生成moon…

从0到1完成一个Vue后台管理项目(二十二、列表拖拽排序SortableJS)

往期 从0到1完成一个Vue后台管理项目&#xff08;一、创建项目&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;二、使用element-ui&#xff09; 从0到1完成一个Vue后台管理项目&#xff08;三、使用SCSS/LESS&#xff0c;安装图标库&#xff09; 从0到1完成一个Vu…

Python WebGL 3D应用开发快速入门

在本文中&#xff0c;我们将学习如何在Python中使用three.js库&#xff0c;而无需编写任何一行 JavaScript。我们将使用PyWeb3D&#xff0c;这是一个额外的层&#xff0c;旨在与Brython的three.js轻松交互。 1、什么是PyWeb3D&#xff1f; 简单地说&#xff0c;PyWeb3D是一个…

现代JavaScript,你应该使用的10件事

javascripttip&#xff08;3 部分系列&#xff09;1现代 JavaScript&#xff0c;你应该使用的 10 件事&#xff0c;从今天开始2了解如何在 JavaScript 中使用循环3如何在 JavaScript 中学习足够多的 RegEx 才能变得危险您可能对 JavaScript 完全陌生&#xff0c;也可能多年来只…

文件学习笔记

删除线格式 ## 文件描述符 1.文件文件内容文件属性。 2.文件操作文件内容的操作文件属性的操作。 3.所谓的“打开”文件&#xff0c;是指将文件的属性或内容加载到内存中—这是由冯诺依曼决定。 4.所以文件不全打开&#xff0c;不打开的文件放在磁盘存储。 5.内存文件&#xff…

在线教育-谷粒学院学习笔记(三)

文章目录1 搭建前端项目环境2 前端页面框架介绍3 讲师管理前端开发4 后台系统登录功能改造到本地5 前端框架开发过程6 讲师列表前端实现7 讲师分页前端实现8 讲师条件查询前端实现9 讲师删除功能前端实现10 讲师添加前端实现11 讲师修改前端实现12 前端路由切换问题解决1 搭建前…