「OceanBase 4.1 体验」OceanBase:解读领先的分布式数据库系统,功能与体验全解析

在这里插入图片描述

文章目录

    • 前言
    • 一、关于 【OceanBase 4.1】征文活动(可跳过)
    • 二、OceanBase 产品了解
      • 2.1 初识 OceanBase
      • 2.2 什么是 OceanBase
      • 2.3 OceanBase 相关链接
      • 2.4 OceanBase 与传统数据库对比有何特别之处
      • 2.5 OceanBase 相关概念以及术语
        • 2.5.1 OceanBase 基本概念
        • 2.5.2 OceanBase 集群、Zone 和 OB Server
        • 2.5.3 OceanBase 相关术语总结
      • 2.6 OceanBase 4.1 有哪些更新
    • 三、OceanBase 初体验
      • 3.1 Linux 上部署安装 OceanBase 4.1
        • 3.1.1 检查所需环境配置
        • 3.1.2 下载社区版的 oceanbase-all-in-one 安装包
        • 3.1.3 设置环境变量
        • 3.1.4 使用 obd 快速部署相关组件
      • 3.2 验证连接
    • 四、OceanBase 社区版与企业版区别(06/04/2023 追加更新)
    • 文末总结

前言

本文旨在介绍 OceanBase 4.1 版本的特点、更新内容和初体验,帮助读者了解和掌握这个开源分布式关系型数据库管理系统。如果你对大规模数据存储和处理的挑战感兴趣,或者正在寻找一种满足互联网领域高并发、高可靠性和高扩展性要求的数据库解决方案,本文将为你提供有价值的信息和指导。

我们将介绍 OceanBase 的基本概念和与传统数据库的对比,详细探讨 OceanBase 4.1 版本的更新内容,以及引导读者进行初体验。通过本文的阅读,你将对 OceanBase 的特点、更新内容和使用方法有更清晰的了解,能够判断其是否适合你的需求,并开始尝试使用它来处理大规模数据存储和处理的挑战。无论你是开发人员、数据工程师还是对数据库技术感兴趣的读者,本文都将为你提供有益的指导和启示。现在,让我们深入探索OceanBase 4.1版本的魅力吧!

一、关于 【OceanBase 4.1】征文活动(可跳过)

就和 Header 的海报一样,这个文章主要是针对 OceanBase 4.1 征文活动进行的一次上手体验文章,在本文中可能会出现 OceanBase 的简称:OB,此缩写仅代表于本文讲解观点使用,并不代表官方缩写观点。如果有错误或者表达阅读问题,请留言指正。

活动官方链接https://blog.csdn.net/OceanBaseGFBK/article/details/130227040

在这里插入图片描述
活动流程与安排

文章投稿: 4 月 18 日——5 月 22 日
评审阶段: 4 月 19 日——5 月 23 日
专家评优: 5 月 24 日——5 月 30 日
结果公布(开始发放稿酬和奖品): 5 月 31 日

如果您有一天看到本文,并且发现活动已经结束,请关注本文后续文章或者直接访问 OB 官方博客:@OceanBase数据库官方博客 了解相关OB产品活动。

二、OceanBase 产品了解

2.1 初识 OceanBase

差不多两年前左右,OceanBase 在 TPC-C 认证打败 Oracle,开始认识 OceanBase,很遗憾当时并没有对这个国产数据库有过进一步了解,直到前段时间从@几何心凉的一篇文章【OceanBase开发者大会震撼来袭】中再次见到 OB 数据库的消息,进而看到官方发的征文活动,才开始尝试接触 OceanBase。

记得当时还和凉哥聊起在北京的大会,可惜自己不在北京,不然真的很想去参加看一看。

在这里插入图片描述

图片来源于凉哥,图片原链接在上文中

2.2 什么是 OceanBase

OceanBase 是一个开源的、国产的分布式关系型数据库管理系统(RDBMS),由我国的互联网巨头阿里巴巴集团研发。它旨在处理大规模数据存储和处理的挑战,可以满足互联网领域高并发、高可靠性和高扩展性的要求。

传统的关系型数据库管理系统(如MySQL、Oracle)通常面临着数据量急剧增长、请求负载大和数据一致性要求高等问题。OceanBase 通过分布式架构和横向扩展的方式解决了这些问题。

被大家熟知的双11,就是使用 OB 来进行数据库支持,双11数据量可以达到百万级规模,当单服务器发生故障时,OB 可以进行自愈,跨城多机房容灾,数据多副本存储,OB 官方有提到推出了“三地五中心”城市级容灾新标准,最高可达金融 6 级标准(RPO=0,RTO<=8 秒),这个级别的容灾确实已经很高,一般银行或者金融企业,个人的经验中,“两地三中心”,5 级标准就已经够用了。

从摩天轮最新国产数据库流行度来看 OB 现在已经位居第一位。

在这里插入图片描述

2.3 OceanBase 相关链接

这里整理了一下相关 OB 的实用链接,需要可以直接复制链接后访问即可

  • 官网:https://open.oceanbase.com/
  • 官方社区:https://ask.oceanbase.com/
  • C 站官方博客:https://blog.csdn.net/OceanBaseGFBK
  • GitHub 地址:https://github.com/oceanbase/oceanbase
  • 官方文档:https://www.oceanbase.com/docs

2.4 OceanBase 与传统数据库对比有何特别之处

这里根据老师讲解的视频,总结出来的对比表供大家参考,虽然对比详细,有些对比确实相比传统数据库优点非常明显,但是对应用场景以及使用成本的介绍,请自行调查对比,此处因为博主没有做完整的调研和对比,不做表态,此处只做参考。

以OceanBdse为代表的分布式数据库传统集中式数据库
产品架构原生的“分布式”数据库,采用业界最严格的 Paxos 分布式一致性协议。基于普通 PC 硬件的设计,不需要高端硬件。经典的“单点集中式”架构,采用“全共享(Share-Everything)"架构。构建于高端的硬件基础之上,比如 IBM 高端服务器和 EMC 高端存储设备等。
数据可靠性和服务高可用性以普通PC硬件为基础,利用Paxos分布式一致性协议保证数据可靠性。主节点故障的情况下,Paxos可以保证数据无损(即RPO=0),并且自动选举并恢复服务,服务恢震时间(RTO)在30秒以内。利用高端硬件设备保证数据可靠性。采用"主从复制",主节点故障的情况下,会有数据损失(RPO>0);不能自动恢震服务,服务恢St时间(RTO)通常以小时为单位计算。
扩展性数据节点和计算节点均可以在 MPP 架构下实现水平扩展。数据节点和计算节点均没有数量限制,在网络带宽足够的前提下,可以扩充至任意数目。数据存储只能在单点内实现纵向扩展,最终必然触达单点架构下的容量上限。计算节点通常无法扩展。少数模式下(如 RAC, pureScale)可做计算节点扩展,但多个计算节点之间仍需访问单点共享存储,并且可扩展的计算节点数量有限。
应用场景支付宝核心、网商银行核心、阿里巴巴的众多业务,以及多家外部商业银行。逐渐迈向传统业务。集中在企业客户(金融、电信、政企等)的核心系统。无法应付互联网业务场景,应用案例很少。
使用成本相对较低。基于 PC 硬件的设计降低了硬件费用,软件授权费用和服务费用也有优势。比较昂贵。需要支付高端基础硬件的费用、高昂的软件授权费用以及产品服务费用。

此处博主归纳总结了对比优缺点,如下图,此对比仅代表博主观点,转载请注明出处。

在这里插入图片描述

2.5 OceanBase 相关概念以及术语

2.5.1 OceanBase 基本概念

从DBA管理员角度与开发人员的角度来理解各个基本概念

在这里插入图片描述
管理员通常是 DBA,会创建一个大的集群从而创建一个大的资源池,这个大的资源池中有多个 Zone,每个 Zone 对应一个数据节点,也就是一个 OB Server,资源池创建完毕后,会授权给租户(或者向管理员申请),租户内会有自己的数据库、表以及分区,每个分组内会有多个副本,这个副本会和 Zone 来对应。

2.5.2 OceanBase 集群、Zone 和 OB Server

这里根据官方课程,对 OceanBase 集群、Zone 和 OB Server 进行一些理解记录

整理个人的理解是:集群是 OceanBase 的整体,由多个 Zone 组成,每个 Zone 包含一组 OB Server 节点,负责处理和存储数据。

几个关键点:

  • 一个集群由多个Zone 组成,给集群内的一批机器打上同一个 tag,则属于同一个 Zone。
  • 不同的 Zone 可以对应不同的城市、一个城市的不同机房、或者一个机房内的不同机架。
  • Zone 个数建议是 >=3,建议奇数。
  • 每个 Zone 均有且只有一份完整的副本;单个 Zone 发生故障不会影响业务。
  • 每台 OB Server 相对独立,有独立计算和存储引擎。

在这里插入图片描述

通过这个位置的讲解,我们可以发现,OceanBase 如果将 Zone 部署在不同位置,可以达到不同级别的容灾,
比如:服务器(Server)级无损容灾、机房(Zone)级无损容灾亦或地区(Region)级无损容灾。

2.5.3 OceanBase 相关术语总结

集群(Cluster):集群是由多个 OceanBase 数据库实例组成的逻辑单元。它是一个分布式数据库系统,由多个物理节点协同工作,共同处理和存储数据。一个 OceanBase 集群可以包含多个 Zone。

Zone:Zone 是 OceanBase 集群中的逻辑划分单元。每个 Zone 都是一个独立的数据存储和计算区域。它可以包含一个或多个 OB Server(OceanBase 服务器节点),用于处理和存储特定的数据。一个集群可以划分为多个 Zone,每个 Zone 可以具有不同的配置和特性。

OB Server:OB Server 是 OceanBase 的服务器节点,也是数据存储和计算的基本单元。每个 OB Server 运行在独立的物理或虚拟机器上,负责处理和存储数据。一个 Zone 可以由多个 OB Server 组成,这些节点之间协同工作以实现数据的分布式存储、查询处理和容错性。

OAT:OceanBase Admin Toolkit,自动化部署工具,会检查物理环境等功能。
OCP:OceanBase Cloud Platform,是一款以OceanBase 为核心的企业级数据库管理平台。 OCP V3.3.0 版本新增了日志白屏查询的功能和参数模板功能。

RS:RootService,是 OceanBase 的总控服务一般会选取一个集群Zone中间的一个 OB Server 作为 RS。

ODP:OceanBase Database Proxy,又称 OBProxy 是 OceanBase 专用的代理服务。ODP 自身就有高可用设计。
Lease 机制:Lease 机制,翻译过来即是租约机制,是一种在分布式系统常用的协议,是维护分布式系统数据一致性的一种常用工具。

2.6 OceanBase 4.1 有哪些更新

在这里插入图片描述
从官方给的更新内容来看,基本从易用与性能兼容两个大分类里对 OB 进行了比较大的升级,个人总结起来的一个脑图如下:

在这里插入图片描述

三、OceanBase 初体验

在这里我们使用的是 OB 的社区版本进行做示例,如果是工作的真实环境,需要使用对应的企业版本。

OceanBase 社区版同样支持 白屏(可视化)部署,也支持黑屏命令行(OBD方式)进行部署,为了节约篇幅,下面使用命令行方式在 Redhat 上进行部署 OceanBase 4.1。

3.1 Linux 上部署安装 OceanBase 4.1

3.1.1 检查所需环境配置

根据现阶段相关资料,部署 OceanBase 需要如下一些必要环境:

  • 2881 和 2882 端口没有被占用
  • 机器可用内存不低于 6 G
  • 机器 CPU 数目不低于 2
  • 机器可用磁盘空间不小于 54 G
  • 机器最大打开文件数不能少于 20000
  1. 分别执行如下命令,检查 CPU 和内存
lscpu
lsmem

在这里插入图片描述

  1. 执行如下命令,检查 端口号
netstat -nplt

在这里插入图片描述

  1. 执行下列命令,检查硬盘空间
df -Th

在这里插入图片描述

  1. 检查最大打开文件数

如果你安装的机器最大打开文件数不足20000个可能会出现如下错误

[ERROR] OBD-1007: (127.0.0.1) open files must not be less than 20000 (Current value: 1024)

解决办法

  1. 1 修改内核参数 file-max
vim /etc/sysctl.conf
# 加入以下内容,重启生效
fs.file-max = 102400
net.nf_conntrack_max = 1024000
net.netfilter.nf_conntrack_max = 1024000
  1. 2 修改 ulimit 的 open file,系统默认的 ulimit 对文件打开数量的限制是 1024
vim /etc/security/limits.conf
# 加入以下配置,重启即可生效
* hard nofile 102400
* soft nofile 102400

3.1.2 下载社区版的 oceanbase-all-in-one 安装包

如果本机可以可以联接外网的情况(在线安装),可以直接使用下列命令直接下载并安装oceanbase-all-in-one:

bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"

在这里插入图片描述

如果本机不可以联接外网的情况(离线安装),先要从 OceanBase 社区下载中心 下载最新的 oceanbase-all-in-one 安装包,现时间点最新版本为:OceanBase V4.1.0。下载完毕后可以使用WinSCP或者Filezilla等工具将离线包传送到服务器中后,使用以下命令解压:

# 解压安装包
[admin@bluetata ~]$ tar -xzvf oceanbase-all-in-one-4.1.0.0-100120230423105040.el7.x86_64.tar.gz
# 进入到bin文件夹
[admin@bluetata ~]$ cd oceanbase-all-in-one/bin/
# 将各个组件的 RPM 包加载到本地源,便于后续通过 obd 安装
[admin@bluetata bin]$ ./install.sh
# 添加环境变量
[admin@bluetata bin]$ source ~/.oceanbase-all-in-one/bin/env.sh

安装完后出现提示信息:

在这里插入图片描述

3.1.3 设置环境变量

[root@bluetata]# source ~/.oceanbase-all-in-one/bin/env.sh

3.1.4 使用 obd 快速部署相关组件

这里使用的是直接部署 demo 环境,在使用如下方式部署的时候,会进行安装5个组件,如下图,如果完全安装成功后,会在最后提示组件的相关信息

在这里插入图片描述

进行快速部署有两种方式:

方式一(个人不推荐),直接使用下列命令进行快速部署

obd demo

注意:obd demo 命令默认在当前家目录下以最小规格部署并启动 OceanBase 数据库及相关组件(包括 ODP、OBAgent、Grafana 和 Prometheus),固定部署名为 demo。
采取直接使用obd demo 命令有一个不好的地方就是,如果你的当前家目录下没有足够大的空间,那么大概率会造成部署失败的情况,在上述环境检查步骤中,博主的机器在/data/下有足够的存储空间,所以本文会采用使用参数的方式进行快速部署 demo。
OceanBase如何更改安装目录呢?如果你在安装中也有这个疑问的时候建议你采取下面这种方式(社区版的 OceanBase 如何更改安装部署的路径):

方式二(推荐),使用如下命令指定快速部署的路径后进行安装

obd demo -c oceanbase-ce,obproxy-ce,obagent,prometheus,grafana --home_path=/data/demo

在这个命令中,除了安装部署了必要的相关组件,还添加了一个参数home_path指定了其部署的位置。

关于obd demo [-c/--components] 更多的参数命令可以参看一下官方的文档:点击这里。

在这里插入图片描述

安装成功后的信息如下:

Check before start obproxy ok
Check before start obagent ok
Check before start prometheus ok
Check before start grafana ok
Start observer ok
observer program health check ok
Connect to observer ok
Initialize oceanbase-ce ok
Start obproxy ok
obproxy program health check ok
Connect to obproxy ok
Initialize obproxy-ce ok
Start obagent ok
obagent program health check ok
Connect to Obagent ok
Start promethues ok
prometheus program health check ok
Connect to Prometheus ok
Initialize prometheus ok
Start grafana ok
grafana program health check ok
Connect to grafana ok
Initialize grafana ok
Wait for observer init ok
+---------------------------------------------+
|                   observer                  |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.1.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase -A

+---------------------------------------------+
|                   obproxy                   |
+-----------+------+-----------------+--------+
| ip        | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884            | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase -A
+-------------------------------------------------------------+
|                           obagent                           |
+----------+--------------------+--------------------+--------+
| ip       | mgragent_http_port | monagent_http_port | status |
+----------+--------------------+--------------------+--------+
| 10.5.1.4 | 8089               | 8088               | active |
+----------+--------------------+--------------------+--------+
+-------------------------------------------------+
|                    prometheus                   |
+----------------------+------+----------+--------+
| url                  | user | password | status |
+----------------------+------+----------+--------+
| http://10.5.1.4:9090 |      |          | active |
+----------------------+------+----------+--------+
+---------------------------------------------------------------+
|                            grafana                            |
+----------------------------------+-------+-----------+--------+
| url                              | user  | password  | status |
+----------------------------------+-------+-----------+--------+
| http://10.5.1.4:3000/d/oceanbase | admin | oceanbase | active |
+----------------------------------+-------+-----------+--------+
demo running
Trace ID: ab627330-f4f6-11ed-94ed-000d3a816efe
If you want to view detailed obd logs, please run: obd display-trace ab627330-f4f6-11ed-94ed-000d3a816efe

在这里插入图片描述

注意如果你在安装过程中出现任何错误,都需要先行解决,解决后,再次执行加载环境变量,之后再执行快速部署命令。

3.2 验证连接

在这里插入图片描述

OB 支持多种客户端工具,经常被大家提及的或者会听到大家讲的基本会出现两种,一种是黑屏工具,也就是命令行工具,另外一种是图形化界面工具,也就是大家说的白屏工具。部署安装 OB 的时候也可以使用白屏工具,其功能也很强大,还提供监控诊断等服务,由于篇幅问题以及不是本文重点,本文不过多介绍

下面是使用黑屏工具 OBClient 连接我们之前部署的 OceanBase,进行测试:

在这里插入图片描述

四、OceanBase 社区版与企业版区别(06/04/2023 追加更新)

因为有小伙伴在询问这个事情,我结合官方的以及自身经验来总结一下,有需要的同学可以参考学习。

OceanBase企业版、社区版和云服务版本间关系与定位:

  1. OceanBase企业版提供全量的产品与服务能力,包括Oracle高级兼容、高级安全能力、图形化的开发运维工具、企业级技术支持和运维服务能力。(这一条中可以看出,社区版是不兼容Oracle语法兼容的,这个在本文后面官方链接里也能查到)
  2. OceanBase云服务版与企业版产品能力相同,提供全量的产品能力,区别在于产品形态服务保障方式
  3. OceanBase社区版本提供具有技术竞争力的数据库内核、分布式组件和接口驱动,聚焦构建OceanBase内核技术生态。社区版不提供商业化和产品化能力、不提供企业级技术支持和运维服务能力,代码同源共基线社区版产品能力为企业版子集
  4. OceanBase产品的所有功能特性及接口,除了社区版本和企业版有差异的范围特性,社区版本在集群规模、扩展能力、故障恢复、数据规模、对象支持数量等与企业版能力相同,功能、语法、接口、配置等与企业版兼容;随着社区的持续发展,社区版不保证和企业版的数据文件、协议等二进制完全兼容性,若需要从社区版本向企业版升级,推荐使用导入导出或升级工具进行升级处理。

在这里插入图片描述

和其他数据库或者软件产品类似,OB 社区版一样的免费,企业版肯定是收费,但是无奈我在官网并没有找到定价,云服务版本按需付费,或者租用,这个在阿里云中很容易找到。

关于社区版与企业版的细节区分,可以参看下面这两个官方链接:

  • https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687854
  • https://ask.oceanbase.com/t/topic/31400062/2

文末总结

通过本文的阅读,我们对 OceanBase 4.1 版本有了更全面的了解。我们首先了解了 OceanBase 的基本概念、与传统数据库的区别,并学习了一些相关术语。随后,我们深入探讨了 OceanBase 4.1 版本的更新内容,涵盖了易用性、兼容性、性能优化等方面的改进。最后,我们进行了初体验,学习了如何在 Linux 上部署安装 OceanBase 4.1 并进行连接验证。

综合而言,OceanBase 4.1 版本在提供更易用、更友好的用户体验方面做出了改进,并通过兼容性、性能优化等方面的升级使得OceanBase 更加强大。通过本文的介绍和实践,希望有兴趣的小伙伴可以开始探索和使用 OceanBase,并享受其带来的高性能、高可靠性和灵活扩展的优势。也希望 OceanBase 这个国产数据库能够持续101年。

[ 本文作者 ]   bluetata
[ 原文链接 ]   https://bluetata.blog.csdn.net/article/details/130729364
[ 最后更新 ]   05/18/2023 20:13
[ 版权声明 ]   如果您在非 CSDN 网站内看到这一行,
说明网络爬虫可能在本人还没有完整发布的时候就抓走了我的文章,
可能导致内容不完整,请去上述的原文链接查看原文。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】什么是Docker,它用来干什么

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 七七的闲谈 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f…

软件测试面试题(大全)

1.B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行&#xff0c;可以实现跨平台&#xff0c;客户端零维护&#xff0c;维护成本低&#xff0c;但是个性化能力低&#xff0c;响应速度较慢 C/S响应速度快&#xff0c;安全性强&#xff0c;一般应用于局域网中&#xff0c;因…

【Git原理与使用】-- 初步认识

目录 Git版本控制器的引入 版本控制器 Git安装&#xff08;已安装可以跳过&#xff09; Linux-centos Linux-ubuntu Git基本操作 创建Git本地仓库 配置 Git 认识工作区、暂存区、版本库 工作区、版本库 stage暂存区 工作区内容使用Git管理 Git版本控制器的引入 #&…

今年十八,期末速刷(操作系统篇1)

马上期末了&#xff0c;想问问各位期末考几科 我家学校网安考7科呜呜呜 只能出点文章一把梭了。。。 争取只挂一科 先来先算法&#xff08;FCFS&#xff09; 算法思想 我今天学FCFS只有一个要求 公平、公平 还是tnd公平 算法规则 按照进程的先后顺序来进行服务。 是否…

获得忠实铁粉?你也可以

获得忠实铁粉&#xff1f;你也可以 何为铁粉铁粉与普通粉丝区别铁粉规则如何获得铁粉 何为铁粉 在CSDN中&#xff0c;铁粉通常指对某个知名开发者、博主或组织非常支持、崇拜、追随的粉丝。他们可能会关注该开发者或博主的所有文章、博客、视频等&#xff0c;积极参与讨论并分…

C++ 设计模式----“单一职责“模式

二、“单一职责”模式 在软件组件的设计中&#xff0c;如果责任划分的不清晰&#xff0c;使用继承得到的结果往往是随着需求的变化&#xff0c;子类急剧膨胀&#xff0c;同时充斥着重复代码&#xff0c;这时候的关键是划清责任。  典型模式 • Decorator • Bridge 【1】D…

基于Jeecg-boot的flowable流程支持拒绝同意流程操作

更多功能看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/nbcio-boot 前端代码&#xff1a;https://gitee.com/nbacheng/nbcio-vue.git 在线演示&#xff08;包括H5&#xff09; &#xff1a; http://122.227.135.243:9888 因为看很多朋友需要…

easyui01(基本布局)

一.概述 1.What&#xff1f; jQuery EasyUI是一组基于jQuery的UI插件集合体&#xff0c;能帮助web开发者更轻松的打造出功能丰富并且美观的UI界面 2.Why&#xff1f; ①.使用easyui 不需要写很多代码&#xff0c;只需要编写一些简单 HTML 标记&#xff0c;就可以定义用户界…

使用docker部署ELK实战

目录 什么是ELKELK简介ElasticsearchLogstashKibana docker安装ELK安装es安装 Kibana安装logstash 什么是ELK ELK是一个开源的数据分析平台&#xff0c;由三个开源项目Elasticsearch、Logstash和Kibana组成&#xff0c;因此被称为ELK Stack。ELK Stack主要用于处理和分析大量的…

pytorch实现图像分类器

pytorch实现图像分类器 一、定义LeNet网络模型1&#xff0c;卷积 Conv2d2&#xff0c;池化 MaxPool2d3&#xff0c;Tensor的展平&#xff1a;view()4&#xff0c;全连接 Linear5&#xff0c;代码&#xff1a;定义 LeNet 网络模型 二、训练并保存网络参数1&#xff0c;数据预处理…

Exception in thread “main“ java.lang.UnsupportedClassVersionError 50报错处理

之间正常走jenkinsdocker自动化部署的项目&#xff0c;今天改了一个文件&#xff0c;点了一下&#xff0c;竟然没有部署上去&#xff0c;提示如上&#xff0c;如下 Exception in thread "main" java.lang.UnsupportedClassVersionError: com/coocaa/tsp/sys/user/Use…

采用UWB定位技术开发的室内定位系统源码

UWB精准定位系统源码 UWB是什么&#xff1f; UWB(Ultra Wideband)超宽带技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波&#xff0c;而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据&#xff0c;实现精准定位。 技术…

机器鸟实现摆动尾巴功能

1. 功能说明 本文示例将实现R329样机机器鸟摆动尾巴的功能。 2. 电子硬件 在这个示例中&#xff0c;我们采用了以下硬件&#xff0c;请大家参考&#xff1a; 主控板 Basra主控板&#xff08;兼容Arduino Uno&#xff09;‍ 扩展板 Bigfish2.1扩展板‍ 电池7.4V锂电池 电路连接…

【头歌-Python】9.1 X射线衍射曲线绘制(project)第1~2关

第1关&#xff1a;X 射线衍射曲线 任务描述 本关任务&#xff1a;读文件中的数据绘制线图形。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 1.python 读取文件 2.使用 matplotlib 绘制图形 python 读取文件 python读取文件可以用以下函数实现&#xff1…

chatgpt赋能python:Python收费介绍

Python收费介绍 什么是Python? Python是一种高级的、解释性、面向对象、纯粹的动态语言&#xff0c;多用于快速应用程序开发、脚本编写、系统管理任务等。它有一个简单直观优美的语法&#xff0c;非常容易学习。 Python的收费形式 Python语言本身是免费的&#xff0c;任何…

如何使用Jmeter进行http接口测试?

目录 前言&#xff1a; 一、开发接口测试案例的整体方案&#xff1a; 二、接口自动化适用场景&#xff1a; 三、接口测试环境准备 四、创建工程&#xff1a; 总结&#xff1a; 前言&#xff1a; 本文主要针对http接口进行测试&#xff0c;使用Jmeter工具实现。 Jmter工具设…

1.2 Scala变量与数据类型

一、变量声明 (一&#xff09;、利用val声明变量 案例演示 &#xff08;二&#xff09;利用var声明变量 案例演示 &#xff08;三&#xff09;换行输入语句&#xff08;续行&#xff09; &#xff08;四&#xff09;同时声明多个变量 Scala还可以将多个变量放在一起…

射频电路layout总结

射频电路板设计由于在理论上还有很多不确定性&#xff0c;因此常被形容为一种“黑色艺术”&#xff0c;但这个观点只有部分正确&#xff0c;RF电路板设计也有许多可以遵循的准则和不应该被忽视的法则。在实际设计时&#xff0c;真正实用的技巧是当这些准则和法则因各种设计约束…

RTU遥测终端机的应用场景有哪些?

遥测终端机又称智能RTU遥测终端机&#xff0c;是一种用于采集、传输和处理遥测数据的设备。在现代科技的发展中&#xff0c;遥测终端机扮演着重要的角色。它是一种能够实现远程监测和控制的关键设备&#xff0c;广泛应用于各个领域&#xff0c;包括水文水利、环境监测、工业自动…

创新案例|专注在线 协作平台 设计产品中国首家PLG独角兽企业蓝湖如何实现98%的头部企业渗透率

蓝湖起步于2015年&#xff0c;是一款服务于产品经理、设计师、工程师的产品设计研发在线协作工具&#xff0c; 2021年10月&#xff0c;蓝湖宣布完成C轮融资&#xff0c;融资额高达10亿人民币&#xff0c;称为中国2B市场中首家采用PLG发展的独角兽企业&#xff0c;并实现了从100…