Windows系统下Elasticsearch-7.15.2安装

一、环境

此次笔记使用的运行环境以及软件版本

系统:WIN10

JDK版本:1.8

Elasticsearch版本:7.15.2

elasticsearch-head版本:最新

IK分词器版本:7.15.2

Kibana版本:7.15.2

二、Elasticsearch基本知识

2.1 介绍

ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

2.2 使用场景

(1)监听网站Nginx的日志时时同步到ES,通过Kibana来分型日志是否存在问题,服务器层面的监控;

(2)监听Mysql日志,对日志进行监控检测,对于业务来说可以进行一些辅助分析;

(3)用户行为数据埋点收集,提供大数据分析数据支持;

(4)使用ES来构建网站的全文检索引擎;

2.3 Elasticsearch 特点

(1)分布式的实时文件存储,每个字段都被索引并可被搜索;

(2)分布式的实时分析搜索引擎;

(3)可弹性扩展到上百台服务器规模,处理PB级结构化或非结构化数据;

(4)开箱即用(安装即可使用),它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。只需很少的学习既可在生产环境中使用。

2.4 ElasticSearch核心概念:倒排索引

关系型数据库 拿着文档找单词 elasticSearch 拿着单词找文档

elasticSearch中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型可以包含多个文档(行),每个文档可以包含多个字段(列)

es是面向文档的,一切都是json。

关系型数据库和elasticSearch对比  

关系型数据库elasticSearch
数据库(database)索引 indices
表(table)类型 types
行(row)文档 documents
字段(columns)fields
2.5 ElasticSearch基本概念

(1) Cluster

集群是一个或多个节点的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。群集由唯一的名称标识,默认情况下为“elasticsearch”。此名称很重要,因为如果节点设置为按名称加入群集,则该节点只能是群集的一部分。

确保不要在不同的环境中重用相同的群集名称,否则很可能会导致节点加入错误的群集。例如,您可以使用logging-dev,logging-stage以及logging-prod用于开发,预发和生产环境。

如果群集中只有一个节点,那么它是完全正常的。此外,您还可以拥有多个独立的集群,每个集群都有自己唯一的集群名称。

(2) Node

节点是作为集群一部分的单个服务器,存储数据并参与集群的索引和搜索功能。就像集群一样,节点由名称标识,默认情况下,该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。如果不需要默认值,可以定义所需的任何节点名称。此名称对于管理目的非常重要,您可以在其中识别网络中哪些服务器与Elasticsearch集群中的哪些节点相对应。

可以将节点配置为按集群名称加入特定群集。默认情况下,每个节点都设置为加入一个名为cluster的集群elasticsearch,这意味着如果您在网络上启动了许多节点并且假设它们可以相互发现,它们将自动形成并加入一个名为elasticsearch的集群。

在单个集群中,可以拥有任意数量的节点。此外,如果网络上当前没有其他Elasticsearch节点正在运行,则默认情况下启动单个节点将形成一个名为elasticsearch的新单节点集群。

ElasticSearch本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 ElasticSearch实例。单个 ElasticSearch实例称为一个节点(node)。一组节点构成一个集群(cluster)。

(3)Index

索引是具有某些类似特征的文档集合。

例如,可以给客户数据建立一个索引,给产品目录建立另一个索引或给订单数据的建立一个索引。

索引有一个名称标识(必须全部小写),此名称用于在对其中的文档执行索引,搜索,更新和删除操作时引用索引所用。

在单个群集中,您可以根据需要定义任意数量的索引。

ElasticSearch会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。所以,ElasticSearch数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。通过下面命令可以访问当前节点的所有 Index

curl -X GET 'http://localhost:9200/_cat/indices?v'

(4)Type

Type是一个逻辑意义上的分类或者叫分区,允许在同一索引中建立多个type。本质是相当于一个过滤条件,高版本将会废弃type概念。

Document 可以分组,比如 weather 这个 Index 里面,可以按城市分组(北京和上海),也可以按气候分组(晴天和雨天)。这种分组就叫做 Type,它是虚拟的逻辑分组,用来过滤 Document。

不同的 Type 应该有相似的结构(schema),举例来说, id 字段不能在这个组是字符串,在另一个组是数值。这是与关系型数据库的表的一个区别。性质完全不同的数据(比如 productslogs )应该存成两个 Index,而不是一个 Index 里面的两个 Type(虽然可以做到)。

下面的命令可以列出每个 Index 所包含的 Type。

curl 'localhost:9200/_mapping?pretty=true'

注意:Elastic 6.x 版只允许每个 Index 包含一个 Type,7.x 版将会彻底移除 Type。

(5)Document

Document是可以编制索引的基本信息单元。例如,您可以为单个客户提供文档,为单个产品提供另一个文档,为单个订单提供另一个文档。该文档以JSON(JavaScript Object Notation)表示,JSON是一种普遍存在的互联网数据交换格式。

在索引/类型中,可以根据需要存储任意数量的文档。

值得注意的是,尽管文档实际上驻留在索引中,但实际上必须将文档分配给索引中的一个类型(type)中。

Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。

Document 使用 JSON 格式表示,如下所示:

{"id": "000001","name": "joshua317","age": 28
}

(6)分片(Shards)

索引可能存储大量可能超过单个节点硬件限制的数据。例如,占用1TB磁盘空间的十亿个文档的单个索引可能不适合单个节点的磁盘,或者可能太慢而无法单独从单个节点提供搜索请求。

为了解决这个问题,Elasticsearch提供了将索引细分为多个称为分片的功能。创建索引时,只需定义所需的分片数即可。每个分片本身都是一个功能齐全且独立的“索引”,可以托管在集群中的任何节点上。

分片很重要,主要有两个原因:

  • 它允许集群进行水平扩展;

  • 它允许集群跨分片(可能在多个节点上)分布和并行化操作,从而提高性能和吞吐量。 分片的分布方式以及如何将其文档聚合回搜索请求的机制完全由Elasticsearch管理,对用户而言是透明的。

(7)副本(Replicas)

副本主要是针对主分片(Shards)的复制,Elasticsearch中主分片可以拥有0个或多个的副本。

副本分片的主要目的就是为了故障转移。

分片副本很重要,主要有两个原因:

  • 它在分片或节点发生故障时提供高可用性。因此,副本分片永远不会在与其复制的主分片相同的节点;

  • 副本分片也可以接受搜索的请求,可以并行搜索,从而提高系统的吞吐量。

每个Elasticsearch分片都是Lucene索引。单个Lucene索引中可以包含最大数量的文档。截止LUCENE-5843,限制是2,147,483,519(= Integer.MAX_VALUE - 128)文档。您可以使用_cat/shardsAPI 监控分片大小。

三、Elasticsearch-7.15.2安装

3.1 下载安装包

访问地址:Download Elasticsearch | Elastic

下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.15.2-windows-x86_64.zip

3.2 解压运行

解压到自己的安装目录

目录文件作用:
bin :脚本文件,包括 ES 启动 & 安装插件等等
config : elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等
JDK : 内置的 JDK,JAVA_VERSION="13.0.2"
lib : 类库
logs : 日志文件
modules : ES 所有模块,包括 X-pack 等
plugins : ES 已经安装的插件。默认没有插件
data : ES 启动的时候,会有该目录,用来存储文档数据。该目录可以设置
​

运行,直接双击bin目录下面的 elasticsearch.bat 文件

注意:会出现下面的告警信息,主要说的是本机安装的jdk1.8版本不满足需要,Elasticsearch7.x所需要的jdk版本是java11,可以忽略这个告警,当然也可以根据需要调整到java11的版本。

"warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME"
Future versions of Elasticsearch will require Java 11; your Java version from [C:\MyProgram\Java\jdk1.8.0_281\jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
Future versions of Elasticsearch will require Java 11; your Java version from [C:\MyProgram\Java\jdk1.8.0_281\jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
Warning: with JDK 8 on Windows, Elasticsearch may be unable to derive correctergonomic settings due to a JDK issue (JDK-8074459). Please use a newerversion of Java.
Warning: MaxDirectMemorySize may have been miscalculated due to JDK-8074459.Please use a newer version of Java or set MaxDirectMemorySize explicitly.
​

在elasticsearch7.x之后的版本, 已经集成了自带的jdk, 在根目录下的jdk文件夹中 这里需要修改elasticsearch-env.bat启动文件的配置内容, 设置系统使用elasticsearch自带的jdk版本 在 bin/elasticsearch-env.bat 文件中找到关于JAVA_HOME的配置, 注释掉if…else判断的东西, 替换为如下三行代码

把下面的代码

# now set the path to java
if [ ! -z "$ES_JAVA_HOME" ]; thenJAVA="$ES_JAVA_HOME/bin/java"JAVA_TYPE="ES_JAVA_HOME"
elif [ ! -z "$JAVA_HOME" ]; then# fallback to JAVA_HOMEecho "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2JAVA="$JAVA_HOME/bin/java"JAVA_TYPE="JAVA_HOME"
else# use the bundled JDK (default)if [ "$(uname -s)" = "Darwin" ]; then# macOS has a different structureJAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"elseJAVA="$ES_HOME/jdk/bin/java"fiJAVA_TYPE="bundled JDK"
fi

改为:

set JAVA="%ES_HOME%\jdk\bin\java.exe"
set JAVA_HOME="%ES_HOME%\jdk"
set JAVA_TYPE=bundled jdk

然后重新启动。

启动成功后,会出现下面的信息

简单访问下

四、elasticsearch-head插件安装

为了便于管理ES,可使用head插件,这是最初级的管理工具,在浏览器中显示ES集群,索引等信息,十分简便好用。

安装elasticsearch-head需要安装node和grunt

4.1 node下载并安装

node访问地址:

Node.js

node下载地址:

https://nodejs.org/dist/v16.13.0/node-v16.13.0-x64.msi

直接双击进行安装,安装完成后,可以通过 node -v 查看

)

4.2 elasticsearch-head下载并安装

访问地址:

GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster

下载地址:

https://github.com/mobz/elasticsearch-head/archive/refs/heads/master.zip

解压 elasticsearch-head-master到 elasticsearch的安装目录

4.3 安装grunt

grunt 是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动。

在命令行下执行 npm install -g grunt-cli

4.4 安装依赖

在elasticsearch-head-master目录下执行 npm install 安装依赖

4.5 修改elasticsearch-head-master配置

修改服务器监听地址,配置文件: Gruntfile.js

connect: {server: {options: {port: 9100,base: '.',keepalive: true,hostname: '*'}}}
4.6 修改elasticsearch配置,重新启动

修改elasticsearch安装目录下的配置文件 config/elasticsearch.yml

# 设成0.0.0.0让任何人都可以访问,线上服务不要这样设置。
network.host: 0.0.0.0
http.port: 9200
# 解决elasticsearch-head 集群健康值: 未连接问题, 配置解决跨域, 否则es-head连接会跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
node.name: node-1
cluster.initial_master_nodes: ["node-1"]

注意:

(1)elasticsearch.yml文件的编码是utf-8

(2)如果出现下面报错信息

node validation exception
[1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

这个问题是由于配置的问题导致的, 修改配置文件即可解决,在elasticsearch.yml中配置node节点

node.name: node-1
cluster.initial_master_nodes: ["node-1"]

修改完配置后,重启elasticsearch服务

4.7 启动运行elasticsearch-head服务

在elasticsearch-head-master目录下执行 grunt server 命令

如果在PowerShell下以管理员的身份下执行 grunt server 下面错误

PS C:\MyProgram\elasticsearch-7.15.2-windows\elasticsearch-head-master> grunt --version
grunt : 无法加载文件 C:\Users\joshua317\AppData\Roaming\npm\grunt.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ grunt --version
+ ~~~~~+ CategoryInfo          : SecurityError: (:) [],PSSecurityException+ FullyQualifiedErrorId : UnauthorizedAccess

需要执行下面命令,然后选择Y

set-ExecutionPolicy RemoteSigned

关闭PowerShel ,然后执行 get-ExecutionPolicy ,发现变成了RemoteSigned,就成功了

然后重新执行 grunt server 命令即可

4.8 访问elasticsearch-head服务

访问:Node Exporter

如果出现集群健康值:未连接,请查看Elasticsearch配置是否正确,Elasticsearch服务是否启动

五、IK分词器安装

在Elasticsearch中,使用较多的中文分词器是 elasticsearch-analysis-ik,这个是 es 的一个第三方插件,代码托管在 GitHub 上:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary.

注意:Elasticsearch的版本7.15.2,所以需要对应的ik分词器插件版本应该也是7.15.2,也就是说IK分词器的版本要选择和Elasticsearch版本号一样

项目访问地址:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary.

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.2/elasticsearch-analysis-ik-7.15.2.zip

(1)安装方式一

直接进入进入Elasticsearch安装目录的的bin目录下,打开命令行窗口执行命令即可。

.\elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.2/elasticsearch-analysis-ik-7.15.2.zip

(2)安装方式二

下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.2/elasticsearch-analysis-ik-7.15.2.zip

直接将elasticsearch-analysis-ik-7.15.2.zip文件拷贝到Elasticsearch安装目录的plugins目录下解压后并将elasticsearch-analysis-ik-7.15.2解压后的文件夹重命名为ik

重新运行bin/elasticsearch.bat重启,ik安装完成。

不知道如何验证是否安装成功,可以先使用帮助命令 elasticsearch-plugin -h 查看可用的命令

C:\MyProgram\elasticsearch-7.15.2-windows\bin> ./elasticsearch-plugin -h
A tool for managing installed elasticsearch pluginsCommands
--------
list - Lists installed elasticsearch plugins
install - Install a plugin
remove - removes plugins from ElasticsearchNon-option arguments:
commandOption             Description
------             -----------
-E <KeyValuePair>  Configure a setting
-h, --help         Show help
-s, --silent       Show minimal output
-v, --verbose      Show verbose output

所以我们可以使用 elasticsearch-plugin list 查看已安装得插件。

C:\MyProgram\elasticsearch-7.15.2-windows\bin> ./elasticsearch-plugin list
ik

六、Kibana安装

Kibana 是一个 Elastic 公司推出的一个针对 es 的分析以及数据可视化平台,可以搜索、查看存放在 es 中的数据。

访问地址:Download Kibana Free | Get Started Now | Elastic

下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-7.15.2-windows-x86_64.zip

解压kibana-7.15.2-windows-x86_64.zip到目标路径修改kibana-7.15.2-windows-x86_64\config路径下的kibana.yml

server.port: 5601
elasticsearch.hosts: ["http://localhost:9200"]

启动Kibana

注意需要先启动elasticsearch.bat,再启动kibana.bat

直接通过链接访问:http://localhost:5601/

进入到开发者工具,http://127.0.0.1:5601/app/dev_tools#/console

禁用Kibana安全提示(Elasticsearch built-in security features are not enabled)

Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/security-minimal-setup.html to enable security.

elasticsearch.yml 配置禁用安全选项 xpack.security.enabled ,之后重启ElasticSearch即可:

xpack.security.enabled: false

YAML

Copy

最后,报错不要慌,在安装或者运行过程中,遇到异常或者报错,查看Elasticsearch安装目录下的logs目录里面的文件

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

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

相关文章

java源码-类与对象

1、类与对象的初步认知 在了解类和对象之前我们先了解一下什么是面向过程和面向对象。 1&#xff09;面向过程编程&#xff1a; C语言就是面向过程编程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 2&#xff09;面向对…

第一类瑞利索末菲标量衍射模型的方孔衍射的空间像计算(附python计算代码)

记第一类瑞利索末菲标量衍射模型的方孔衍射的空间像计算(附python计算代码) RS type 1 衍射空间像计算傅里叶变换采样条件实际计算计算要求傅立叶变换法计算直接卷积方法计算代码傅立叶变换方法直接卷积https://zhuanlan.zhihu.com/p/624292239 Goodman, J. W. (2004). Intro…

蓝桥杯day04——查询后矩阵的和

1.题目 给你一个整数 n 和一个下标从 0 开始的 二维数组 queries &#xff0c;其中 queries[i] [typei, indexi, vali] 。 一开始&#xff0c;给你一个下标从 0 开始的 n x n 矩阵&#xff0c;所有元素均为 0 。每一个查询&#xff0c;你需要执行以下操作之一&#xff1a; …

C++作业2

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() 代码&#xff1a…

数字图像处理(实践篇)十七 Shi-Tomasi 角点检测

目录 一 涉及的函数 二 实践 在使用OpenCV之前&#xff0c;需要先安装相关的库和依赖项&#xff0c;命令如下所示&#xff1a; # 安装OpenCV的基础版pip install opencv-python# 安装OpenCV的扩展版pip install opencv-contrib-python 一 涉及的函数 OpenCV 提供了cv2.goo…

gitee仓库使用教程

目录 一、项目与仓库映射 二、git常用命令的用法 一、项目与仓库映射 下载安装git&#xff1b;在本地项目文件夹右击鼠标点击Git Bash Here;输入git init&#xff0c;这个目录变成git可以管理的仓库&#xff0c;会出现一个.git文件夹&#xff0c;如果没出现的话需要选择“显…

DAPP开发【02】Remix使用

系列文章目录 系列文章在DAPP开发专栏 文章目录 系列文章目录使用部署测试网上本地项目连接remix本地项目连接remix 使用 创建一个新的工作空间 部署测试网上 利用metaMask连接测试网络 添加成功&#xff0c;添加时需要签名 即可进行编译 即可部署 本地项目连接remix 方…

JVM内存结构

一、 整体结构 .java文件被javac编译成.class字节码文件。 .class文件再由JVM编译成设用于具体系统的机器码文件 下图即JVM编译.class文件的过程 JVM分为 类加载器&#xff0c; 内存结构&#xff0c; 执行引擎三部分 一、类加载器负责加载二进制字节码文件 二、方法区存储类…

反序列化漏洞(二)

目录 pop链前置知识&#xff0c;魔术方法触发规则 pop构造链解释&#xff08;开始烧脑了&#xff09; 字符串逃逸基础 字符减少 字符串逃逸基础 字符增加 实例获取flag 字符串增多逃逸 字符串减少逃逸 延续反序列化漏洞(一)的内容 pop链前置知识&#xff0c;魔术方法触…

【Excel/Matlab】绘x-y图并求切线和截距(详细图解)

最近做大物实验数据较多&#xff0c;手绘图比较麻烦且不精确&#xff0c;所以开始用电脑作图&#xff0c;粗浅记录一下。 方法一 excel &#xff08;简单快捷&#xff09; 1 录入数据 在excel中录入数据 2 生成平滑线散点图 选中录入的所有数据->右键点击快速分析->选择…

TCP_握手+挥手过程状态变化分析

TCP状态解读 握手挥手过程状态变化 同时握手 双发同时发起syn请求&#xff0c;状态变化过程如下&#xff1a; 图片来源&#xff1a;http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-4.htm 同时挥手 4次挥手&#xff0c;可以理解为2…

Linux的权限(一)

目录 权限的本质 Linux权限的概念 如何创建与删除普通用户 创建普通用户&#xff1a; 设置用户密码&#xff1a; 删除普通用户&#xff1a; 删除与该用户关联的主目录和邮件目录 &#xff1a; su指令 sudo指令 Linux权限管理 Linux中文件访问者有三种“人” Linux…

使用 Go 构建高性能的命令行工具

命令行工具&#xff08;CLI&#xff09;在软件开发中扮演着重要的角色&#xff0c;尤其是在自动化工具、开发工具链和服务器管理等领域。Go 语言以其简洁性和高性能而闻名&#xff0c;非常适合用来创建强大且高效的 CLI 工具。本文将详细介绍如何使用 Go 语言来构建 CLI 应用&a…

甄知黄建华:从“天赋平平”到IT行业“六边形战士”,探索出企业数智化转型的“强IT”之路

本期我们先抛开人物和主体不表&#xff0c;从大环境开始谈起。随着科技的快速发展和全球商业环境的不断变化&#xff0c;中国企业对灵活性、创新性、全球化和效率的需求是迫切的&#xff0c;进行数字化转型来支撑企业的业务变革、组织优化已是业界共识。如何根据企业的实际情况…

锐捷EWEB网管系统 RCE漏洞复现

0x01 产品简介 锐捷网管系统是由北京锐捷数据时代科技有限公司开发的新一代基于云的网络管理软件&#xff0c;以“数据时代创新网管与信息安全”为口号&#xff0c;定位于终端安全、IT运营及企业服务化管理统一解决方案。 0x02 漏洞概述 Ruijie-EWEB 网管系统 flwo.control.ph…

定时任务特辑 | Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,和Spring Boot集成实战

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

Docker从入门到实战:Docker快速部署、Dockerfile编写、容器间通信及共享数据实战、Docker-compose详解

文章目录 一、基本概念1、体系结构2、容器与镜像1&#xff09;镜像2&#xff09;容器a、容器内部结构b、容器生命周期 3、执行流程 二、常用命令docker pull 镜像名<:tags> &#xff1a;从远程仓库抽取镜像docker images&#xff1a;查看本地镜像docker run 镜像名<:t…

C++11入门

目录 C11简介 统一的列表初始化 声明 范围for循环 STL中一些变化 C11简介 在2003年C标准委员会提交了一份技术勘误表(简称TC1).使得C03这个名字取代了C98成为C11之前的最新C标准名称.但由于C03主要是对C98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯的把…

代数学笔记6: 群同态基本定理,循环群结构定理

群同态 ρ : G 1 ( , ⋅ ) → G 2 ( , ∘ ) g ↦ ρ ( g ) \rho:G_1(\ ,\cdot)\to G_2(\ ,\circ)\\ \qquad\ \ g\mapsto \rho(g) ρ:G1​( ,⋅)→G2​( ,∘) g↦ρ(g) ∀ g 1 , g 2 ∈ G \forall g_1,g_2\in G ∀g1​,g2​∈G, 有 ρ ( g 1 ⋅ g 2 ) ρ ( g 1 ) ∘ ρ ( g 2 …

解决报错:error: (-215:Assertion failed) inv_scale_x > 0 in function ‘cv::resize‘

需求背景 欲使用opencv的resize函数将图像沿着纵轴放大一倍&#xff0c;即原来的图像大小为(384, 512), 现在需要将图像放大为(768, 512)。 源码 import cv2 import numpy as np# 生成初始图像 img np.zeros((384, 512), dtypenp.uint8) img[172:212, 32:-32] 255 H, W …