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部分,usernamepassword是客户端用来配置客户端连接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.propertiegroup.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是一个服务封装程序,它可以将普通exebat、以及任何程序封装成服务,使之像windows服务一样运行,就像一个服务壳一样,将你的程序包在NSSM里面。

NSSM如何使用

  1. 下载NSSM download.
  2. 根据自己的平台,将32/64位nssm.exe文件解压至任意文件夹。
  3. cmd定位至nssm.exe所在目录。
  4. 输入 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服务,并且启动zookeeperkafka服务。你可以直接拿过去使用,注意需要修改下参数,例如将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常用命令

  1. nssm install servername //创建servername服务
  2. nssm start servername //启动服务
  3. nssm stop servername //暂停服务
  4. nssm restart servername //重新启动服务
  5. nssm remove servername //删除创建的servername服务

3.6总结

NSSM可以将控制台程序一样的安装为服务,再配合定时任务,可以做好多事情。

4.confluent简介

        confluent是平台化的工具,封装了kafka,让我们可以更方便的安装和使用监控kafka,作用类似于CDH对于Hadoop

        confluent是由LinkedIn开发出Apache Kafka的团队成员,基于这项技术创立了新公司ConfluentConfluent的产品也是围绕着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(开源)。允许一些系统通过HTTPkafka之间发送和接收消息。

Confluent Schema Registry(开源)。帮助确定每一个应用使用正确的schema当写数据或者读数据到kafka中。

4.5 Confluent的安装

4.5.1下载地址:

http://www.confluent.io/download

打开后,显示最新版本,在右边填写信息后,点击Download下载。

本次我们主要使用REST Proxy,当然底层的broker也是使用confluentkafka组件,下面简述安装步骤:

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

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

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

相关文章

Atcoder 做题记录

My OI Blog A R C 155 F \mathbb{ARC \ 155 \ F} ARC 155 F E, F 先咕着,做一些多项式题,这篇题解是我人工翻译的 [1] Double Counting 双重计数 考虑从叶子节点开始,用唯一的方式(如果有的话)来构造出一棵满足条件的树…

“AI乳腺癌检测”风暴眼中的三篇论文

深度学习和医学研究界对谷歌、纽约大学和DeepHealth发表的三篇有前途的乳腺癌诊断论文引发的讨论非常热烈。 几年前,纽约大学的一组研究人员开始发表关于将深度学习应用于癌症筛查的论文。该团队的最新论文《深度神经网络改善放射科医生在癌症筛查中的表现》于2019…

mybatisplus集成geometry实现增改功能

前言 在我们工作中想要实现将空间点位信息存储到数据库时,一般使用以下语句实现 INSERT INTO test-point ( point,text ) VALUES ( st_GeomFromText ( POINT(1 1) ),第1个点);update test-point set pointst_PointFromText(POINT(5 5)) where id 10;但是这样每次都要去编写新…

【腾讯云 Cloud Studio 实战训练营】使用Cloud Studio快速构建React完成点餐H5页面还原

文章目录 一、前言二、Cloud Studio 功能介绍三、实验介绍四、实操指导打开官网注册 Cloud Studio 五、开发一个简版的点餐系统安装 antd-mobile安装 Less 六、发布仓库七、开发空间八、总结 一、前言 IDE(集成开发环境)是一种软件工具,旨在…

R语言linkET包绘制相关性组合网络热图

热图就是使用颜色来表示数据相关性的图。能绘制热图的R包很多,既往我们已经介绍了《R语言pheatmap包绘制热图》,今天咱们来介绍一下R语言linkET包绘制相关性组合网络热图。相关性热图的意思热图和其他数据的关联性,比较的是多数据间的内在关系…

【宝藏系列】Linux 常用磁盘管理命令详解

【宝藏系列】Linux 常用磁盘管理命令详解 文章目录 【宝藏系列】Linux 常用磁盘管理命令详解前言1️⃣ df2️⃣du3️⃣fdisk📟磁盘格式化📠磁盘检验⌨️磁盘挂载与卸除📀卸载/dev/hdc6 前言 Linux磁盘管理常用三个命令为df、du和fdisk。 df…

Stable Diffusion教程(6) - 扩展安装

打开stable diffusion webUI界面 加载插件列表 依次点击扩展->可用->加载自 搜索插件 首先在搜索框输入你要安装的插件,然后点击插件后面的安装按钮 如果你需要的插件这里面没有找到,可通过通网址安装的方式安装。 在git仓库网址输入框输入的你插件…

招投标系统简介 企业电子招投标采购系统源码之电子招投标系统 —降低企业采购成本 tbms

​功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

强化学习分享(一) DQN算法原理及实现

摘要:主要讲解DQN算法的原理,伪代码解读,基于pytorch版本的DQN小游戏编程,同时对该代码进行详细标注,以及奉上原码。 (一)强化学习算法介绍 DQN,顾名思义,Deep Q Learni…

飞凌嵌入式「国产」平台大盘点(二)全志系列

在上篇文章中,小编带大家一起盘点了飞凌嵌入式国产平台中的瑞芯微系列核心板。本篇文章,将继续为大家介绍的是全志系列核心板,话不多说,上干货! 全志科技 飞凌嵌入式 飞凌嵌入式与全志科技的合作始于2019年&#xff…

AI 绘画Stable Diffusion 研究(四)sd文生图功能详解(上)

大家好,我是风雨无阻。 通过前面几篇AI 绘画Stable Diffusion 研究系列的介绍,我们完成了Stable Diffusion整合包的安装、模型ControlNet1.1 安装、模型种类介绍与安装,相信看过教程的朋友们,手上已经有可以操作实践的Stable Diff…

论文阅读-BotPercent: Estimating Twitter Bot Populations from Groups to Crowds

目录 摘要 引言 方法 数据集 BotPercent架构 实验结果 活跃用户中的Bot数量 Bot Population among Comment Sections Bot Participation in Content Moderation Votes Bot Population in Different Countries’ Politics 论文链接:https://arxiv.org/pdf/23…

实例030 窗口颜色的渐变

实例说明 在程序设计时,可以通过设置窗体的BackColor属性来改变窗口的背景颜色。但是这个属性改变后整个窗体的客户区都会变成这种颜色,并且非常单调。如果窗体的客户区可以向标题栏一样能够体现颜色的渐变效果,那么窗体风格将会另有一番风味…

2024年浙财MBA项目招生信息全面了解

2024年全国管理类硕士联考备考已经到了最火热的阶段,不少考生开始持续将注意力集中在备考的规划中!杭州达立易考教育整合浙江省内的MBA项目信息,为大家详细梳理了相关报考参考内容,方便大家更好完成择校以及针对性的备考工作。本期…

京东开源的、高效的企业级表格可视化搭建解决方案:DripTable

DripTable 是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。 DripTable 目前包含以下子项目:drip-table、drip-table-gene…

静态网页加速器:优化性能和交付速度的 Node.js 最佳实践

如何使用 Node.js 发布静态网页 在本文中,我们将介绍如何使用 Node.js 来发布静态网页。我们将创建一个简单的 Node.js 服务器,将 HTML 文件作为响应发送给客户端。这是一个简单而灵活的方法,适用于本地开发和轻量级应用。 1、创建静态网页…

Linux中提示No such file or directory解决方法

说明: 在linux下,./xxx.sh执行shell脚本时会提示No such file or directory。但shell明明存在,为什么就是会提示这个呢? 这种其实是因为编码方式不对,如你在win下编辑sh,然后直接复制到linux下面 实现&…

机器学习笔记之优化算法(九)收敛速度的简单认识

机器学习笔记之优化算法——收敛速度的简单认识 引言收敛速度的判别标准 Q \mathcal Q Q-收敛速度 R \mathcal R R-收敛速度关于算法复杂度与收敛速度 引言 本节对收敛速度简单介绍。 收敛速度的判别标准 我们之前几节介绍了线搜索方法 ( Line Search Method ) (\text{Line …

【Linux命令200例】awk文本处理工具的系统与实战讲述(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已…

美团基础架构面经总结汇总

美团基础架构的面经。 问的全是基础,一个编程语言的问都没有。 问题记录 MySQL-MVCC InooDB是通过 MVCC 实现可重复读的隔离级别的,MVCC 就是多版本并发控制,它其实记录了历史版本的数据,解决了读写并发冲突问题。有一个版本编码,然后它进入了各种操作下的数据状态,能…