【物联网】Qinghub Kafka 数据采集

news2024/7/6 17:47:01

基础信息

组件名称 : kafka-connector
组件版本: 1.0.0
组件类型: 系统默认
状 态: 正式发布
组件描述:通用kafka连接网关,消费来自kafka的数据,并转发给下一个节点做相关的数据解析。

配置文件:

注: 配置文件仅供修改升级组件式利用,一般情况下对用户透明。无需做任何更改,除非用户需要手动维护组件心跳或通信端口时,一般情况下禁止修改。

df:
  component:
  	##全局参数
    name: tcp-connector
    type: 2                               #1:采集器;2:接收器;3:转换器;4:存储器;5:解析器;6:状态解析器:7:同步器;8:消息通知
    transportPort: 49096                  #内部akka
    heartbeatCron: 0/30 * * ? * * *       #网关心跳数据上报时间
    ##全局参数结束
    ##组件参数
    parameter:
      connection[0]:
        name: TCP服务端口号
        key: tcp.port
        required: true
        default-value: 16060
        input-type: input
        description: TCP服务占用的端口
        value-type: int
      base[0]:
        name: 数据包类型
        key: tcp.packet.type
        required: true
        default-value: 1
        value-type: int
        input-type: select
        select-option: 字符串类型|1,字节类型|2
      base[1]:
        name: 数据包固定分割字节数组ASCII值
        key: tcp.delimiter
        required: false
        default-value: 13,10
        input-type: input
        description: TCP数据包固定分割符十进制ASCII值,多个用英文,分割
        value-type: string
      base[2]:
        name: Byte类型数据包长度字节数
        key: tcp.length.field.length
        required: false
        default-value: 2
        input-type: input
        description: 整个Byte类型的TCP数据包,包长度字节段一共有几个字节,用于长度拆包模式
        value-type: int
      base[3]:
        name: Byte类型数据包长度数据段起始位置偏移
        key: tcp.length.field.offset
        required: false
        default-value: 0
        input-type: input
        description: 长度字节段在整个数据包中从起始位置的偏移,用于长度拆包模式
        value-type: int
      base[4]:
        name: Byte类型数据包长度含义
        key: tcp.length.meaning
        required: false
        default-value: 1
        input-type: select
        select-option: 长度字节后数据长度|1,整个TCP包长度|2
        description: 数据包中字节长度的含义,是长度字节后面的字节长度,还是整个TCP包的长度
        value-type: int
      advance[0]:
        name: 连接最大空闲时间秒数
        key: tcp.timeout.seconds
        required: false
        value-type: int
        default-value: 60
        input-type: input
        description: TCP连接最大空闲时间,单位秒,默认60秒
      advance[1]:
        name: TCP包每一帧最大字节数
        key: tcp.max.frame.length
        required: false
        value-type: int
        default-value: 2048
        input-type: input
        description: TCP包每一帧最大字节数,超过最大字节数会丢弃数据并关闭连接,默认2048

组件测试

针对所有网关,操作方式均为,拖动网关-》配置网关-》启动网关

  1. 配置网关

image.png

  1. 参数说明

image.png
image.png
image.png

  1. 启动网关

注意观察执行日志,确保网关正常运行,状态status 字段为1时表示正常运行中
image.png

  1. 测试验证

1)前提准备:
已经安装好kafka 节点并一正常启动,测试环境kafka信息如下:

IP: 192.168.3.195
PORT: 19092
用户/密码: NONE

2)配置参数
image.png
我们只关注到主要的配置信息。高级配置保持默认即可。
3)启动网关
确保kafka-connector已经正常启动image.png
通过kafka客户端直接发送测试数据:

/opt/kafka_2.13-3.3.1/bin
[develop@itserver01 bin]$ ./kafka-console-producer.sh --broker-list 192.168.3.195:19092 --topic test-topic

4)状态确认
使用TCP 测试工具连接tcp-connector并发送数据执行测试
观察tcp-connector网关日志信息确认是否成功
image.png
如果收到与发送的消息一致即配置成功。

注意:这里返回消息日志中大量的null,请不用关注,在整个架构设计中,我们数据发送的格式全都采用的统一的格式,而所有结构网关类型的组件上传的数据完全不关心数据格式,只负责转发数据,由其他对应的组件做相关的数据处理。

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

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

相关文章

http模块 获取http请求报文中的路径 与 查询字符串

虽然request.url已包含属性和查询字符串,但使用不便,若只需其中一个不好提取,于是用到了如下路径和字符串的单独查询方法: 一、获取路径 例如:我在启动谷歌端口时输入http://127.0.0.1:9000 后接了 "/search?k…

Docker 搭建Redis集群

目录 1. 3主3从架构说明 2. 3主3从Redis集群配置 2.1关闭防火墙启动docker后台服务 2.2 新建6个docker容器实例 2.3 进去任意一台redis容器,为6台机器构建集群关系 2.4 进去6381,查看集群状态 3. 主从容错切换迁移 3.1 数据读写存储 3.1.1 查看…

27---eMMC电路设计

视频链接 eMMC电路设计01_哔哩哔哩_bilibili eMMC电路设计 1、eMMC简介 eMMC叫嵌入式多媒体卡,英文全称为Embedded Multi Media Card。是一种闪存卡(Flash Memory Card)标准,它定义了MMC的架构以及访问Flash Memory的接口和协…

Linux 搭建jenkins docker

jekin docker gitee docker 安装 jenkins docker run -d --restartalways \ --name jenkins -uroot -p 10340:8080 \ -p 10341:50000 \ -v /home/docker/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker je…

【双指针】Leetcode 盛最多水的容器

题目解析 11. 盛水最多的容器 木桶效应&#xff0c;寻找一个区间使得这个区间的体积最大 算法讲解 1. 暴力枚举 遍历这个容器&#xff0c;将每一个区间的体积求出来&#xff0c;然后找出最大的 class Solution { public:int maxArea(vector<int>& height){int n…

SQLite数据库文件损坏的可能几种情况(一)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;十三&#xff09; 下一篇&#xff1a;SQLite使用的临时文件&#xff08;二&#xff09; 概述 SQLite数据库具有很强的抗损坏能力。如果应用程序崩溃&#xff0c…

如何在内网访问其他电脑?

网络的发展使得人与人之间的通信变得更加便捷&#xff0c;而在公司或者家庭中&#xff0c;也经常遇到需要内网访问其他电脑的需求。内网访问其他电脑可以实现在局域网内部进行数据共享、文件传输、远程控制等操作&#xff0c;提高工作效率和便利性。本文将介绍内网访问其他电脑…

labelImg | windows anaconda安装labelImg

labelImg 是图片标注软件&#xff0c;用于数据集的制作、标注等等。 下面介绍 labelImg 的安装过程。 用的是 anaconda&#xff0c;所以以 anaconda prompt 作为终端&#xff1a; 在 Anaconda Prompt 中依次运行以下命令&#xff08;注意大小写&#xff09;&#xff1a; pi…

评测 r5 8640HS和i5 12500H选哪个 锐龙r58640HS和酷睿i512500H对比

r7 8840HS采用 Zen 4架构 4 nm制作工艺8核 16线程主频 3.3GHz睿频5.1GHz 三 级缓存16MB TDP 功耗 28w 搭载AMD Radeon 780M核显 选r7 8840HS还是i5 12500H这些点很重要 http://www.adiannao.cn/dy i5 12500H为4大核8小核&#xff0c;12核心16线程设计&#xff0c;CPU主频 2.5…

面试知识汇总——垃圾回收器(分代收集算法)

分代收集算法 根据对象的存活周期&#xff0c;把内存分成多个区域&#xff0c;不同区域使用不同的回收算法回收对象。 对象在创建的时候&#xff0c;会先存放到伊甸园。当伊甸园满了之后&#xff0c;就会触发垃圾回收。 这个回收的过程是&#xff1a;把伊甸园中的对象拷贝到F…

Python私有属性和私有方法

私有属性和私有方法 在实际开发中&#xff0c;对象的某些属性或者方法只希望在对象内部被使用&#xff0c;而不希望在外界被访问。 私有属性&#xff1a;对象不希望公开的属性 私有方法&#xff1a;对象不希望公开的方法 定义方式&#xff1a;在属性名或者方法名前添加两个下划…

计算机网络常见题(持续更新中~)

1 描述一下HTTP和HTTPS的区别 2 Cookie和Session有什么区别 3 如果没有Cookie,Session还能进行身份验证吗&#xff1f; 4 BOI,NIO,AIO分别是什么 5 Netty的线程模型是怎么样的 6 Netty是什么&#xff1f;和Tomcat有什么区别&#xff0c;特点是什么&#xff1f; 7 TCP的三次…

基于SpringBoot+MyBatis网上点餐系统

采用技术 基于SpringBootMyBatis网上点餐系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 功能列表 前台首页功能 用户注册 用户登录 用户功能 …

【python】flask各种版本的项目,终端命令运行方式的实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

2-Flume之Sink与Channel

Flume Sink HDFS Sink 将数据写到HDFS上。数据以文件形式落地到HDFS上&#xff0c;文件名默认是以FlumeData开头&#xff0c;可以通过hdfs.filePrefix来修改 HDFS Sink默认每隔30s会滚动一次生成一个文件&#xff0c;因此会导致在HDFS上生成大量的小文件&#xff0c;实际过程…

人工智能 框架 paddlepaddle 飞桨 使用指南 使用例子 线性回归模型demo 1

安装过程&使用指南&线性回归模型 使用例子 本来预想 是安装 到 conda 版本的 11.7的 但是电脑没有gpu 所以 安装过程稍有变动,下面简单讲下 conda create -n paddle_env117 python=3.9 由于想安装11.7版本 py 是3.9 所以虚拟环境名称也是 paddle_env117 activa…

各种排序介绍

1.排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排…

【沐风老师】3DMAX样条线皮肤SplineSkin插件使用方法详解

3DMAX样条线皮肤SplineSkin插件使用方法 3DMAX样条线皮肤插件SplineSkin&#xff0c;将3D物体一键转化为样条线包裹形状的插件&#xff0c;适用于科研绘图和艺术设计等相关领域。 【适用版本】 3dMax2015及更高版本&#xff08;教程编写于2024&#xff0c;但适用不仅限于此范围…

LeetCode 面试经典150题 392.判断子序列

题目&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是"abcde"…

SQL复习专题

请结合B站-技术蛋老师 视频学习 核心语法 一、增&#xff1a;数据库/表格 create create database 数据库名&#xff1b;#创建表&#xff08;列名类型&#xff09; mysql> create table eggs_record(-> id int,-> egg_name varchar(10),-> sold date-> ); 这…