Kubernetes部署dolphindcheduler-3.1.8问题记录

news2024/11/24 13:32:05

温故知新

  • ⁉️问题记录
    • ❓问题一:`Unschedulable 0/3 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/3 nodes are available: 3 No preemption victims found for incoming pod..`
      • ❗解决方式:创建PV供应
        • 📗安装NFS
        • 📗PV(配置文件、生效、状态查看)
        • 📗卸载重装dolphinscheduler
        • 📗手动关联pv和pvc
    • ❓问题二:容器未就绪/容器组未就绪
      • ❗单独安装数据库
      • ❗修改values.yaml
      • ❗添加mysql驱动
      • ❗重新安装调度
    • ❓其他
      • ❗docker命令
      • ❗helm、kubectl相关命令

🔼上一集:在Kubernetes集群中部署 dolphindcheduler-3.1.8

*️⃣主目录:温故知新专栏

⁉️问题记录

❓问题一:Unschedulable 0/3 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/3 nodes are available: 3 No preemption victims found for incoming pod..

在这里插入图片描述

❗解决方式:创建PV供应

在这里插入图片描述

📗安装NFS

集群安装NFS,r1作为服务器,r2,r3只需安装客户端,具体可参照dolphinscheduler 2.0.6 资源中心改造方案二:通过NFS挂载共享目录

安装nfs(所有机器)

yum install -y rpcbind nfs-utils

r1/服务器上执行相关配置

[root@renxiaozhao01 ~]# mkdir -p /data/nfs
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# vi /etc/exports
[root@renxiaozhao01 ~]# cat /etc/exports
/data/nfs 192.168.17.0/24(rw,sync,no_root_squash)
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# systemctl start nfs-server.service
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# showmount -e

Export list for renxiaozhao01:
/data/nfs 192.168.17.0/24
[root@renxiaozhao01 ~]# 

在这里插入图片描述

📗PV(配置文件、生效、状态查看)

[kubernetes@renxiaozhao01 dolphinscheduler]$ cat pg_pv.yaml 
#Kubernetes的API版本
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pgsqlpv
spec:
  capacity:
    storage: 10Gi
  #指定访问模式
  accessModes:
    #pv能以readwrite模式mount到单个节点
    - ReadWriteOnce
  #指定pv的回收策略,即pvc资源释放后的事件.recycle(不建议,使用动态供给代替)删除pvc的所有文件
  persistentVolumeReclaimPolicy: Recycle
  #可以随意指定存储类的名称,只要确保在创建PVC时使用相同的名称即可
  storageClassName: pgsqlnfs
  #指定pv为nfs服务器上对应的目录
  nfs:
    path: /data/nfs
    server: 192.168.17.17
[kubernetes@renxiaozhao01 dolphinscheduler]$ kubectl apply -f pg_pv.yaml 
persistentvolume/pgsqlpv created
[kubernetes@renxiaozhao01 dolphinscheduler]$  kubectl get pv
NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
pgsqlpv   10Gi       RWO            Recycle          Available           pgsqlnfs                15s
[kubernetes@renxiaozhao01 dolphinscheduler]$ 

在这里插入图片描述

📗卸载重装dolphinscheduler

通过helm 卸载,kubectl delete pvc删除之前的pgsql存储

[kubernetes@renxiaozhao01 dolphinscheduler]$ helm uninstall dolphinscheduler
release "dolphinscheduler" uninstalled
[kubernetes@renxiaozhao01 dolphinscheduler]$  kubectl delete pvc -l app.kubernetes.io/instance=dolphinscheduler
persistentvolumeclaim "data-dolphinscheduler-postgresql-0" deleted
[kubernetes@renxiaozhao01 dolphinscheduler]$ 
[kubernetes@renxiaozhao01 dolphinscheduler]$ 
[kubernetes@renxiaozhao01 dolphinscheduler]$ helm list
NAME	NAMESPACE	REVISION	UPDATED	STATUS	CHART	APP VERSION
[kubernetes@renxiaozhao01 dolphinscheduler]$ kubectl get pvc
NAME       STATUS   VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   AGE
pgsqlpvc   Bound    pgsqlpv   10Gi       RWO            pgsqlnfs       16m
[kubernetes@renxiaozhao01 dolphinscheduler]$ 
[kubernetes@renxiaozhao01 dolphinscheduler]$ 

修改配置文件values.yaml,指定pgsql的storageClass: "pgsqlpvc"
pvc参考范例

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pgsqlpvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
  storageClassName: pgsqlnfs
[kubernetes@renxiaozhao01 dolphinscheduler]$ pwd
/home/kubernetes/apache-dolphinscheduler-3.1.8-src/deploy/kubernetes/dolphinscheduler
[kubernetes@renxiaozhao01 dolphinscheduler]$ ll
总用量 48
-rwxr-xr-x 1 kubernetes kubernetes   396 914 20:35 Chart.lock
drwxr-xr-x 2 kubernetes kubernetes    88 914 20:35 charts
-rwxr-xr-x 1 kubernetes kubernetes  3333 914 20:10 Chart.yaml
-rwxr-xr-x 1 kubernetes kubernetes  2905 218 2022 Chart.yaml_bak
-rw-rw-r-- 1 kubernetes kubernetes   187 918 19:16 pg_pvc.yaml
-rw-rw-r-- 1 kubernetes kubernetes   621 918 19:14 pg_pv.yaml
drwxr-xr-x 3 kubernetes kubernetes    20 218 2022 resources
drwxr-xr-x 2 kubernetes kubernetes  4096 914 20:27 templates
-rwxr-xr-x 1 kubernetes kubernetes 21534 918 19:39 values.yaml
[kubernetes@renxiaozhao01 dolphinscheduler]$ 
[kubernetes@renxiaozhao01 dolphinscheduler]$ vi values.yaml

在这里插入图片描述
也不知道啥原因,有懂的欢迎指点

📗手动关联pv和pvc

试了好久,还是报Unschedulable 0/3 nodes are available...,最初通过手动关联pv和pvc,错误消失了,但是依然没有成功,还是有其他错

#Kubernetes的API版本
apiVersion: v1
kind: PersistentVolume
metadata:
  name: pgsqlpv
spec:
  capacity:
    storage: 20Gi
  #指定访问模式
  accessModes:
    #pv能以readwrite模式mount到单个节点
    - ReadWriteOnce
  #指定pv的回收策略,即pvc资源释放后的事件.recycle(不建议,使用动态供给代替)删除pvc的所有文件
  persistentVolumeReclaimPolicy: Recycle
  #可以随意指定存储类的名称,只要确保在创建PVC时使用相同的名称即可
  storageClassName: pgsqlnfs
  #指定pv为nfs服务器上对应的目录
  claimRef:
        kind: PersistentVolumeClaim
        namespace: default
        name: data-dolphinscheduler-postgresql-0
  nfs:
    path: /data/nfs
    server: 192.168.17.17

在这里插入图片描述
在这里插入图片描述

但是…
在这里插入图片描述

❓问题二:容器未就绪/容器组未就绪

在这里插入图片描述

❗单独安装数据库

单独安装数据库吧,采用MySQL数据库
📗下载镜像

[root@renxiaozhao01 ~]# docker pull mysql:8.0.25
8.0.25: Pulling from library/mysql
b4d181a07f80: Pull complete 
a462b60610f5: Pull complete 
578fafb77ab8: Pull complete 
524046006037: Pull complete 
d0cbe54c8855: Pull complete 
aa18e05cc46d: Pull complete 
32ca814c833f: Pull complete 
9ecc8abdb7f5: Pull complete 
ad042b682e0f: Pull complete 
71d327c6bb78: Pull complete 
165d1d10a3fa: Pull complete 
2f40c47d0626: Pull complete 
Digest: sha256:52b8406e4c32b8cf0557f1b74517e14c5393aff5cf0384eff62d9e81f4985d4b
Status: Downloaded newer image for mysql:8.0.25
docker.io/library/mysql:8.0.25
[root@renxiaozhao01 ~]# 

📗启动mysql

[root@renxiaozhao01 ~]# docker run -itd --name dolphinscheduler -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:8.0.25
be0182b0b1459c15ac38c9f8f4704f4a0c56d6aebd737544111d7dc2d9f47750
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# 

📗验证数据库

[root@renxiaozhao01 ~]# docker ps -a -f name=dolphinscheduler
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                               NAMES
be0182b0b145   mysql:8.0.25   "docker-entrypoint.s…"   22 seconds ago   Up 21 seconds   0.0.0.0:3306->3306/tcp, 33060/tcp   dolphinscheduler
[root@renxiaozhao01 ~]# 

在这里插入图片描述
📗初始化数据库
创建数据库dolphinscheduler

CREATE DATABASE dolphinscheduler;

在这里插入图片描述
执行初始化脚本apache-dolphinscheduler-3.1.8-src/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

❗修改values.yaml

📗关闭pgsql开关,指定外部数据库为mysql(详见官网)
在这里插入图片描述

❗添加mysql驱动

mysql-connector-java-8.0.25.jar下载
📗制作包含mysql驱动的api镜像

[root@renxiaozhao01 ~]# ll mysql-connector-java-8.0.25.jar 
-rw-r--r-- 1 root root 2428320 919 21:57 mysql-connector-java-8.0.25.jar
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# vi dockerfile
[root@renxiaozhao01 ~]# cat dockerfile 
FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler-api:3.1.8
COPY mysql-connector-java-8.0.25.jar /opt/dolphinscheduler/libs
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# docker build -t apache/dolphinscheduler-api:mysql-driver .
[+] Building 0.6s (7/7) FINISHED                                                                                                                                            docker:default
 => [internal] load build definition from dockerfile                                                                                                                                  0.0s
 => => transferring dockerfile: 175B                                                                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                                                                     0.0s
 => => transferring context: 2B                                                                                                                                                       0.0s
 => [internal] load metadata for dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler-api:3.1.8                                                                                   0.0s
 => [internal] load build context                                                                                                                                                     0.1s
 => => transferring context: 2.43MB                                                                                                                                                   0.1s
 => CACHED [1/2] FROM dolphinscheduler.docker.scarf.sh/apache/dolphinscheduler-api:3.1.8                                                                                              0.0s
 => [2/2] COPY mysql-connector-java-8.0.25.jar /opt/dolphinscheduler/libs                                                                                                             0.1s
 => exporting to image                                                                                                                                                                0.1s
 => => exporting layers                                                                                                                                                               0.1s
 => => writing image sha256:b16232cf8dd31fbbfd1ed035b8b0fc32093d8b8eb5adc53472db039a0aeae450                                                                                          0.0s
 => => naming to docker.io/apache/dolphinscheduler-api:mysql-driver                                                                                                                   0.0s
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# docker tag apache/dolphinscheduler-api:mysql-driver registry:5000/apache/dolphinscheduler-api:mysql-driver
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# docker images
REPOSITORY                                                        TAG            IMAGE ID       CREATED         SIZE
apache/dolphinscheduler-api                                       mysql-driver   b16232cf8dd3   2 minutes ago   443MB
registry:5000/apache/dolphinscheduler-api                         mysql-driver   b16232cf8dd3   2 minutes ago   443MB

❗重新安装调度

参照之前的卸载重装,安装官网提示修改,再次安装
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
虽然还是不成功,但是点击追踪日志可以进入到服务器内部了,说明容器部署成功了,但是服务没起来,没起来原因是zk连接超时
在这里插入图片描述
进入zk终端,通过测试连接(zkCli.sh -server 192.168.17.17:2181),连接没问题,将values.yamlzk地址改为具体的地址,再次重装重试(无效 不用试了!!!)
在这里插入图片描述
values.yaml添加servers: "192.168.17.17:2181"
在这里插入图片描述

[kubernetes@renxiaozhao01 dolphinscheduler]$ vi values.yaml 
[kubernetes@renxiaozhao01 dolphinscheduler]$ grep 2181 values.yaml 
    port: 2181
  registryServers: "192.168.17.17:2181"
[kubernetes@renxiaozhao01 dolphinscheduler]$ 
[kubernetes@renxiaozhao01 dolphinscheduler]$ # 卸载
[kubernetes@renxiaozhao01 dolphinscheduler]$ helm uninstall dolphinscheduler
release "dolphinscheduler" uninstalled
[kubernetes@renxiaozhao01 dolphinscheduler]$ # 安装
[kubernetes@renxiaozhao01 dolphinscheduler]$ helm install dolphinscheduler . --set image.tag=mysql-driver
NAME: dolphinscheduler
LAST DEPLOYED: Tue Sep 19 23:05:56 2023
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

** Please be patient while the chart DolphinScheduler 3.1.8 is being deployed **

Access DolphinScheduler UI URL by:

  kubectl port-forward -n default svc/dolphinscheduler-api 12345:12345

  DolphinScheduler UI URL: http://127.0.0.1:12345/dolphinscheduler
[kubernetes@renxiaozhao01 dolphinscheduler]$ 

心好累…不再钻牛角尖了,后面决定尝试一下自己打镜像,就是把调度代码数据库什么的全被配置好后,打成镜像,如何通过Kuboard界面化去部署(估计要等一段时间了,为了四十多天要忙其他事了)

❓其他

❗docker命令

📗查看状态、日志

[root@renxiaozhao01 ~]# docker ps -a -f name=dolphinscheduler
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS                     PORTS     NAMES
2c1365a3424a   mysql:8.0.25   "docker-entrypoint.s…"   5 minutes ago   Exited (1) 5 minutes ago             dolphinscheduler
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# docker logs -f 2c1365a3424a
2023-09-19 13:12:18+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.25-1debian10 started.
2023-09-19 13:12:19+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2023-09-19 13:12:19+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.25-1debian10 started.
2023-09-19 13:12:19+00:00 [Note] [Entrypoint]: Initializing database files
2023-09-19T13:12:19.463251Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.25) initializing of server in progress as process 42
2023-09-19T13:12:19.484175Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-09-19T13:12:21.091291Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-09-19T13:12:26.189395Z 0 [ERROR] [MY-000068] [Server] unknown option '--restart'.
2023-09-19T13:12:26.190438Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2023-09-19T13:12:26.192449Z 0 [ERROR] [MY-010119] [Server] Aborting
2023-09-19T13:12:28.096322Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.25)  MySQL Community Server - GPL.
[root@renxiaozhao01 ~]# 

📗停止删除容器

[root@renxiaozhao01 ~]# docker stop dolphinscheduler
dolphinscheduler
[root@renxiaozhao01 ~]# 
[root@renxiaozhao01 ~]# docker rm -v dolphinscheduler
dolphinscheduler
[root@renxiaozhao01 ~]# 

❗helm、kubectl相关命令

📗helm 卸载安装命令

helm uninstall dolphinscheduler
helm install dolphinscheduler . --set image.tag=mysql-driver

📗kubectl 删除pod、pv、pvc命令
带上--force --grace-period=0代码强制删除

kubectl delete pod dolphinscheduler-postgresql-0   --force --grace-period=0
kubectl delete pvc -l app.kubernetes.io/instance=dolphinscheduler --force --grace-period=0
kubectl delete pv pgsqlpv  --force --grace-period=0

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

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

相关文章

ARM Soc内部总线

由于soc架构,把常用外设(控制器)集成到芯片内部,所以需要一种总线协调ARMcore与这些内部外设的通信,于是有了APB and AHB以及AXi这种片上总线。 同时要注意与常说的PC时代总线区分开: CPU总线(…

刷题笔记24——完全二叉树的节点个数

有些事情是不能告诉别人的,有些事情是不必告诉别人的,有些事情是根本没有办法告诉别人的,而且有些事情是,即使告诉了别人,你也会马上后悔的。——罗曼罗兰 222. 完全二叉树的节点个数 java的幂运算要 (int) Math.pow(2,l1)-1计算满二叉树的节点数量公式:2 ^ height…

【面试题】—— Java多线程篇(17题)

文章目录 1.什么是多线程?2.线程和进程的区别?3.我们为什么要使用线程?线程的优缺点?4.创建线程的方法有哪些?5.线程的状态有哪些?6.线程的优先级?7.线程常用的方法以及其作用?8.使用…

穿越撒哈拉:中国跨境电商的非洲冒险之旅

非洲,这片古老而神秘的大陆,一直以来都是探险者和冒险家的梦想之地。然而,近年来,中国的跨境电商企业也开始将目光投向了这片充满机遇的土地,但他们的目标不再是黄金和珍宝,而是一个更为宝贵的财富&#xf…

创建线程的方式打开记事本

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 今天操作系统课老师讲到进程,提出了一个有趣的小实验:能否以系统调用的方式利用 Windows 创建进程的系统调用函数来打开一个软件。闲着蛋疼的我立马来了兴趣,姑且写一个玩…

跨平台编程开发工具Xojo 2023 Release mac中文版功能介绍

Xojo mac是一款跨平台的软件开发工具,它允许开发人员使用一种编程语言来创建应用程序,然后可以在多个操作系统上运行。Xojo 2023是Xojo开发工具的最新版本,它提供了许多功能和改进,以帮助开发人员更轻松地构建高质量的应用程序。 …

【洛谷】P2004 领地选择

原题链接:https://www.luogu.com.cn/problem/P2004 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 整体思路:二维前缀和 (模板在这https://blog.csdn.net/m0_62531913/article/details/132712831?spm1001.2014.30…

[安洵杯 2019]easy_web md5强碰撞 preg_match绕过

比较简单 url一看就存在一个cmd 和 base64 我们尝试给cmd传递参数 但是没有效果 所以我们就去看看 img里面是什么 直接放到瑞士军刀看看 知道了加密方法 我们去看看能不能返回 index.php代码 TmprMlpUWTBOalUzT0RKbE56QTJPRGN3 返回了 接下俩就是代码审计了 <?php erro…

Python ---使用Fake库向clickhouse造数据小案例

每次insert太麻烦了 先在clickhosue中建表 test_user表 CREATE TABLE dwh.test_user (name String,age Int32,address String,phone String,email String ) ENGINE MergeTree() ORDER BY name; 此时表中暂无数据 用Python脚本来造一些数据 from faker import Faker from c…

Matlab图像处理-灰度级到彩色空间变换法

灰度级到彩色空间变换法 灰度图像转换为具有多种颜色渐变的连续彩色图像。该方法的基本概念是对任意输入像素的灰度级进行三个独立的变换。然后&#xff0c;将三个变换结果分别发送到彩电电视监视器的红、绿、蓝通道。该方法产生一个合成图像&#xff0c;其彩色内容受变换函数…

地球+卫星运动轨迹

由于工作中&#xff0c; 需要追踪卫星&#xff0c; 记录一下最近的工作成果&#xff0c; 分别有俩个方案&#xff0c; 一个是基于市面上主流的Threejs&#xff0c; 另外一个是基于Cesium&#xff0c; 还尝试过使用&#xff0c; Planetary.js&#xff0c; 效果其实还蛮好&#x…

vSphere 7.0 Update 3提示vCLS虚拟机没有兼容的主机的问题即物理机开启CPU “Monitor/Mwait”功能的方法

本文讲解在华为物理服务器上开启CPU "Monitor/Mwait"功能的方法&#xff0c;以解决vSphere 7.0 Update 3平台上vCLS代理虚拟机提示没有与虚拟机兼容的主机&#xff0c;无法开机&#xff0c;且一直尝试启动反复告警的问题。 一、问题实况 1、VC升级到7.0.3后&#x…

Linux系统编程(三):进程

参考引用 UNIX 环境高级编程 (第3版)黑马程序员-Linux 系统编程 1. 进程相关概念 1.1 程序和进程 程序&#xff0c;是指编译好的二进制文件&#xff0c;在磁盘上&#xff0c;不占用系统资源 (CPU、内存、打开的文件、设备、锁…) 程序 → 剧本 (纸) 进程与操作系统原理联系紧…

基于Yolov8的野外烟雾检测(3):动态蛇形卷积(Dynamic Snake Convolution),实现暴力涨点 | ICCV2023

目录 1.Yolov8介绍 2.野外火灾烟雾数据集介绍 3.Dynamic Snake Convolution 3.1 Dynamic Snake Convolution加入到yolov8 4.训练结果分析 5.系列篇 1.Yolov8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最…

ggplot2做图(填坑中)

数据 df <- data.frame(x 1:10, y 1:10, f c(rep("A", 5), rep("B", 5))) 做图 1. 散点图 (scatter plot) # scatter plot scatter_plot <- function(df, metadata) {identical(rownames(df), rownames(metadata))data <- cbind(df, metada…

JavaScript系列从入门到精通系列第一篇:JavaScript语言简介和它代码初体验

一&#xff1a;简介 1&#xff1a;起源 JavaScript诞生于1995年&#xff0c;它的出现主要是用于处理网页中的前端验证&#xff0c; 所谓的前端验证&#xff0c;就是指检查用户输入的内容是否符合一定的规则。 2&#xff1a;简史 JavaScript是由网景公司发明&#xff0c;起初命…

安全测试:文件上传漏洞检测

文件上传漏洞 是一种安全漏洞&#xff0c;允许攻击者将恶意文件上传到目标服务器&#xff0c;从而可能导致恶意代码执行、服务器瘫痪或其他不安全的情况。 假设您正在测试一个网络应用程序&#xff0c;该应用程序允许用户上传文件&#xff0c;例如用户头像。你怀疑应用程序可能…

QT实现相关功能

1、文本的保存 mianwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include<QFontDialog> //字体对话框 #include<QFont> //字体类 #include<QMessageBox> //消息对话框 #…

伦敦银交易所数据全面吗?

据伦敦市场的数据显示&#xff0c;每天平均有超过1900万盎司的黄金和1.7亿盎司的白银交易在发生&#xff0c;而且实际的数量可能是这个数字几倍&#xff0c;因为许多的交易发生都在私人市场&#xff0c;不会产生交易信息报告&#xff0c;所以我们难以准确评估市场上所有的金银交…

ROS2 驱动思岚G4雷达(ydlidar)- Rviz显示

记录G4雷达的配置 系统环境为&#xff1a;Ubuntu22.04 配置步骤 1、安装雷达SDK 2、构建 G4 雷达 ROS2 项目工程文件 3、使用Rviz可视化界面显示 1、安装雷达SDK 1.1 安装CMake YDLidar SDK需要CMake 2.8.2作为依赖项 Ubuntu 18.04或者Ubuntu 22.04 sudo apt install cmak…