当前位置: 首页 > news >正文

hdfs命令(三)- hdfs 管理命令(三)- hdfs dfsadmin命令

文章目录

  • 前言
  • 一、hdfs分布式文件系统管理命令
    • 1. 介绍
    • 2. 语法及解释
    • 3. 命令
      • 3.1 生成HDFS集群的状态报告
        • 3.1.1 语法及解释
        • 3.1.2 示例
      • 3.2 重新加载配置文件并更新NameNode中的节点列表
      • 3.3 刷新指定DataNode上的NameNode信息
        • 3.3.1 语法
      • 3.4 获取并显示指定DataNode的信息
        • 3.4.1 语法
      • 3.5 控制NameNode的安全模式
        • 3.5.1 语法及解释
        • 3.5.2 示例
      • 3.6 保存名称空间镜像
        • 3.6.1 语法及解释
        • 3.6.2 示例
      • 3.7 滚动edits日志文件
      • 3.8 设置是否尝试恢复失败的存储设备
        • 3.8.1 语法及解释
        • 3.8.2 示例
      • 3.9 最终化升级
      • 3.10 查询或完成一次HDFS升级
        • 3.10.1 语法及解释
      • 3.11 滚动升级
        • 3.11.1 语法及解释
      • 3.12 设置配额
        • 3.12.1 语法及解释
        • 3.12.2 示例
      • 3.13 清除配额
        • 3.13.1 语法及解释
        • 3.13.2 示例
      • 3.14 设置目录的磁盘空间配额
        • 3.14.1 语法及解释
        • 3.14.2 示例
      • 3.15 清除目录的磁盘空间配额
        • 3.15.1 语法及解释
        • 3.15.2 示例
      • 3.16 重新加载服务ACL配置
      • 3.17 重新加载用户到组映射配置
      • 3.18 重新加载超级用户组配置
      • 3.19 重新加载调用队列配置
      • 3.20 重配置
      • 3.21 打印网络拓扑结构
      • 3.22 获取指定DataNode的卷报告
      • 3.23 删除指定DataNode上的块池
      • 3.24 设置平衡器带宽限制
      • 3.25 获取指定DataNode上的平衡器带宽设置
      • 3.26 下载fsimage到本地目录
      • 3.27 允许在指定目录创建快照
      • 3.28 禁止在指定目录创建快照
      • 3.29 关闭指定DataNode
      • 3.30 强制驱逐写入者客户端
      • 3.31 将当前元数据保存到指定文件中
      • 3.32 触发DataNode发送块报告给NameNode
      • 3.33 列出打开的文件


前言

本文档旨在详细介绍 hdfs dfsadmin 的主要功能及其使用方法,帮助读者更好地掌握如何利用这一工具来管理和优化HDFS集群。我们将按照不同的类别组织命令,并提供详细的语法说明和实际应用示例,以便于读者快速查找所需信息并应用于实践当中。


一、hdfs分布式文件系统管理命令

1. 介绍

hdfs dfsadmin 是Hadoop分布式文件系统(HDFS)提供的一个管理工具,主要用于执行与HDFS集群管理和维护相关的各种操作。这些命令通常需要以HDFS超级用户的身份运行,因为它们涉及到对整个文件系统的控制和配置调整。

2. 语法及解释

Usage: hdfs dfsadmin
Note: Administrative commands can only be run as the HDFS superuser.[-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]][-safemode <enter | leave | get | wait | forceExit>][-saveNamespace [-beforeShutdown]][-rollEdits][-restoreFailedStorage true|false|check][-refreshNodes][-setQuota <quota> <dirname>...<dirname>][-clrQuota <dirname>...<dirname>][-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>][-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>][-finalizeUpgrade][-rollingUpgrade [<query|prepare|finalize>]][-upgrade <query | finalize>][-refreshServiceAcl][-refreshUserToGroupsMappings][-refreshSuperUserGroupsConfiguration][-refreshCallQueue][-refresh <host:ipc_port> <key> [arg1..argn][-reconfig <namenode|datanode> <host:ipc_port> <start|status|properties>][-printTopology][-refreshNamenodes datanode_host:ipc_port][-getVolumeReport datanode_host:ipc_port][-deleteBlockPool datanode_host:ipc_port blockpoolId [force]][-setBalancerBandwidth <bandwidth in bytes per second>][-getBalancerBandwidth <datanode_host:ipc_port>][-fetchImage <local directory>][-allowSnapshot <snapshotDir>][-disallowSnapshot <snapshotDir>][-shutdownDatanode <datanode_host:ipc_port> [upgrade]][-evictWriters <datanode_host:ipc_port>][-getDatanodeInfo <datanode_host:ipc_port>][-metasave filename][-triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>]][-listOpenFiles [-blockingDecommission] [-path <path>]][-help [cmd]]Generic options supported are:
-conf <configuration file>        specify an application configuration file
-D <property=value>               define a value for a given property
-fs <file:///|hdfs://namenode:port> specify default filesystem URL to use, overrides 'fs.defaultFS' property from configurations.
-jt <local|resourcemanager:port>  specify a ResourceManager
-files <file1,...>                specify a comma-separated list of files to be copied to the map reduce cluster
-libjars <jar1,...>               specify a comma-separated list of jar files to be included in the classpath
-archives <archive1,...>          specify a comma-separated list of archives to be unarchived on the compute machinesThe general command line syntax is:
command [genericOptions] [commandOptions]

状态报告与节点管理

  • [-report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]]: 生成整个HDFS集群的状态报告。可以使用附加标志来过滤特定类型的DataNode(活动、死亡、正在退役、进入维护模式或在维护模式中的节点)。

  • [-refreshNodes]: 重新加载配置文件并更新NameNode中的节点列表。

  • [-refreshNamenodes datanode_host:ipc_port]: 刷新指定DataNode上的NameNode信息,用于使DataNode意识到新的或修改后的NameNode设置。

  • [-getDatanodeInfo <datanode_host:ipc_port>]: 获取并显示指定DataNode的信息。

安全模式管理

  • [-safemode <enter | leave | get | wait | forceExit>]: 控制NameNode的安全模式。安全模式是一种保护机制,在此模式下,HDFS不允许进行任何修改操作,直到所有DataNode都已检查完毕。选项包括:

名称空间管理

  • [-saveNamespace [-beforeShutdown]]: 强制保存名称空间镜像,并可以选择在关机前执行。这会触发一个检查点过程,创建一个新的fsimage文件。

  • [-rollEdits]: 滚动编辑日志文件,这会创建一个新的编辑日志文件并开始使用它,同时将旧的日志归档。

  • [-restoreFailedStorage true|false|check]: 设置是否尝试恢复失败的存储设备。选项有:

    • true: 尝试恢复。
    • false: 不尝试恢复。
    • check: 只检查而不实际恢复。
  • [-finalizeUpgrade]: 最终化升级过程,清除旧版本的数据结构和元数据。

  • [-upgrade <query | finalize>]: 查询或完成一次HDFS升级。选项有:

    • query: 查询当前升级状态。
    • finalize: 完成升级过程。
  • [-rollingUpgrade [<query|prepare|finalize>]]: 执行滚动升级的相关操作,允许在不停止服务的情况下逐步升级集群。选项有:

    • query: 查询当前滚动升级状态。
    • prepare: 准备开始滚动升级。
    • finalize: 完成滚动升级。

配额设置

  • [-setQuota <quota> <dirname>...<dirname>]: 为目录设置文件数量配额,限制该目录下的最大文件数。

  • [-clrQuota <dirname>...<dirname>]: 清除目录的文件数量配额。

  • [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]: 为目录设置磁盘空间配额,可选地针对特定存储类型(如SSD、DISK等)。

  • [-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]: 清除目录的磁盘空间配额。

ACL与权限管理

  • [-refreshServiceAcl]: 重新加载服务ACL配置,确保最新的访问控制列表生效。

  • [-refreshUserToGroupsMappings]: 重新加载用户到组映射配置,以反映最新的用户和组关系。

  • [-refreshSuperUserGroupsConfiguration]: 重新加载超级用户组配置,确保只有授权用户能够执行特权操作。

  • [-refreshCallQueue]: 重新加载调用队列配置,影响NameNode如何处理客户端请求。

其他管理任务

  • [-reconfig <namenode|datanode> <host:ipc_port> <start|status|properties>]: 对NameNode或DataNode进行在线重配置,允许动态更改某些配置属性而无需重启服务。

  • [-printTopology]: 打印网络拓扑结构,帮助理解集群中各个节点的位置关系。

  • [-getVolumeReport datanode_host:ipc_port]: 获取指定DataNode的卷报告,提供关于存储容量和健康状况的信息。

  • [-deleteBlockPool datanode_host:ipc_port blockpoolId [force]]: 删除指定DataNode上的块池,通常用于清理不再需要的数据。

  • [-setBalancerBandwidth <bandwidth in bytes per second>]: 设置平衡器带宽限制,控制DataNode之间复制数据的速度。

  • [-getBalancerBandwidth <datanode_host:ipc_port>]: 获取指定DataNode上的平衡器带宽设置。

  • [-fetchImage <local directory>]: 下载fsimage到本地目录,用于备份或分析目的。

  • [-allowSnapshot <snapshotDir>]: 允许在指定目录创建快照,以便于数据恢复和版本控制。

  • [-disallowSnapshot <snapshotDir>]: 禁止在指定目录创建快照。

  • [-shutdownDatanode <datanode_host:ipc_port> [upgrade]]: 关闭指定DataNode,可选参数指示是否为升级目的。

  • [-evictWriters <datanode_host:ipc_port>]: 强制驱逐写入者客户端,有助于解决长时间占用资源的问题。

  • [-metasave filename]: 将当前元数据保存到指定文件中,便于故障排除或审计。

  • [-triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>]]: 触发DataNode发送块报告给NameNode,可选择增量报告,以减少传输的数据量。

  • [-listOpenFiles [-blockingDecommission] [-path <path>]]: 列出打开的文件,可选择阻止退役操作以及指定路径过滤,帮助管理员了解哪些文件正在被访问。

  • [-help [cmd]]: 显示所有可用命令的帮助信息,或者如果指定了cmd,则只显示该命令的帮助信息。

3. 命令

3.1 生成HDFS集群的状态报告

3.1.1 语法及解释
hdfs dfsadmin -report [-live] [-dead] [-decommissioning] [-enteringmaintenance] [-inmaintenance]
  • [-live]: 仅列出当前活动(在线)的DataNode。这些节点正在正常工作并与NameNode保持通信。

  • [-dead]: 仅列出被认为已经死亡(离线)的DataNode。这些节点可能由于网络问题、硬件故障或其他原因未能与NameNode保持联系。

  • [-decommissioning]: 仅列出正处于退役过程中的DataNode。当管理员希望从集群中移除某些节点时,会先将它们标记为退役,以确保数据被复制到其他节点后再进行物理移除。

  • [-enteringmaintenance]: 仅列出正在进入维护模式的DataNode。在维护模式下,节点上的读写操作会被限制,但不会立即切断与集群的连接,允许逐步减少其负载。

  • [-inmaintenance]: 仅列出已经在维护模式中的DataNode。这些节点通常处于一种受限的操作状态,以便于执行维护任务而不影响集群的整体性能。

3.1.2 示例

获取所有类型DataNode的综合报告。

hdfs dfsadmin -report

在这里插入图片描述

仅列出活动的DataNode。

hdfs dfsadmin -report -live

在这里插入图片描述

仅列出死亡的DataNode。

hdfs dfsadmin -report -dead

在这里插入图片描述

仅列出正在退役的DataNode。

hdfs dfsadmin -report -decommissioning

在这里插入图片描述

仅列出正在进入维护模式的DataNode。

hdfs dfsadmin -report -enteringmaintenance

在这里插入图片描述

仅列出已在维护模式中的DataNode。

hdfs dfsadmin -report -inmaintenance

在这里插入图片描述

3.2 重新加载配置文件并更新NameNode中的节点列表

hdfs dfsadmin -refreshNodes

在这里插入图片描述

3.3 刷新指定DataNode上的NameNode信息

3.3.1 语法
hdfs dfsadmin -refreshNamenodes datanode_host:ipc_port

3.4 获取并显示指定DataNode的信息

3.4.1 语法
hdfs dfsadmin -getDatanodeInfo <datanode_host:ipc_port>

3.5 控制NameNode的安全模式

3.5.1 语法及解释
hdfs dfsadmin -safemode <enter | leave | get | wait | forceExit>
  • enter: 进入安全模式。
  • leave: 离开安全模式。
  • get: 获取当前安全模式状态。
  • wait: 等待离开安全模式。
  • forceExit: 强制退出安全模式。
3.5.2 示例

获取当前安全模式状态。

hdfs dfsadmin -safemode get

3.6 保存名称空间镜像

3.6.1 语法及解释
hdfs dfsadmin -saveNamespace [-beforeShutdown]
  • -beforeShutdown: 在关机前执行。
3.6.2 示例

进入安全模式状态。

hdfs dfsadmin -safemode enter

保存名称空间镜像。

hdfs dfsadmin -saveNamespace -beforeShutdown

离开安全模式状态。

hdfs dfsadmin -safemode leave

在这里插入图片描述

3.7 滚动edits日志文件

滚动edits日志文件,会创建一个新的编辑日志文件并开始使用它,同时将旧的日志归档。

hdfs dfsadmin -rollEdits

在这里插入图片描述

3.8 设置是否尝试恢复失败的存储设备

3.8.1 语法及解释
hdfs dfsadmin -restoreFailedStorage true|false|check
  • true: 尝试恢复。
  • false: 不尝试恢复。
  • check: 只检查而不实际恢复。
3.8.2 示例
hdfs dfsadmin -restoreFailedStorage check

3.9 最终化升级

最终化升级过程,清除旧版本的数据结构和元数据。

hdfs dfsadmin -finalizeUpgrade

3.10 查询或完成一次HDFS升级

3.10.1 语法及解释
hdfs dfsadmin -upgrade <query | finalize>
  • query: 查询当前升级状态。
  • finalize: 完成升级过程。

3.11 滚动升级

执行滚动升级的相关操作,允许在不停止服务的情况下逐步升级集群。

3.11.1 语法及解释
hdfs dfsadmin -rollingUpgrade prepare[<query|prepare|finalize>]
  • query: 查询当前滚动升级状态。
  • prepare: 准备开始滚动升级。
  • finalize: 完成滚动升级。

3.12 设置配额

为目录设置文件数量配额,限制该目录下的最大文件数。

3.12.1 语法及解释
hdfs dfsadmin -setQuota <quota> <dirname>...<dirname>
3.12.2 示例

设置目录/test下最多只能存60个文件。

hdfs dfsadmin -setQuota 60 /test

3.13 清除配额

3.13.1 语法及解释

清除目录的文件数量配额。

hdfs dfsadmin -clrQuota <dirname>...<dirname>
3.13.2 示例

清除目录/test下的文件数量配额。

hdfs dfsadmin -clrQuota /test

3.14 设置目录的磁盘空间配额

3.14.1 语法及解释
hdfs dfsadmin -setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>
  • <quota>: 指定空间配额的大小,单位为字节(B)。你也可以使用K(KB)、M(MB)、G(GB)、T(TB)、P(PB)来表示更大的单位。

  • [-storageType <storagetype>]: 这是一个可选参数,允许您针对特定类型的存储设置空间配额。HDFS支持多种存储类型,包括:

    • ALL: 默认值,适用于所有类型的存储。
    • DISK: 普通硬盘。
    • SSD: 固态硬盘。
    • ARCHIVE: 归档存储,通常用于冷数据。
3.14.2 示例

设置目录/test的空间配额为100MB。

hdfs dfsadmin -setSpaceQuota 100M /test

3.15 清除目录的磁盘空间配额

3.15.1 语法及解释
hdfs dfsadmin -clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>
3.15.2 示例
hdfs dfsadmin -clrSpaceQuota /test

3.16 重新加载服务ACL配置

hdfs dfsadmin -refreshServiceAcl

3.17 重新加载用户到组映射配置

hdfs dfsadmin -refreshUserToGroupsMappings

3.18 重新加载超级用户组配置

hdfs dfsadmin -refreshSuperUserGroupsConfiguration

3.19 重新加载调用队列配置

重新加载调用队列配置,影响NameNode如何处理客户端请求。

hdfs dfsadmin -refreshCallQueue

3.20 重配置

对NameNode或DataNode进行在线重配置,允许动态更改某些配置属性而无需重启服务。

hdfs dfsadmin -reconfig <namenode|datanode> <host:ipc_port> <start|status|properties>

3.21 打印网络拓扑结构

打印网络拓扑结构,帮助理解集群中各个节点的位置关系。

hdfs dfsadmin -printTopology

3.22 获取指定DataNode的卷报告

获取指定DataNode的卷报告,提供关于存储容量和健康状况的信息。

hdfs dfsadmin -getVolumeReport datanode_host:ipc_port

3.23 删除指定DataNode上的块池

删除指定DataNode上的块池,通常用于清理不再需要的数据。

hdfs dfsadmin -deleteBlockPool datanode_host:ipc_port blockpoolId [force]
  • [force]:强制执行块池的删除操作。

3.24 设置平衡器带宽限制

设置平衡器带宽限制,控制DataNode之间复制数据的速度。

hdfs dfsadmin -setBalancerBandwidth <bandwidth in bytes per second>

<bandwidth in bytes per second>:指定Balancer在执行平衡操作时使用的最大带宽,单位为字节每秒(bytes/s)。

3.25 获取指定DataNode上的平衡器带宽设置

hdfs dfsadmin -getBalancerBandwidth <datanode_host:ipc_port>

3.26 下载fsimage到本地目录

下载fsimage到本地目录,用于备份或分析目的。

hdfs dfsadmin -fetchImage <local directory>

3.27 允许在指定目录创建快照

允许在指定目录创建快照,以便于数据恢复和版本控制。

hdfs dfsadmin -allowSnapshot <snapshotDir>

3.28 禁止在指定目录创建快照

禁止在指定目录创建快照。

hdfs dfsadmin -disallowSnapshot <snapshotDir>

3.29 关闭指定DataNode

关闭指定DataNode,可选参数指示是否为升级目的。

hdfs dfsadmin -shutdownDatanode <datanode_host:ipc_port> [upgrade]

3.30 强制驱逐写入者客户端

强制驱逐写入者客户端,有助于解决长时间占用资源的问题。

hdfs dfsadmin -evictWriters <datanode_host:ipc_port>

3.31 将当前元数据保存到指定文件中

将当前元数据保存到指定文件中,便于故障排除或审计。

hdfs dfsadmin -metasave filename

3.32 触发DataNode发送块报告给NameNode

触发DataNode发送块报告给NameNode,可选择增量报告,以减少传输的数据量。

hdfs dfsadmin -triggerBlockReport [-incremental] <datanode_host:ipc_port> [-namenode <namenode_host:ipc_port>]

3.33 列出打开的文件

列出打开的文件,可选择阻止退役操作以及指定路径过滤,帮助管理员了解哪些文件正在被访问。

hdfs dfsadmin -listOpenFiles [-blockingDecommission] [-path <path>]

相关文章:

hdfs命令(三)- hdfs 管理命令(三)- hdfs dfsadmin命令

文章目录 前言一、hdfs分布式文件系统管理命令1. 介绍2. 语法及解释3. 命令3.1 生成HDFS集群的状态报告3.1.1 语法及解释3.1.2 示例 3.2 重新加载配置文件并更新NameNode中的节点列表3.3 刷新指定DataNode上的NameNode信息3.3.1 语法 3.4 获取并显示指定DataNode的信息3.4.1 语…...

TCP off-path exploits(又一个弄巧成拙的例子)

承接前面几篇文章的观点&#xff0c;本文用一个安全攻击的例子说明为了解决一个伤害很低的低概率问题&#xff0c;会引入多么大的麻烦&#xff0c;这次是可怕的被攻击 (⊙o⊙)。 TCP 端口号只有 16bit&#xff0c;序列号只有 32bit&#xff0c;这意味着在强大攻击算力面前&…...

Docker【初识Docker】

目录 为什么会出现Docker这门技术喃&#xff1f; 应用开发和部署的困境 容器技术的先兆 Docker 的出现&#xff1a;简化容器化 Docker 技术的关键创新&#xff1a; Docker 的广泛应用和变革 什么是 Docker&#xff1f; Docker的历史 早期背景&#xff1a;容器化和虚拟化…...

开机存活脚本

vim datastadard_alive.sh #!/bin/bashPORT18086 # 替换为你想要检查的端口号 dt$(date %Y-%m-%d)# 使用netstat检查端口是否存在 if netstat -tuln | grep -q ":$PORT"; thenecho "$dt Port $PORT is in use" > /opt/datastadard/logs/alive.log# 如…...

【elementplus】中文模式

设置中文 <el-date-picker v-model“userAddKey” type“daterange” style“width: 240px” start-placeholder“Start Date” end-placeholder“End Date” change“handleUserAddChange” /> 引入&#xff1a; import zhCn from “element-plus/es/locale/lang/zh-cn”…...

【Docker命令】如何使用`docker exec`在容器内执行命令

大家好&#xff0c;今天我们来聊聊Docker容器管理中的一个非常有用的命令&#xff1a;docker exec。在日常工作中&#xff0c;我们经常需要在运行中的Docker容器内执行各种命令&#xff0c;docker exec正是帮助我们实现这一需求的利器。下面我将通过一个简单的例子&#xff0c;…...

FPGA的DMA应用——pcileech

硬件通过pcie总线&#xff0c;访存本机的内存&#xff0c;并进行修改&#xff0c;可以进行很多操作。 学习视频&#xff1a;乱讲DMA及TLP 1-pcileech项目简介和自定义模块介绍_哔哩哔哩_bilibili vivado2024.1的下载文章链接和地址&#xff1a;AMD-Xilinx Vivado™ 2024.1 现…...

前后端数据交互

一、后端部分 1.创建Spring Boot项目&#xff1a;在IDEA中创建一个Spring Boot项目&#xff0c;引入必要的依赖。 2.编写Controller层&#xff1a;在Spring Boot项目中创建Controller&#xff0c;用于处理前端的请求和响应数据。 RestController RequestMapping("/demo/s…...

将现有Web 网页封装为macOS应用

文章目录 方式一&#xff1a;Unite for macOS方式二&#xff1a;Web2Desk方式三&#xff1a;Nativefier方式四&#xff1a;Flutter Flutter WebView Plugin总结 方式一&#xff1a;Unite for macOS Unite 是一款专为 macOS 设计的工具&#xff0c;可以将任意 Web 页面快速封装…...

代码随想录Day52 101. 孤岛的总面积,102. 沉没孤岛,103. 水流问题,104.建造最大岛屿。

1.孤岛的总面积 卡码网&#xff1a;101. 孤岛的总面积(opens new window) 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域&#xff0c;且完全被水域单元格…...

Python毕业设计选题:基于Python的社区爱心养老管理系统设计与实现_django

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 身体健康界面 公共书籍界面 借阅信息界面 归还…...

逆袭之路(11)——python网络爬虫:原理、应用、风险与应对策略

困厄铸剑心&#xff0c;逆袭展锋芒。 寒苦凝壮志&#xff0c;腾跃绘华章。 我要逆袭。 目录 一、引言 二、网络爬虫的基本原理 &#xff08;一&#xff09;网络请求与响应 &#xff08;二&#xff09;网页解析 &#xff08;三&#xff09;爬行策略 三、网络爬虫的应用领…...

【Rust自学】7.3. 路径(Path)Pt.2:访问父级模块、pub关键字在结构体和枚举类型上的使用

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 7.3.1. super 我们可以通过在路径开头使用super来访问父级模块路径中的内容&#xff0c;就像使用..语法启动文件系统路径。例如&#xff…...

wangEditor富文本插件在vue项目中使用和媒体上传的实现

wangEditor是前端一个比较流行的简洁易用&#xff0c;功能强大的前端富文本编辑器&#xff0c;支持 JS Vue React&#xff0c;提供了很多丰富的功能&#xff0c;下面手把手教你实现wangWditor富文本插件在vue项目中配置&#xff0c;保存、图片上传等功能。无脑ctrlc即可 基本功…...

FFmpeg 的常用API

FFmpeg 的常用API 附录&#xff1a;FFmpeg库介绍 库介绍libavcodec音视频编解码核心库编码 (avcodec_send_frame, avcodec_receive_packet)。解码 (avcodec_send_packet, avcodec_receive_frame)。libavformat提供了音视频流的解析和封装功能&#xff0c;多种多媒体封装格式&…...

【软件】教务系统成绩提交工具使用步骤

【软件】教务系统成绩提交工具使用步骤 零、快速开始 安装 与大多数软件一样&#xff0c;安装步骤很简单&#xff0c;一直点击“下一步”即可快速完成安装&#xff0c;安装完成后&#xff0c;在桌面会有一个软件图标&#xff0c;双击即可打开软件主界面。 导入成绩到Excel中…...

es快速扫描

介绍 Elasticsearch简称es&#xff0c;一款开源的分布式全文检索引擎 可组建一套上百台的服务器集群&#xff0c;处理PB级别数据 可满足近实时的存储和检索 倒排索引 跟正排索引相对&#xff0c;正排索引是根据id进行索引&#xff0c;所以查询效率非常高&#xff0c;但是模糊…...

埃斯顿机器人程序模版案例,欢迎指点

埃斯顿机器人程序模版案例&#xff0c;欢迎指点...

解锁成长密码:探寻刻意练习之道

刻意练习&#xff0c;真有那么神&#xff1f; 在生活中&#xff0c;你是否有过这样的困惑&#xff1a;每天苦练英语口语&#xff0c;可一到交流时还是支支吾吾&#xff1b;埋头苦学吉他&#xff0c;却总是卡在几个和弦转换上&#xff1b;工作多年&#xff0c;业务能力却似乎陷入…...

对外发PDF设置打开次数

在线 Host PDF 文件并对链接进行限制——保障文件安全的最佳解决方案 在数字化办公和远程协作日益普及的今天&#xff0c;如何安全高效地分享 PDF 文件成为许多用户关注的重点。MaiPDF 作为一款功能强大的在线工具&#xff0c;不仅支持在线 host PDF 文件&#xff0c;还提供多…...

【Linux命令】su、sudo、sudo su、sudo -i、sudo -l的用法和区别

su 命令 su (Switch User 切换用户)&#xff0c;允许用户切换到另一个用户的身份&#xff0c;默认情况下是切换到 root 用户。 默认行为&#xff1a;如果只运行 su&#xff0c;则系统会要求输入 root 用户的密码来切换到 root 用户&#xff0c;获取管理员权限。 切换到其他用…...

leetcode hot 100搜索回溯

39. 组合总和 已解答 中等 相关标签 相关企业 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candi…...

记录-->为2025添砖java的第二天

如何在java中创建自己的方法呢&#xff0c;我认为它和在C语言c里面写函数就没啥区别&#xff0c;(⊙﹏⊙)&#xff0c;可能有一点点就是说public static int add(int a,int b){}就是得和main方法里面的状态一致。 import java.util.Scanner; public class Math3 {public stati…...

uniapp小程序实现弹幕不重叠

uniapp小程序实现弹幕不重叠 1、在父组件中引入弹幕组件 <template><!-- 弹幕 --><barrage ref"barrage" class"barrage-content" reloadDanmu"reloadDanmu"></barrage> </template> <script>import barr…...

拼多多纠偏,能否实现买卖平权?

科技新知 原创作者丨江蓠 编辑丨蕨影 当曾将仅退款、运费险作为标配的电商平台们开始听到商家诉求&#xff0c;有意优化营商环境&#xff0c;作为“仅退款”服务发起者的拼多多也坐不住了。 在推出一揽子减免计划讨好中小商家之后&#xff0c;拼多多近期被传正在内测精选用户…...

【Leetcode】3159. 查询数组中元素的出现位置

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个整数数组 nums &#xff0c;一个整数数组 queries 和一个整数 x 。 对于每个查询 q u e r i e s [ i ] queries[i] queries[i] &#xff0c;你需要找到 n u m s nums nu…...

PHP语言laravel框架中基于Redis的异步队列使用实践与原理

在 Laravel 中&#xff0c;基于 Redis 的异步队列是通过 Laravel 的队列系统与 Redis 服务结合来实现的。这种队列机制允许你将任务推送到队列中&#xff0c;并由后台工作进程异步处理这些任务。这样&#xff0c;你就可以将耗时的操作&#xff08;如发送邮件、处理视频、数据同…...

Element-plus自动导入

安装 npm i element-plus 自动引入 1. 安装两个插件 npm install -D unplugin-vue-components unplugin-auto-import2. 配置插件 vue3项目修改vite.config.js&#xff0c;把两个插件添加入即可&#xff0c;注意:不是覆盖原有配置 Vite // vite.config.js import { define…...

贪心算法(常见贪心模型)

常见贪心模型 简单排序模型 最小化战斗力差距 题目分析&#xff1a; #include <bits/stdc.h> using namespace std;const int N 1e5 10;int n; int a[N];int main() {// 请在此输入您的代码cin >> n;for (int i 1;i < n;i) cin >> a[i];sort(a1,a1n);…...

碰一碰发视频后端源码技术开发详解,支持OEM

一、引言 碰一碰发视频作为一种新颖的交互方式&#xff0c;在前端为用户带来便捷体验的同时&#xff0c;后端技术起着至关重要的支撑作用。后端负责管理视频资源、处理 NFC 标签信息与视频的关联逻辑、用户数据的存储与分析以及与前端的高效通信&#xff0c;确保整个系统稳定、…...

Python vs PHP:哪种语言更适合网页抓取

本文将比较 Python 和 PHP&#xff0c;以帮助读者确定哪种语言更适合他们的需求。文章将探讨两种语言的优点和缺点&#xff0c;并根据读者的经验水平分析哪种语言可能更容易上手。接下来&#xff0c;文章将深入探讨哪种语言在抓取网页数据方面更胜一筹。 简而言之&#xff0c;…...

SpringBoot 新特性

优质博文&#xff1a;IT-BLOG-CN 2.1.0新特性最低支持jdk8,支持tomcat9 对响应式编程的支持&#xff0c;spring-boot-starter-webflux starter POM可以快速开始使用Spring WebFlux&#xff0c;它由嵌入式Netty服务器支持 1.5.8 2.1.0/2.7.0/3.0.0 Configuration propertie…...

NAT 技术如何解决 IP 地址短缺问题?

NAT 技术如何解决 IP 地址短缺问题&#xff1f; 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 随着互联网的普及和发展&#xff0c;IP 地址的需求量迅速增加。尤其是 IPv4 地址&…...

微积分复习(微分方程)

1,一阶微分方程 可分离的微分方程: 可以把x和y分列等号两边,然后求积分可以解决 齐次方程和准齐次方程 要求是 :yf(y/x),也就是没有单独的x项,我们可以通过设ty/x来统一变量方便我们运算 准齐次方程就是常数项不统一,我们可以将Xxa,Yyb来消灭常数项进而转化为齐次形式…...

动态规划子序列问题系列一>等差序列划分II

题目&#xff1a; 解析&#xff1a; 1.状态表示&#xff1a; 2.状态转移方程&#xff1a; 这里注意有个优化 3.初始化&#xff1a; 4.填表顺序&#xff1a; 5.返回值&#xff1a; 返回dp表总和 代码&#xff1a; public int numberOfArithmeticSlices(int[] nums) {in…...

【连续学习之SSL算法】2018年论文Selfless sequential learning

1 介绍 年份&#xff1a;2018 期刊&#xff1a; arXiv preprint Aljundi R, Rohrbach M, Tuytelaars T. Selfless sequential learning[J]. arXiv preprint arXiv:1806.05421, 2018. 本文提出了一种名为SLNID&#xff08;Sparse coding through Local Neural Inhibition and…...

【FastAPI】中间件

【FastAPI】中间件 一、概述二、作用2.1 日志记录与监控2.2 身份验证与授权2.3 CORS&#xff08;跨域资源共享&#xff09;2.4 Gzip压缩2.5 会话管理2.6 自定义功能2.7 执行顺序 三、 总结四、相关链接 一、概述 FastAPI的中间件提供了一种强大的机制&#xff0c;允许开发者在…...

文档大师:打造一站式 Word 报告解决方案1

前言 在政府、医院、银行、财务以及销售等领域&#xff0c;常常需要创建各种报告文件来展开工作汇报&#xff0c;譬如季度销售报告、年度总结报告、体检报告和保险合同等。在没有报表工具支持之前&#xff0c;这类报告主要通过 Word 制作&#xff0c;费时费力且难以维护&#…...

再谈c++线性关系求值

目的 线性关系是最简单的一种关系&#xff0c;在编程当中应用非常多&#xff0c;所以&#xff0c;再说一次线性关系。 线性关系的定义是这样的&#xff1a; 两个变量之间存在一次方函数关系&#xff0c;就称它们之间存在线性关系。正比例关系是线性关系中的特例&#xff0c;反…...

【ES6复习笔记】Class类(15)

介绍 ES6 提供了更接近传统语言的写法&#xff0c;引入了 Class&#xff08;类&#xff09;这个概念&#xff0c;作为对象的模板。通过 class 关键字&#xff0c;可以定义类。基本上&#xff0c;ES6 的 class 可以看作只是一个语法糖&#xff0c;它的绝大部分功能&#xff0c;…...

AppAgent 源码 (xml 解析)

1. 数据准备 adb shell uiautomator dump /sdcard/output.xml # 获取手机ui界面的xml文件 adb pull /sdcard/output.xml output.xml # 将手机上的xml文件拉取到电脑上具体的xml文件&#xff1a; <?xml version1.0 encodingUTF-8 standaloneyes ?> <hierarchy ro…...

Oracle 11G还有新BUG?ORACLE 表空间迷案!

前段时间遇到一个奇葩的问题&#xff0c;在开了SR和oracle support追踪两周以后才算是有了不算完美的结果&#xff0c;在这里整理出来给大家分享。 1.问题描述 12/13我司某基地MES全厂停线&#xff0c;系统卡死不可用&#xff0c;通知到我排查&#xff0c;查看alert log看到是…...

FreeSwitch中启用WebRTC

在FreeSwitch中启用WebRTC需要进行一系列配置。以下是详细的步骤&#xff1a; 1. 安装必要的依赖&#xff1a; 确保安装了支持WebRTC的依赖库&#xff0c;如libsrtp。 2. 配置SIP Profile&#xff1a; 编辑 conf/sip_profiles/internal.xml 文件&#xff0c;添加或修改以下内…...

力扣矩阵-算法模版总结

lc-73.矩阵置零-(时隔14天)-12.27 思路&#xff1a;(23min22s) 1.直接遍历遇0将行列设0肯定不行&#xff0c;会影响后续判断&#xff0c;题目又要求原地算法&#xff0c;那么进一步考虑是否可以将元素为0&#xff0c;其行列需要设为0的位置给存储下来&#xff0c;最后再遍历根据…...

服务端高并发分布式结构演进之路

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 服务端高并发分布式结构演进之路 收录于专栏[redis] 本专栏旨在分享学习Redis的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 概述 …...

虚拟机桥接模式

主机Win10,虚拟机xp 1.虚拟机设置中选择桥接模式 2.在虚拟机菜单&#xff1a;编辑>虚拟机网络编辑&#xff0c;点击“更改设置”&#xff0c;可以看到三个网卡&#xff0c;这三个网卡分别对应不同的网络共享模式。桥接模式须使用VMnet0&#xff0c;如果没看到这个网卡&…...

JVM调优实践篇

理论篇 1多功能养鱼塘&#xff0d;JVM内存 大鱼塘O&#xff08;可分配内存&#xff09;&#xff1a; JVM可以调度使用的总的内存数&#xff0c;这个数量受操作系统进程寻址范围、系统虚拟内存总数、系统物理内存总数、其他系统运行所占用的内存资源等因素的制约。 小池塘A&a…...

SpeedTree学习笔记总结

SpeedTree是一款业界领先的三维树木植被建模软件&#xff0c;特别适用于游戏开发和影视制作。 一、基础操作 旋转&#xff1a;鼠标左键 平移&#xff1a;鼠标中键 缩放&#xff1a;鼠标中键滚动 Trunks树干节点 Branches树枝 Cap给树干封口 Frond创建大树叶 Decorations…...

【MuJoCo和PhysX】

MuJoCo 与 Unity 的 PhysX 引擎的主要区别 应用领域&#xff1a; MuJoCo&#xff1a;主要用于机器人学、强化学习、生物力学等领域&#xff0c;擅长处理多自由度、复杂动力学问题&#xff0c;尤其适合进行高精度的物理仿真。 Unity PhysX&#xff1a;主要用于游戏开发、虚拟现…...

HTML制作一个普通的背景换肤案例2024版

一&#xff0c;完整的代码&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>换肤</t…...