windows安装kafka配置SASL-PLAIN安全认证
目录
1.Windows安装zookeeper:
1.1下载zookeeper
1.2 解压之后如图二
1.3创建日志文件
1.4复制 “zoo_sample.cfg” 文件
1.5更改 “zoo.cfg” 配置
1.6新建zk_server_jaas.conf
1.7修改zkEnv.cmd
1.8导入相关jar
1.9以上配置就配好啦,接下来启动。
1.10连接测试
2.Windows下安装运行kafka:
2.1下载kafka:
2.2 新建kafka_server_jaas.conf
2.3 新建kafka_client_jaas.conf
2.4 新建kafka_topic_jaas.properties
2.5 修改server.properties配置文件:
2.6 修改consumer.properties和producer.properties
2.7 修改kafka-server-start.bat
2.8 修改kafka-console-consumer.bat和kafka-console-producer.bat
2.9 启动kafka:
2.10 测试
1)创建主题
2)生产消息
3)消费消息
4) 查看主题配置
5)查看主题消息日志
3.将kafka安装为windows服务
3.1安装NSSM
3.2 kafka安装成win服务
3.3 zookeeper安装为windows服务
3.4 BAT一键安装为Windows服务
3.5 nssm常用命令
3.6总结
4.confluent简介
4.1官网
4.2下载地址
4.3物理机安装参考
4.4 docker安装参考
4.4 Confluent的组件
4.5 Confluent的安装
4.5.1下载地址:
4.5.2下载confluent-7.2.1
4.5.3解压到指定目录下
4.5.4配置zookeeper
4.5.5配置kafka的broker
4.5.6配置rest proxy
4.5.7配置schema registry
4.5.8启动kafka-rest
4.5.9启动zookeeper
4.5.10启动kafka broker
4.5.11启动schema registry
4.6测试使用
4.6.1查看topics
4.6.2查看集群的brokers
4.6.3注册consumer group
4.6.4把topic和消费者my_consumer关联起来
4.6.5通过rest接口向bear push数据
4.6.6通过rest接口消费数据
4.6.7删除注册的consumer实例:
4.6.8更多信息参考
1.Windows安装zookeeper:
1.1下载zookeeper
http://zookeeper.apache.org/releases.html,选择自己需要的版本,并解压。
坑一:我下载的是“apache-zookeeper-3.8.2”,配置完成之后启动的时候发现报错,如图一

图一
结果发现从目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。如果下载3.5.5以后的版本的Zookeeper安装包,需要下载带有bin标识的包就不会有问题了。(参考:https://www.cnblogs.com/zhoading/p/11593972.html)
1.2 解压之后如图二

图二
1.3创建日志文件
在上图目录下创建文件夹 data和log,如图三

图三
1.4复制 “zoo_sample.cfg” 文件
并重命名为 “zoo.cfg”,如图四

图四
1.5更改 “zoo.cfg” 配置
为自己创建的文件夹 data 和 log 的路径,如图五。
dataDir=D:\\Java\\apache-zookeeper-3.8.2-bin\\data
dataLogDir=D:\\Java\\apache-zookeeper-3.8.2-bin\\log
配置安全认证:
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000

图五
我一开始用的单斜杠,会出现图六的一个警告。

图六
1.6新建zk_server_jaas.conf
在Zookeeper安装目录conf中,新建zk_server_jaas.conf文件,添加如下内容:
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin- secret";
};
1.7修改zkEnv.cmd
在Zookeeper安装目录bin中,打开zkEnv.cmd进行编辑,在该文件中set ZOO_LOG_DIR=%~dp0%..\logs下一行加入如下配置:注意上述配置是斜杠,不是反斜杠
set SERVER_JVMFLAGS=-Djava.security.auth.login.config=D:/Java/apache-zookeeper-3.8.2-bin/config/zk_server_jaas.conf
1.8导入相关jar
在Kafka安装目录libs中分别找到如下jar,复制它们到Zookeeper安装目录的lib中即可
kafka-clients-3.5.1.jar
lz4-java-1.8.0.jar
slf4j-api-1.7.36.jar
slf4j-reload4j-1.7.36.jar
snappy-java-1.1.10.1.jar
1.9以上配置就配好啦,接下来启动。
直接双击bin 目录下的 “zkServer.cmd",如图七

图七
启动完成,如图八。

图八
1.10连接测试
双击bin目录下的 zkCli.cmd,如图九

图九
2.Windows下安装运行kafka:
2.1下载kafka:
http://kafka.apache.org/downloads.html (注意下载binary版本的)

2.2 新建kafka_server_jaas.conf
在Kafka安装目录config中,新建kafka_server_jaas.conf文件,添加如下内容:
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret";
};
说明:在KafkaServer部分,username和password是broker用于初始化连接到其他的broker在上面配置中,admin用户为broker间的通讯。
user_userName定义了所有连接到broker和broker验证的所有的客户端连接包括其他broker的用户密码,user_userName必须配置admin用户,否则会报错
2.3 新建kafka_client_jaas.conf
在Kafka安装目录config中,新建kafka_client_jaas.conf文件,添加如下内容:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret";
};
说明:在KafkaClient部分,username和password是客户端用来配置客户端连接broker的用户
2.4 新建kafka_topic_jaas.properties
在Kafka安装目录config中,新建kafka_topic_jaas.properties文件,添加如下内容:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
2.5 修改server.properties配置文件:
在Kafka安装目录config中,打开server.properties进行编辑,在该文件中加入如下配置:
# 内网ip
listeners=SASL_PLAINTEXT://192.168.0.108:9092
# 外网ip
#advertised.listeners=SASL_PLAINTEXT://192.168.0.108:9092
# 使用的认证协议
security.inter.broker.protocol=SASL_PLAINTEXT
# SASL机制
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
# 完成身份验证的类
#authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
# 如果没有找到ACL(访问控制列表)配置,则允许任何操作。
allow.everyone.if.no.acl.found=false
auto.create.topics.enable=true
delete.topic.enable=true
super.users=User:admin
2.6 修改consumer.properties和producer.properties
在Kafka安装目录config中,打开consumer.properties和producer.properties进行编辑,在该文件中加入如下配置:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
修改consumer.propertie中group.id=TestGroup,若有多个消费客户端需保证group.id不重复,否则无法同时消费消息
2.7 修改kafka-server-start.bat
在Kafka安装目录bin\windows中,打开kafka-server-start.bat进行编辑,在该文件中SetLocal关键字下一行加入如下配置:
set KAFKA_OPTS=-Djava.security.auth.login.config=file:%~dp0../../config/kafka_server_jaas.conf
2.8 修改kafka-console-consumer.bat和kafka-console-producer.bat
在Kafka安装目录bin\windows中,打开kafka-console-consumer.bat和kafka-console-producer.bat进行编辑,在该文件中SetLocal关键字下一行加入如下配置:
set KAFKA_OPTS=-Djava.security.auth.login.config=file:%~dp0../../config/kafka_client_jaas.conf
2.9 启动kafka:
win+R 输入cmd,打开命令窗口,进入安装目录 D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-server-start.bat config\server.properties

2.10 测试
1)创建主题
打开一个新的命令窗口,进入安装目录D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-topics.bat --create --bootstrap-server 192.168.0.108:9092 --replication-factor 1 --partitions 1 --topic mdlp --command-config config\kafka_topic_jaas.properties
查看所有主题命令:
.\bin\windows\kafka-topics.bat --list --bootstrap-server 192.168.0.108:9092 --command-config config\kafka_topic_jaas.properties

2)生产消息
打开一个新的命令窗口,进入安装目录 D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-console-producer.bat --broker-list 192.168.0.108:9092 --topic mdlp --producer.config config\producer.properties
输入内容:hello word

3)消费消息
打开一个新的命令窗口,进入安装目录 D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-console-consumer.bat --bootstrap-server 192.168.0.108:9092 --topic mdlp --consumer.config config\consumer.properties

这里接收生产者的消息。
4) 查看主题配置
打开一个新的命令窗口,进入安装目录 D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-configs.bat --bootstrap-server 192.168.0.108:9092 --entity-type topics --entity-name mdlp --describe --command-config config\kafka_topic_jaas.properties

5) 查看主题消息日志
打开一个新的命令窗口,进入安装目录 D:\Java\kafka_2.13-3.5.1,输入以下命令 ( 成功之后不要关闭窗口)
.\bin\windows\kafka-run-class.bat kafka.tools.DumpLogSegments --print-data-log --files kafka-logs\mdlp-0\00000000000000000000.log

3.将kafka安装为windows服务
3.1安装NSSM
NSSM是一个服务封装程序,它可以将普通exe、bat、以及任何程序封装成服务,使之像windows服务一样运行,就像一个服务壳一样,将你的程序包在NSSM里面。
NSSM如何使用
- 下载NSSM download.
- 根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。
- cmd定位至nssm.exe所在目录。
- 输入 nssm install {服务名称},即注册服务的名称。注册服务弹出如下NSSM界面。
3.2 kafka安装成win服务
按照上面的步骤操作就可以了,核心就是下面的截图,也可以添加依赖服务。
Path: D:\Java\kafka_2.13-3.5.1\bin\windows\kafka-server-start.bat
Startup directory: D:\Java\kafka_2.13-3.5.1\bin\windows
Arguments: D:\Java\kafka_2.13-3.5.1\config\server.properties

Path参数为kafka的启动命令,一般在windows目录。Startup directory为启动目录,Arguments是启动参数,只有启动参数需要手工填一下,当你在Path点右边按钮选择后会自动的填上前面2个参数。自己操作体验下就明白了。完了之后点击 Install Service 就可以了。
如果有依赖服务,按下图所示填上即可。

3.3 zookeeper安装为windows服务
zookeeper也是可以安装为windows服务的,操作如下图所示:

没有参数就不用填。如果嫌界面操作比较麻烦,可以制作成批处理文件一次性安装完毕。
3.4 BAT一键安装为Windows服务
@echo off
@echo 安装zookeeper
nssm install zookeeper D:\Java\apache-zookeeper-3.8.2-bin\bin\zkServer.cmd
@echo 安装kafka
nssm install kafka D:\Java\kafka_2.13-3.5.1\bin\windows\kafka-server-start.bat D:\Java\kafka_2.13-3.5.1\config\server.properties
@echo 启动zookeeper服务
nssm start zookeeper
@echo 启动kafka服务
nssm start kafka
pause
上面的命令是通过批处理文件一键安装为windows服务,并且启动zookeeper和kafka服务。你可以直接拿过去使用,注意需要修改下参数,例如将D:\Java\apache-zookeeper-3.8.2-bin\bin\zkServer.cmd修改为你服务器上的zookeeper目录,而D:\Java\kafka_2.13-3.5.1\bin\windows\kafka-server-start.bat D:\Java\kafka_2.13-3.5.1\config\server.properties也是对应的修改为kafka的路径。
如果要卸载的话,使用下面的bat即可。
@echo off
@echo 卸载zookeeper
nssm remove zookeeper confirm
@echo 卸载kafka
nssm remove kafka confirm
pause
将以上代码复制下来,用记事本新建一个文件,粘贴进去,并将后缀改为bat即可,使用时双击运行就完事了。
3.5 nssm常用命令
- nssm install servername //创建servername服务
- nssm start servername //启动服务
- nssm stop servername //暂停服务
- nssm restart servername //重新启动服务
- nssm remove servername //删除创建的servername服务
3.6总结
NSSM可以将控制台程序一样的安装为服务,再配合定时任务,可以做好多事情。
4.confluent简介
confluent是平台化的工具,封装了kafka,让我们可以更方便的安装和使用监控kafka,作用类似于CDH对于Hadoop。
confluent是由LinkedIn开发出Apache Kafka的团队成员,基于这项技术创立了新公司Confluent,Confluent的产品也是围绕着Kafka做的。
4.1官网
https://www.confluent.io
4.2下载地址
https://www.confluent.io/download/
4.3物理机安装参考
https://docs.confluent.io/platform/current/quickstart/ce-docker-quickstart.html#cos-quickstart
4.4 docker安装参考
https://docs.confluent.io/platform/current/quickstart/ce-docker-quickstart.html#cos-docker-quickstart
对比之后感觉比原生的kafka安装简单很多,容器是docker容器的版本,对于我们在k8s中使用很方便。
4.4 Confluent的组件
Confluent Platform 包括更多的工具和服务,使构建和管理数据流平台更加容易。
Confluent Control Center(闭源)。管理和监控Kafka最全面的GUI驱动系统。
Confluent Kafka Connectors(开源)。连接SQL数据库/Hadoop/Hive
Confluent Kafka Clients(开源)。对于其他编程语言,包括C/C++,Python
Confluent Kafka REST Proxy(开源)。允许一些系统通过HTTP和kafka之间发送和接收消息。
Confluent Schema Registry(开源)。帮助确定每一个应用使用正确的schema当写数据或者读数据到kafka中。
4.5 Confluent的安装
4.5.1下载地址:
http://www.confluent.io/download
打开后,显示最新版本,在右边填写信息后,点击Download下载。
本次我们主要使用REST Proxy,当然底层的broker也是使用confluent的kafka组件,下面简述安装步骤:
4.5.2下载confluent-7.2.1
Wget https://packages.confluent.io/archive/7.2/confluent-community-7.2.1.tar.gz
tar -xvf confluent-community-7.2.1.tar.gz
4.5.3解压到指定目录下
通过查看目录的内容,能够发现,confluent里面是含有kafka的,也就是说,如果你没有安装kafka,那么可以通过confluent直接对kafka进行安装。如果已经安装了kafka,可以使用confluent提供的插件。
自定义配置
我们可以配置自己需要的和对应配置信息
进入解压出来的confluent-7.2.1
cd confluent-7.2.1
4.5.4配置zookeeper
vi etc/kafka/zookeeper.properties
内容如下:
dataDir=/confluent-7.2.1/data/zookeeper
clientPort=2181
maxClientCnxns=0
4.5.5配置kafka的broker
vi etc/kafka/server.properties
内容如下:
broker.id=0
delete.topic.enable=true
listeners=PLAINTEXT://192.168.176.131:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/confluent-7.2.1/data/kafka
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.176.131:2181
zookeeper.connection.timeout.ms=6000
confluent.support.metrics.enable=true
confluent.support.customer.id=anonymous
4.5.6配置rest proxy
vi etc/kafka-rest/kafka-rest.properties
内容如下:
id=kafka-rest-server
#zookeeper.connect=192.168.176.131:2181
bootstrap.servers=PLAINTEXT://192.168.176.131:9092
4.5.7配置schema registry
vi etc/schema-registry/schema-registry.properties
内容如下:
listeners=http://192.168.176.131:8081
kafkastore.connection.url=192.168.176.131:2181
kafkastore.bootstrap.servers=PLAINTEXT://192.168.176.131:9092
kafkastore.topic=_schemas
debug=false
启动服务
4.5.8启动kafka-rest
bin/kafka-rest-start etc/kafka-rest/kafka-rest.properties
上面的这种方式是前台启动,也可以以后台方式启动。
nohup bin/kafka-rest-start etc/kafka-rest/kafka-rest.properties &
4.5.9启动zookeeper
bin/zookeeper-server-start etc/kafka/zookeeper.properties
4.5.10启动kafka broker
bin/kafka-server-start etc/kafka/server.properties
4.5.11启动schema registry
bin/schema-registry-start etc/schema-registry/schema-registry.properties
4.6测试使用
4.6.1查看topics
浏览器访问或者curl都可以
http://192.168.176.131:8082/topics
4.6.2查看集群的brokers
curl http://192.168.176.131:8082/brokers
4.6.3注册consumer group
curl -X POST -H "Content-Type:application/vnd.kafka.v2+json" -H "Accept: application/vnd.kafka.v2+json" --data '{"name": "my_consumer_instance", "format": "json", "auto.offset.reset": "earliest"}' http://192.168.176.131:8082/consumers/my_test_consumer
4.6.4把topic和消费者my_consumer关联起来
curl -X POST -H "Content-Type:application/vnd.kafka.v2+json" --data '{"topics":["bear"]}' http://192.168.176.131:8082/consumers/my_test_consumer/instances/my_consumer_instance/subscription
4.6.5通过rest接口向bear push数据
curl -X POST -H "Content-Type:application/vnd.kafka.json.v2+json" --data '{"records":[{"value":{"name": "testUser"}}]}' "http://192.168.176.131:8082/topics/bear"
4.6.6通过rest接口消费数据
curl -X GET -H "Accept:application/vnd.kafka.json.v2+json" http://192.168.176.131:8082/consumers/my_test_consumer/instances/my_consumer_instance/records
4.6.7删除注册的consumer实例:
curl -X DELETE -H "Accept:application/vnd.kafka.v2+json" http://192.168.176.131:8082/consumers/my_test_consumer/instances/my_consumer_instance
4.6.8更多信息参考
https://github.com/confluentinc/kafka-rest
相关文章:
windows安装kafka配置SASL-PLAIN安全认证
目录 1.Windows安装zookeeper: 1.1下载zookeeper 1.2 解压之后如图二 1.3创建日志文件 1.4复制 “zoo_sample.cfg” 文件 1.5更改 “zoo.cfg” 配置 1.6新建zk_server_jaas.conf 1.7修改zkEnv.cmd 1.8导入相关jar 1.9以上配置就配好啦,接下来启…...
【Linux】五种IO模型
文章目录 1. IO基本概念2. 五种IO模型2.1 五个钓鱼的例子2.2 五种IO模型2.2.1 阻塞IO2.2.2 非阻塞IO2.2.3 信号驱动IO2.2.4 IO多路转接2.2.5 异步IO 1. IO基本概念 认识IO IO就是输入和输出,在冯诺依曼体系结构中,将数据从输入设备拷贝到内存就叫输入&am…...
SCT82A30DHKR_5.5V-100V Vin同步降压控制器
SCT82A30是一款100V电压模式控制同步降压控制器,具有线路前馈。40ns受控高压侧MOSFET的最小导通时间支持高转换比,实现从48V输入到低压轨的直接降压转换,降低了系统复杂性和解决方案成本。如果需要,在低至6V的输入电压下降期间&am…...
备忘录模式(C++)
定义 在不破坏封装性的前提下,捕获一-个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。 应用场景 ➢在软件构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要…...
二叉排序树(二叉查找树)
二叉排序树(二叉查找树)的性质: 若它的左子树不为空,则左子树上所有结点的值均小于它的根结点的值。若它的右子树不为空,则右子树上所有结点的值均大于它的根将诶点的值。它的左、右子树也分别为二叉排序树。 对二叉…...
Python简单应用VII
题目 编程实现下述各题。 1.使用异常处理结构捕获多种可能的异常,如列表下标索引越界异常(IndexError)、试 图访问一个系统对象没有的属性所发生的异常(AttributeError)、读一个文件但该文件不存在。 2. 新建并打开文件stud1.txt,如果文件已存在就提示“…...
mysql--InnoDB存储引擎--架构和事务
MySQL进阶篇 文章目录 架构1、逻辑结构InnoDB 逻辑存储单元主层级关系图:1、表空间2、段3、区4、页5、行总结: 2、架构2、1 内存架构2、2 磁盘架构 3、事务3、1事务基础(1)事务(2)特性 架构 1、逻辑结构 I…...
0基础学习VR全景平台篇 第79篇:全景相机-泰科易如何直播推流
泰科易科技是中国的一家研发全景相机的高科技公司,前不久,在2020世界VR产业大会上发布了新一代5G VR直播影像采集终端--360starlight。以其出色的夜景成像效果和一“部”到位的直播方案重新定义了VR慢直播相机,对行业具有高度借鉴意义。 本文…...
代码调试4:实现退化模型的训练
代码调试:实现退化模型的训练 作者:安静到无声 个人主页 目录 代码调试:实现退化模型的训练问题1:如何在coco原始编码的基础上修改原始的文件?**方法1**:修改生成的文件**方法2**:直接修改源文件`instances_train2014.json`和`instances_val2014.json`问题2:构建退化后…...
8.7工作总结
一、我们想自定义一个titileBar出现如下这种情况,发现他原来的titileBar还未隐藏。 后来我尝试修改主题使得他没有主题noActionBar发现也不行,后来我参考原先我看过的项目使用了如下代码 this.getActionBar().hide();发现会报这个错误java.lang.NullPoi…...
数据库的约束 详解
一、约束的概述 1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的:保证数据库中数据的正确、有效性和完整性。 3.分类: 约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不…...
Tomcat 编程式启动 JMX 监控
通过这篇文章,我们可以了解到,利用 JMX 技术可以方便获取 Tomcat 监控情况。但是我们采用自研的框架而非大家常见的 SpringBoot,于是就不能方便地通过设置配置开启 Tomcat 的 JMX,——尽管我们也是基于 Tomcat 的 Web 容器&#x…...
Git rebase和merge区别详解
文章目录 变基的基础用法变基过程中的冲突解决冲突后无法push问题更新变基后的代码更有趣的变基用法变基的风险用变基解决变基变基 vs 合并 此文在阅读前需要有一定的git命令基础,若基础尚未掌握,建议先阅读这篇文章Git命令播报详版 在 Git 中整合来自不…...
JDK动态代理的原理解析、代码实现
代理就像是:买家(客户端)——销售(代理对象)——工厂(目标) 买家不用直接去工厂买,而是直接通过销售就可以购买到,假设工厂生产的是杯子,那么工厂只需要提供杯子,而销售在不改变杯子的生产过程的情况下对杯子进行包装设…...
理解和使用Ansible模块,简化自动化任务
Ansible是一款强大的自动化工具,用于管理和配置IT基础设施。在Ansible的世界中,模块(Module)是至关重要的组成部分。本文将深入探讨Ansible模块,了解它们如何简化自动化任务的执行过程。 Ansible模块是Ansible的核心组…...
Docker 快速安装 MinIO
概述 MinIO 是一款基于Go语言的高性能对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。 拉取docker镜像 docker pull minio/minio创建宿主机数据目录(共享数据卷) 此…...
【源码分析】Nacos如何使用AP协议完成服务端之间的数据同步?
AP节点的同步使用的是异步任务消息队列的方式来实现的。 取出任务之后将会放入到一个List集合中。 然后会发现任务的执行是由条件的。 首先是当前集群的节点数量等于1000,那么此时会直接开始同步,当然这个条件在小项目中不会成立,所以还有…...
黑客删除服务器数据后,间谍软件制造商 LetMeSpy 关闭
总部位于波兰的间谍软件 LetMeSpy 已不再运行,并表示将在 6 月份的一次数据泄露事件中关闭其服务器,其中包括从数千名受害者手机中窃取的大量数据。 LetMeSpy 在其网站上以英语和波兰语发布的通知中确认该间谍软件服务已“永久关闭”,并将于 …...
ebay儿童书包产品CPC认证
儿童书包是一种能够盛放书本或者文具的包。现在的书包五花八门,以普通的布料或者是帆布等制成,有背带,包内一般分栏。一般分三种,背在身后的,挎在肩上的,轮式(可以拖行)的。 一、美国…...
Debezium系列之:增量快照初始化历史数据实际应用案例
Debezium系列之:增量快照初始化历史数据实际应用案例 一、需求背景二、查看数据库表数据三、使用增量快照采集历史数据四、初始化历史数据一、需求背景 采集数据库数据发送到Kafka Topic,供下游实时开发消费,在采集最新数据的同时,希望把历史数据也发送到Kafka Topic同时采…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
