Kafka3.8.0+Centos7.9的安装参考

Kafka3.8.0+Centos7.9的安装参考

  1. 环境准备

操作系统版本:centos7.9

用户/密码:root/1qazXSW@

主机名

IP地址

安装软件

下载地址

k1

192.168.207.131

  1. jdk1.8
  2. zookeeper3.9.2
  3. kafka_2.13-3.8.0
  4. efak-web-3.0.1

1)

Java Downloads | Oracle

2)

Apache ZooKeeper

3)

Apache Kafka

4)

EFAK

k2

192.168.207.132

  1. jdk1.8
  2. zookeeper3.9.2
  3. kafka_2.13-3.8.0

k3

192.168.207.133

  1. jdk1.8
  2. zookeeper3.9.2
  3. kafka_2.13-3.8.0

以下三台机器都操作:

1.1修改/etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.207.131 k1

192.168.207.132 k2

192.168.207.133 k3

1.2关闭防火墙:

systemctl stop firewalld

systemctl disable firewalld

1.3禁用selinux

setenforce 0# 查看临时禁用是否生效

getenforcePermissive 

永久修改 /etc/selinux/config 并将 SELINUX=disabled

1.4文件描述符调整

#编辑配置文件 /etc/security/limits.conf  (永久生效)

* - nofile 100000

#命令行执行(当前会话生效)

ulimit -n 100000

1.5进程可以使用的最大内存映射区域数

Kafka 之所以吞吐量高,其中的一个重要原因就是因为 Kafka 在 Consumer 读取日志文件时使用了 mmap 的方式。mmap 将磁盘文件映射到内存,支持读和写,对内存的操作会反映在磁盘文件上。当客户端读取 Kafka 日志文件时,在进行 log 文件读取的时候直接将 log 文件读入用户态进行缓存,绕过了内核态的 Page Cache,避免了内核态和用户态的切换。

我们可以通过以下方式修改进程可以使用的最大内存映射区域数。

#编辑配置文件 /etc/sysctl.conf  (永久生效)

vm.max_map_count=262144

编辑完文件后命令行执行 sysctl -p  立即永久生效

#命令行执行

sysctl -w vm.max_map_count=262144 (当前会话生效)

2.安装步骤

2.1安装jdk1.8

下载地址:

Java Downloads | Oracle

[root@k1 kafka-web]# java -version

openjdk version "1.8.0_412"

OpenJDK Runtime Environment (build 1.8.0_412-b08)

OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)

[root@k1 kafka-web]# echo $JAVA_HOME

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64

[root@k1 kafka-web]#

/etc/profile文件末尾添加如下环境变量,并执行source /etc/profile生效:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64

export PATH=$PATH:$JAVA_HOME/bin

export KE_HOME=/opt/kafka-web/efak-web-3.0.1

export PATH=$PATH:$KE_HOME/bin

2.2安装zookeeper

Zookeeper特点:

1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。

2) Zookeepe集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。

3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。

4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行,即先进先出。

5)数据更新原子性,一次数据更新要么成功,要么失败。

6)实时性,在一定时间范围内,Client能读到最新数据。

2.2.1下载并解压到指定路径:

下载介质:

Apache ZooKeeper

提前创建如下目录:

mkdir –p /opt/zookeeper

mkdir –p /opt/zookeeper/zkdata

mkdir –p /opt/zookeeper/zkdatalog

cd /opt/zookeeper

tar -zxvf zookeeper-xxx.tar.gz

2.2.2修改配置文件zoo.cfg:

 [root@k1 conf]# pwd

/opt/zookeeper/zookeeper-3.9.2/conf

mv zoo_sample.cfg zoo.cfg并修改如下:红色的内容

[root@k1 conf]# cat zoo.cfg |grep -v "^$"|grep -v "#"

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/opt/zookeeper/zkdata

dataLogDir=/opt/zookeeper/zkdatalog

clientPort=12181

server.1=192.168.207.131:12888:13888

server.2=192.168.207.132:12888:13888

server.3=192.168.207.133:12888:13888

autopurge.purgeInterval=1

autopurge.snapRetainCount=3

#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#192.168.207.131为集群里的IP地址,第一个端口是masterslave之间的通信端口,默认是2888,当前修改为12888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888,当前修改为13888

2.2.3创建myid文件

三个节点分别创建1,2,3,必须不同数值。

#k1

echo "1" > /opt/zookeeper/zkdata/myid

#k2

echo "2" > /opt/zookeeper/zkdata/myid

#k3

echo "3" > /opt/zookeeper/zkdata/myid

2.2.4启动服务

3台都操作:

#进入到Zookeeper的bin目录下

[root@k1 conf]# cd /opt/zookeeper/zookeeper-3.9.2/bin

#启动服务

[root@k1 bin]#./zkServer.sh start

#停服务

[root@k1 bin]#./zkServer.sh stop

#查看状态

[root@k1 bin]# ./zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/zookeeper/zookeeper-3.9.2/bin/../conf/zoo.cfg

Client port found: 12181. Client address: localhost. Client SSL: false.

Mode: follower #它是否为领导

zk集群一般只有一个leader,多个follower,主一般是相应客户端的读写请求,而从主同步数据,当主挂掉之后就会从follower里投票选举一个leader出来。

[root@k1 bin]# jps

9719 QuorumPeerMain

25384 Jps

2.3安装kafka

Kafka是一个高性能、分布式的消息队列系统,用于实时数据传输和处理。在实际应用中,为了保证高可用性和容错性,通常会部署一个由多个节点组成的Kafka集群。其中,Kafka集群至少需要3个节点,这是为了保证集群的稳定性和可靠性。

## 为什么需要三个节点:

  1. **容错性**:当一个节点发生故障时,集群仍然能够正常运行。如果只有两个节点,当其中一个节点宕机时,另一个节点无法构成多数派,整个集群无法正常工作。因此,至少需要三个节点,即使有一个节点宕机,仍然可以保证集群的正常运行。
  2. **选举机制**:Kafka使用Zookeeper来进行节点的选举,保证集群的一致性。在一个多节点的Kafka集群中,当有节点宕机时,剩余节点可以通过选举机制选择新的Leader节点来维持集群的正常运行。
  3. **数据复制**:Kafka采用副本机制来保证数据的可靠性和高可用性。通过在不同节点上保存数据的副本,即使有节点宕机,数据仍然可以被访问。当只有两个节点时,无法进行数据副本的分布,容易造成数据丢失。

2.3.1下载并解压到指定路径:

Apache Kafka

#创建目录
cd /opt/
mkdir kafka #创建项目目录
cd kafka
mkdir -p /opt/kafka/kafkalogs #创建kafka消息目录,主要存放kafka消息

#解压软件
tar -xaf kafka_2.13-3.8.0.tgz

2.3.2修改配置文件server.properties:

进入到config目录

cd /opt/kafka/kafka_2.13-3.8.0/config/
主要关注:server.properties 这个文件即可

[root@k1 config]# pwd

/opt/kafka/kafka_2.13-3.8.0/config

主要修改红色的部分内容:

[root@k1 config]# cat server.properties |grep -v "^$"|grep -v "#"

broker.id=1 ##另外两台是23,不能重复

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=/opt/kafka/kafkalogs

num.partitions=1

num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.retention.check.interval.ms=300000

zookeeper.connect=192.168.207.131:12181,192.168.207.132:12181,192.168.207.133:12181

zookeeper.connection.timeout.ms=18000

group.initial.rebalance.delay.ms=0

说明:

broker.id=0  #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
port=9092 #当前kafka对外提供服务的端口默认是9092

log.dirs=/opt/kafka/kafkalogs/ #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个

参考文档:Kafka【第一篇】Kafka集群搭建-CSDN博客

2.3.3启动Kafka集群并测试

1)启动服务(3台都需要操作和启动)

cd
/opt/kafka/kafka_2.13-3.8.0/bin #进入到kafka的bin目录

##修改kafka-server-start.sh防止提示内存不足以及JMX连接的问题:

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then

    export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"

    export JMX_PORT="9999"

fi

#从后台启动Kafka集群
./kafka-server-start.sh -daemon ../config/server.properties

停服务:./kafka-server-stop.sh -daemon ../config/server.properties

2)检查服务是否启动

#执行命令jps
20348 Jps
4233 QuorumPeerMain
18991 Kafka
3)创建Topic来验证是否创建成功

#创建Topic
[root@k1 bin]# ./kafka-topics.sh --create --bootstrap-server 192.168.207.131:9092 --replication-factor 2 --partitions 2 --topic topic_jyc01

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.

Created topic topic_jyc01.

[root@k1 bin]# ./kafka-topics.sh --list --bootstrap-server 192.168.207.132:9092

topic_jyc01

#解释
--replication-factor 2   #复制两份
--partitions 2 #创建2个分区
--topic #主题为topic_jyc01

生产者:

[root@k1 bin]# ./kafka-console-producer.sh --broker-list "192.168.207.131:9092,192.168.207.132:9092,192.168.207.133:9092" --topic topic_jyc01

>Hello Kafka!

>你好 kafka!

>test

>

消费者:

[root@k1 bin]# ./kafka-console-consumer.sh --bootstrap-server "192.168.207.131:9092,192.168.207.132:9092,192.168.207.133:9092" --topic topic_jyc01

Hello Kafka!

你好 kafka!

test

可正常收到信息:

https://i-blog.csdnimg.cn/direct/210bfec3ae344bf783d6ebbab55afb87.png

2.4安装Kafka Eagle

Kafka Eagle是一款 Kafka 可视化和管理软件,支持对多个不同版本的 Kafka 集群进行管理。Kafka Eagle可以监控 Kafka 集群的健康状态,消费者组的消费情况,创建和删除 Topic,支持使用 KSQL 对 Kafka 消息做 Ad-hoc 查询,支持多种告警方式等等。

2.4.1下载并解压到指定路径:

EFAK

mkdir –p /opt/kafka-web

cd /opt/kafka-web

tar -zxvf kafka-eagle-bin-3.0.1.tar.gz

/etc/profile文件末尾添加如下环境变量,并执行source /etc/profile生效:

export KE_HOME=/opt/kafka-web/efak-web-3.0.1

export PATH=$PATH:$KE_HOME/bin

2.4.2修改配置文件server.properties:

mkdir -p /opt/kafka-web/db

[root@k1 config]# cd /opt/kafka-web

[root@k1 kafka-web]# ls

db  efak-web-3.0.1

[root@k1 kafka-web]# cd efak-web-3.0.1/

[root@k1 efak-web-3.0.1]# ll

total 0

drwxr-xr-x.  2 root root  66 Sep 19 17:08 bin

drwxr-xr-x.  2 root root 112 Sep 20 09:25 conf

drwxr-xr-x.  2 root root   6 Sep 13  2021 db

drwxr-xr-x.  2 root root  23 Sep 19 16:46 font

drwxr-xr-x. 10 root root 103 Sep 19 17:33 kms

drwxr-xr-x.  2 root root 128 Sep 20 08:58 logs

[root@k1 efak-web-3.0.1]# cd conf

[root@k1 conf]# ll

total 16

-rw-r--r--. 1 root root 2217 Sep 13  2021 log4j.properties

-rw-r--r--. 1 root root 4295 Sep 19 17:04 system-config.properties

-rw-r--r--. 1 root root    9 Sep 13  2021 works

#修改红色的内容

[root@k1 conf]# more system-config.properties |grep -v "^$"|grep -v "#"

efak.zk.cluster.alias=cluster1

cluster1.zk.list=192.168.207.131:12181,192.168.207.132:12181,192.168.207.133:12181

cluster1.zk.acl.enable=false

cluster1.zk.acl.schema=digest

cluster1.zk.acl.username=test

cluster1.zk.acl.password=test123

cluster1.efak.broker.size=20

kafka.zk.limit.size=16

efak.webui.port=8048

efak.distributed.enable=false

efak.cluster.mode.status=master

efak.worknode.master.host=localhost

efak.worknode.port=8085

cluster1.efak.jmx.acl=false

cluster1.efak.jmx.user=keadmin

cluster1.efak.jmx.password=keadmin123

cluster1.efak.jmx.ssl=false

cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore

cluster1.efak.jmx.truststore.password=ke123456

cluster1.efak.offset.storage=kafka

cluster2.efak.offset.storage=zk

cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi

efak.metrics.charts=true

efak.metrics.retain=15

efak.sql.topic.records.max=5000

efak.sql.topic.preview.records.max=10

efak.topic.token=keadmin

cluster1.efak.sasl.enable=false

cluster1.efak.sasl.protocol=SASL_PLAINTEXT

cluster1.efak.sasl.mechanism=SCRAM-SHA-256

cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";

cluster1.efak.sasl.client.id=

cluster1.efak.blacklist.topics=

cluster1.efak.sasl.cgroup.enable=false

cluster1.efak.sasl.cgroup.topics=

cluster2.efak.sasl.enable=false

cluster2.efak.sasl.protocol=SASL_PLAINTEXT

cluster2.efak.sasl.mechanism=PLAIN

cluster2.efak.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";

cluster2.efak.sasl.client.id=

cluster2.efak.blacklist.topics=

cluster2.efak.sasl.cgroup.enable=false

cluster2.efak.sasl.cgroup.topics=

cluster3.efak.ssl.enable=false

cluster3.efak.ssl.protocol=SSL

cluster3.efak.ssl.truststore.location=

cluster3.efak.ssl.truststore.password=

cluster3.efak.ssl.keystore.location=

cluster3.efak.ssl.keystore.password=

cluster3.efak.ssl.key.password=

cluster3.efak.ssl.endpoint.identification.algorithm=https

cluster3.efak.blacklist.topics=

cluster3.efak.ssl.cgroup.enable=false

cluster3.efak.ssl.cgroup.topics=

efak.driver=org.sqlite.JDBC

efak.url=jdbc:sqlite:/opt/kafka-web/db/ke.db

efak.username=root

efak.password=www.kafka-eagle.org

2.4.3启动服务:

[root@k1 bin]# pwd

/opt/kafka-web/efak-web-3.0.1/bin

[root@k1 bin]# ll

total 28

-rw-r--r--. 1 root root  1848 Sep 13  2021 ke.bat

-rw-r--r--. 1 root root     6 Sep 19 17:33 ke.pid

-rwxr-xr-x. 1 root root 11289 Dec 12  2021 ke.sh

-rwxr-xr-x. 1 root root  4776 Dec 12  2021 worknode.sh

[root@k1 bin]# ./ke.sh start

输出日志最后会提示登录的地址和用户名密码。

浏览器登录管理控制台:

http://192.168.207.131:8048

admin/123456

3.日常启停顺序:

停止:

先停止kafka再停止zookeeper:

/opt/kafka/kafka_2.13-3.8.0/bin/kafka-server-stop.sh -daemon /opt/kafka/kafka_2.13-3.8.0/config/server.properties

/opt/zookeeper/zookeeper-3.9.2/bin/zkServer.sh stop

启动:

先启动zookeeper,再启动kafka:

/opt/zookeeper/zookeeper-3.9.2/bin/zkServer.sh start

/opt/kafka/kafka_2.13-3.8.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.13-3.8.0/config/server.properties

查看状态:

[root@k3 conf]# /opt/zookeeper/zookeeper-3.9.2/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.9.2/bin/../conf/zoo.cfg
Client port found: 12181. Client address: localhost. Client SSL: false.
Mode: leader

检查:

jps

测试发布和消费:

发布:

/opt/kafka/kafka_2.13-3.8.0/bin/kafka-console-producer.sh --broker-list "192.168.207.131:9092,192.168.207.132:9092,192.168.207.133:9092" --topic topic_jyc01 --property parse.key=true

注意使用tab键分隔内容输入后回车

>jyc    test

>a      a

>b      c

ctrl+c取消退出

消费:

/opt/kafka/kafka_2.13-3.8.0/bin/kafka-console-consumer.sh --bootstrap-server "192.168.207.131:9092,192.168.207.132:9092,192.168.207.133:9092" --topic topic_jyc01

4.参考文档:

Kafka 生产环境部署指南-阿里云开发者社区

kafka-eagle无法获取kafka cluster info-CSDN博客

Kafka【第一篇】Kafka集群搭建_kafka 集群-CSDN博客

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

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

相关文章

Java代码调用https(SSL证书验证问题)

Java代码调用https接口SSL证书验证问题 现有一个https接口,如下 Test public void test1() {String url "https://iservericloudhx.yndk.cn:32613/iserver/services/map-mongodb-C_YGYX_530000_2022/wms111/C_YGYX_530000_2022";RestTemplate restTemp…

Docker 里面按照ifconfig

1. 进入Docker 容器内部 docker exec -it xxx bash2. 安装 net-tools iputils-ping apt-get update && apt-get install -y net-tools apt-get update && apt-get install -y iputils-ping 3. 执行ifconfig 执行ping

[Linux]Vi和Vim编辑器

Vi和Vim编辑器 Linux系统会内置vi文本编辑器, 类似于windows中的记事本 Vim具有程序编辑的能力, 可以看作是Vi的增强版本, 可以进行语法检查, 代码补全,代码编译和错误调整等功能 Vi和Vim的模式 快速入门 使用vim开发一个Hello.java程序 通过Xshell连接Linux系统命令行输入…

【Qt | QAction】Qt 的 QAction 类介绍

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

【Taro】初识 Taro

笔记来源:编程导航。 概述 Taro 官方文档:https://taro-docs.jd.com/docs/ (跨端开发框架) Taro 官方框架兼容的组件库: taro-ui:https://taro-ui.jd.com/#/ (最推荐,兼容性最好&…

7.搭建个人金融数据库之快速获取股票列表和基本信息!

前边我们提过,免费的数据一般来自于爬虫,获取难度和维护成本都比较高,其实不太适合小白用户。所以非必要情况下,我们尽量不用这种方式来获取数据。 我自己用的比较多的是tushare,一般来说有它也就够了,大…

Python自动化-操作Excel

在数据处理和报表生成过程中,Excel是一个经常使用的工具。Python中的openpyxl库可以让您通过编程方式读取、写入和操作Excel文件,从而实现自动化的数据处理和报表生成。本文将介绍openpyxl库的基本用法和常见操作,帮助您快速上手使用Python处…

猿大师办公助手在线编辑Office为什么要在客户端电脑安装插件微软Office或金山WPS?

猿大师办公助手作为一款专业级的网页编辑Office方案,与在线云文档方案(飞书、腾讯文档等)不同,需要在客户端电脑安装猿大师办公助手插件及微软Office或者金山WPS软件,很多客户不理解为什么要这么麻烦,能否客…

Android RecyclerView 实现 GridView ,并实现点击效果及方向位置的显示

效果图 一、引入 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30 二、使用步骤 1.Adapter public class UnAdapter extends BaseQuickAdapter<UnBean.ResultBean, BaseViewHolder> {private int selectedPosition RecyclerView.NO_POSITIO…

VMWare虚拟机安装CentOS-7-x86_64-DVD-1611操作系统

VMWare虚拟机安装CentOS7操作系统 1、虚拟机准备打开VMware单机创建新的虚拟机典型与自定义安装选择虚拟机硬件兼容性选择安装程序光盘映射文件(iso)选择客户机操作系统命名虚拟机处理器配置内存配置网络连接类型I/O类型选择磁盘类型选择磁盘指定磁盘的最大磁盘大小磁盘名称我们…

SpringBoot权限认证-Sa-Token的使用与详解

本文详细介绍了Sa-Token在Java项目中的使用方法&#xff0c;包括Sa-Token的基本概念、与其他权限框架的比较、基本语法和高级用法&#xff0c;并通过实例讲解了如何在项目中集成和使用Sa-Token。作为一款轻量级Java权限认证框架&#xff0c;Sa-Token在简化权限管理、提高开发效…

战神5/战神:诸神黄昏/God of War Ragnarok(容量175GB)百度网盘下载

版本介绍 v1.0.612.4312|容量175GB|官方简体中文|支持键盘.鼠标.手柄|赠单板学习补丁 配置要求 战神5/战神&#xff1a;诸神黄昏/God of War Ragnarok 游戏介绍 不灭的北欧传奇 由Santa Monica Studio出品、Jetpack Interactive负责PC移植的佳作《God of War Ragnark》将带您…

【原创】java+swing+mysql仓库管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片&#xff0c;希望和大家…

SpringBootWeb响应

2. 响应 前面我们学习过HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09; 那么Controller程序呢&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 2.1 ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了…

【MYSQL】聚合查询、分组查询、联合查询

目录 聚合查询聚合函数count()sum()avg()max()和min()总结 分组查询group by 子句having 子句 联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询 合并查询 聚合查询 聚合查询就是针对表中行与行之间的查询。 聚合函数 count() count(列名)&a…

对接阿里asr和Azure asr

1&#xff1a;对接阿里asr 1.1&#xff1a;pom <dependency><groupId>com.alibaba.nls</groupId><artifactId>nls-sdk-recognizer</artifactId><version>2.2.1</version> </dependency>1.2&#xff1a;生成token package c…

【动态规划】两个数组的 dp 问题二

两个数组的 dp 问题 1.正则表达式匹配2.交错字符串3.两个字符串的最小ASCII删除和4.最长重复子数组 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1…

创客匠人对话:创始人IP如何进阶?掌握这三点实现高质量多次转化

我们邀请到老蒋创客圈第67期对话标杆直播连麦&#xff0c;我们邀请到【君儒文化】平台创始人彭君如老师。从去年12月份参加创客匠人的线下大课后&#xff0c;就果断加入陪跑&#xff0c;到今年7月份顺利拿到68w的发售大结果。 前面我们介绍了彭老师的传承、发心愿景&#xff0…

小程序体验版无法正常请求接口,开启 调试可以正常请求

在本地开发工具可以正常访问小程序&#xff0c;上传代码后打开体验版&#xff0c;界面无法请求接口&#xff0c;手机小程序打开调试模式可以正常访问。这可以查看下小程序后台是否设置了服务器域名以及业务域名 然后查看小程序开发工具 - 详情 - 项目配置 重新上传代码&#xf…

二叉树的层序遍历(含八道leetcode相关题目)

文章目录 二叉树层序遍历模板102. 二叉树的层序遍历107. 二叉树的层序遍历 II199. 二叉树的右视图637. 二叉树的层平均值515. 在每个树行中找最大值429. N 叉树的层序遍历116. 填充每个节点的下一个右侧节点指针117. 填充每个节点的下一个右侧节点指针 II 二叉树层序遍历模板 …