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

Milvus集群部署

#本次部署其中的组件kafka、minio均为外置

将milvus chart包解压拷贝至某个目录下

编辑helm的values.yaml文件

## Enable or disable Milvus Cluster mode
cluster:enabled: trueimage:all:repository: milvusdb/milvustag: v2.4.1pullPolicy: IfNotPresent## Optionally specify an array of imagePullSecrets.## Secrets must be manually created in the namespace.## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/### pullSecrets:#   - myRegistryKeySecretNametools:repository: milvusdb/milvus-config-tooltag: v0.1.2pullPolicy: IfNotPresent# Global node selector
# If set, this will apply to all milvus components
# Individual components can be set to a different node selector
nodeSelector: {}# Global tolerations
# If set, this will apply to all milvus components
# Individual components can be set to a different tolerations
tolerations: []# Global affinity
# If set, this will apply to all milvus components
# Individual components can be set to a different affinity
affinity: {}# Global labels and annotations
# If set, this will apply to all milvus components
labels: {}
annotations: {}# Extra configs for milvus.yaml
# If set, this config will merge into milvus.yaml
# Please follow the config structure in the milvus.yaml
# at https://github.com/milvus-io/milvus/blob/master/configs/milvus.yaml
# Note: this config will be the top priority which will override the config
# in the image and helm chart.
extraConfigFiles:user.yaml: |+#    For example enable rest http for milvus proxy#    proxy:#      http:#        enabled: true#      maxUserNum: 100#      maxRoleNum: 10##  Enable tlsMode and set the tls cert and key#  tls:#    serverPemPath: /etc/milvus/certs/tls.crt#    serverKeyPath: /etc/milvus/certs/tls.key#   common:#     security:#       tlsMode: 1## Expose the Milvus service to be accessed from outside the cluster (LoadBalancer service).
## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
## ref: http://kubernetes.io/docs/user-guide/services/
##
service:type: ClusterIPport: 19530portName: milvusnodePort: ""annotations: {}labels: {}## List of IP addresses at which the Milvus service is available## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips##externalIPs: []#   - externalIp1# LoadBalancerSourcesRange is a list of allowed CIDR values, which are combined with ServicePort to# set allowed inbound rules on the security group assigned to the master load balancerloadBalancerSourceRanges:- 0.0.0.0/0# Optionally assign a known public LB IP# loadBalancerIP: 1.2.3.4ingress:enabled: falseannotations:# Annotation example: set nginx ingress type# kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/backend-protocol: GRPCnginx.ingress.kubernetes.io/listen-ports-ssl: '[19530]'nginx.ingress.kubernetes.io/proxy-body-size: 4mnginx.ingress.kubernetes.io/ssl-redirect: "true"labels: {}rules:- host: "milvus-example.local"path: "/"pathType: "Prefix"# - host: "milvus-example2.local"#   path: "/otherpath"#   pathType: "Prefix"tls: []#  - secretName: chart-example-tls#    hosts:#      - milvus-example.localserviceAccount:create: falsename:annotations:labels:metrics:enabled: trueserviceMonitor:# Set this to `true` to create ServiceMonitor for Prometheus operatorenabled: falseinterval: "30s"scrapeTimeout: "10s"# Additional labels that can be used so ServiceMonitor will be discovered by PrometheusadditionalLabels: {}livenessProbe:enabled: trueinitialDelaySeconds: 90periodSeconds: 30timeoutSeconds: 5successThreshold: 1failureThreshold: 5readinessProbe:enabled: trueinitialDelaySeconds: 90periodSeconds: 10timeoutSeconds: 5successThreshold: 1failureThreshold: 5log:level: "info"file:maxSize: 300    # MBmaxAge: 10    # daymaxBackups: 20format: "text"    # text/jsonpersistence:mountPath: "/milvus/logs"## If true, create/use a Persistent Volume Claim## If false, use emptyDir##enabled: trueannotations:helm.sh/resource-policy: keeppersistentVolumeClaim:existingClaim: ""## Milvus Logs Persistent Volume Storage Class## If defined, storageClassName: <storageClass>## If set to "-", storageClassName: "", which disables dynamic provisioning## If undefined (the default) or set to null, no storageClassName spec is##   set, choosing the default provisioner.## ReadWriteMany access mode required for milvus cluster.##storageClass: nfs-clientaccessModes: ReadWriteManysize: 20GisubPath: ""## Heaptrack traces all memory allocations and annotates these events with stack traces.
## See more: https://github.com/KDE/heaptrack
## Enable heaptrack in production is not recommended.
heaptrack:image:repository: milvusdb/heaptracktag: v0.1.0pullPolicy: IfNotPresentstandalone:replicas: 1  # Run standalone mode with replication disabledresources: {}# Set local storage size in resources# resources:#   limits:#     ephemeral-storage: 100GinodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falsedisk:enabled: truesize:enabled: false  # Enable local storage size limitprofiling:enabled: false  # Enable live profiling## Default message queue for milvus standalone## Supported value: rocksmq, natsmq, pulsar and kafkamessageQueue: rocksmqpersistence:mountPath: "/var/lib/milvus"## If true, alertmanager will create/use a Persistent Volume Claim## If false, use emptyDir##enabled: trueannotations:helm.sh/resource-policy: keeppersistentVolumeClaim:existingClaim: ""## Milvus Persistent Volume Storage Class## If defined, storageClassName: <storageClass>## If set to "-", storageClassName: "", which disables dynamic provisioning## If undefined (the default) or set to null, no storageClassName spec is##   set, choosing the default provisioner.##storageClass:accessModes: ReadWriteOncesize: 50GisubPath: ""proxy:enabled: true# You can set the number of replicas to -1 to remove the replicas field in case you want to use HPAreplicas: 1resources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilinghttp:enabled: true  # whether to enable http rest serverdebugMode:enabled: false# Mount a TLS secret into proxy podtls:enabled: false
## when enabling proxy.tls, all items below should be uncommented and the key and crt values should be populated.
#    enabled: true
#    secretName: milvus-tls
## expecting base64 encoded values here: i.e. $(cat tls.crt | base64 -w 0) and $(cat tls.key | base64 -w 0)
#    key: LS0tLS1CRUdJTiBQU--REDUCT
#    crt: LS0tLS1CRUdJTiBDR--REDUCT
#  volumes:
#  - secret:
#      secretName: milvus-tls
#    name: milvus-tls
#  volumeMounts:
#  - mountPath: /etc/milvus/certs/
#    name: milvus-tls# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}rootCoordinator:enabled: true# You can set the number of replicas greater than 1, only if enable active standbyreplicas: 1  # Run Root Coordinator mode with replication disabledresources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingactiveStandby:enabled: false  # Enable active-standby when you set multiple replicas for root coordinator# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}service:port: 53100annotations: {}labels: {}clusterIP: ""queryCoordinator:enabled: true# You can set the number of replicas greater than 1, only if enable active standbyreplicas: 1  # Run Query Coordinator mode with replication disabledresources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingactiveStandby:enabled: false  # Enable active-standby when you set multiple replicas for query coordinator# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}service:port: 19531annotations: {}labels: {}clusterIP: ""queryNode:enabled: true# You can set the number of replicas to -1 to remove the replicas field in case you want to use HPAreplicas: 1resources: {}# Set local storage size in resources# resources:#   limits:#     ephemeral-storage: 100GinodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falsedisk:enabled: true  # Enable querynode load disk index, and search on disk indexsize:enabled: false  # Enable local storage size limitprofiling:enabled: false  # Enable live profiling# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}indexCoordinator:enabled: true# You can set the number of replicas greater than 1, only if enable active standbyreplicas: 1   # Run Index Coordinator mode with replication disabledresources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingactiveStandby:enabled: false  # Enable active-standby when you set multiple replicas for index coordinator# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}service:port: 31000annotations: {}labels: {}clusterIP: ""indexNode:enabled: true# You can set the number of replicas to -1 to remove the replicas field in case you want to use HPAreplicas: 1resources: {}# Set local storage size in resources# limits:#    ephemeral-storage: 100GinodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingdisk:enabled: true  # Enable index node build disk vector indexsize:enabled: false  # Enable local storage size limit# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}dataCoordinator:enabled: true# You can set the number of replicas greater than 1, only if enable active standbyreplicas: 1           # Run Data Coordinator mode with replication disabledresources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingactiveStandby:enabled: false  # Enable active-standby when you set multiple replicas for data coordinator# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}service:port: 13333annotations: {}labels: {}clusterIP: ""dataNode:enabled: true# You can set the number of replicas to -1 to remove the replicas field in case you want to use HPAreplicas: 1resources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profiling# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}## mixCoordinator contains all coord
## If you want to use mixcoord, enable this and disable all of other coords 
mixCoordinator:enabled: false# You can set the number of replicas greater than 1, only if enable active standbyreplicas: 1           # Run Mixture Coordinator mode with replication disabledresources: {}nodeSelector: {}affinity: {}tolerations: []extraEnv: []heaptrack:enabled: falseprofiling:enabled: false  # Enable live profilingactiveStandby:enabled: false  # Enable active-standby when you set multiple replicas for Mixture coordinator# Deployment strategy, default is RollingUpdate# Ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#rolling-update-deploymentstrategy: {}service:annotations: {}labels: {}clusterIP: ""attu:enabled: falsename: attuimage:repository: zilliz/attutag: v2.3.10pullPolicy: IfNotPresentservice:annotations: {}labels: {}type: ClusterIPport: 3000# loadBalancerIP: ""resources: {}podLabels: {}ingress:enabled: falseannotations: {}# Annotation example: set nginx ingress type# kubernetes.io/ingress.class: nginxlabels: {}hosts:- milvus-attu.localtls: []#  - secretName: chart-attu-tls#    hosts:#      - milvus-attu.local## Configuration values for the minio dependency
## ref: https://github.com/zilliztech/milvus-helm/blob/master/charts/minio/README.md
##minio:enabled: falsename: miniomode: distributedimage:tag: "RELEASE.2023-03-20T20-16-18Z"pullPolicy: IfNotPresentaccessKey: minioadminsecretKey: minioadminexistingSecret: ""bucketName: "milvus-bucket"rootPath: fileuseIAM: falseiamEndpoint: ""region: ""useVirtualHost: falsepodDisruptionBudget:enabled: falseresources:requests:memory: 2Giservice:type: ClusterIPport: 9000persistence:enabled: trueexistingClaim: ""storageClass:accessMode: ReadWriteOncesize: 500GilivenessProbe:enabled: trueinitialDelaySeconds: 5periodSeconds: 5timeoutSeconds: 5successThreshold: 1failureThreshold: 5readinessProbe:enabled: trueinitialDelaySeconds: 5periodSeconds: 5timeoutSeconds: 1successThreshold: 1failureThreshold: 5startupProbe:enabled: trueinitialDelaySeconds: 0periodSeconds: 10timeoutSeconds: 5successThreshold: 1failureThreshold: 60## Configuration values for the etcd dependency
## ref: https://artifacthub.io/packages/helm/bitnami/etcd
##etcd:enabled: truename: etcdreplicaCount: 3pdb:create: falseimage:repository: "milvusdb/etcd"tag: "3.5.5-r4"pullPolicy: IfNotPresentservice:type: ClusterIPport: 2379peerPort: 2380auth:rbac:enabled: falsepersistence:enabled: truestorageClass: nfs-clientaccessMode: ReadWriteOncesize: 20Gi## Change default timeout periods to mitigate zoobie probe processlivenessProbe:enabled: truetimeoutSeconds: 10readinessProbe:enabled: trueperiodSeconds: 20timeoutSeconds: 10## Enable auto compaction## compaction by every 1000 revision##autoCompactionMode: revisionautoCompactionRetention: "1000"## Increase default quota to 4G##extraEnvVars:- name: ETCD_QUOTA_BACKEND_BYTESvalue: "4294967296"- name: ETCD_HEARTBEAT_INTERVALvalue: "500"- name: ETCD_ELECTION_TIMEOUTvalue: "2500"## Configuration values for the pulsar dependency
## ref: https://github.com/apache/pulsar-helm-chart
##pulsar:enabled: falsename: pulsarfullnameOverride: ""persistence: truemaxMessageSize: "5242880"  # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.rbac:enabled: falsepsp: falselimit_to_namespace: trueaffinity:anti_affinity: false## enableAntiAffinity: nocomponents:zookeeper: truebookkeeper: true# bookkeeper - autorecoveryautorecovery: truebroker: truefunctions: falseproxy: truetoolset: falsepulsar_manager: falsemonitoring:prometheus: falsegrafana: falsenode_exporter: falsealert_manager: falseimages:broker:repository: apachepulsar/pulsarpullPolicy: IfNotPresenttag: 2.8.2autorecovery:repository: apachepulsar/pulsartag: 2.8.2pullPolicy: IfNotPresentzookeeper:repository: apachepulsar/pulsarpullPolicy: IfNotPresenttag: 2.8.2bookie:repository: apachepulsar/pulsarpullPolicy: IfNotPresenttag: 2.8.2proxy:repository: apachepulsar/pulsarpullPolicy: IfNotPresenttag: 2.8.2pulsar_manager:repository: apachepulsar/pulsar-managerpullPolicy: IfNotPresenttag: v0.1.0zookeeper:resources:requests:memory: 1024Micpu: 0.3configData:PULSAR_MEM: >-Xms1024m-Xmx1024mPULSAR_GC: >-Dcom.sun.management.jmxremote-Djute.maxbuffer=10485760-XX:+ParallelRefProcEnabled-XX:+UnlockExperimentalVMOptions-XX:+DoEscapeAnalysis-XX:+DisableExplicitGC-XX:+PerfDisableSharedMem-Dzookeeper.forceSync=nopdb:usePolicy: falsebookkeeper:replicaCount: 3volumes:journal:name: journalsize: 100Giledgers:name: ledgerssize: 200Giresources:requests:memory: 2048Micpu: 1configData:PULSAR_MEM: >-Xms4096m-Xmx4096m-XX:MaxDirectMemorySize=8192mPULSAR_GC: >-Dio.netty.leakDetectionLevel=disabled-Dio.netty.recycler.linkCapacity=1024-XX:+UseG1GC -XX:MaxGCPauseMillis=10-XX:+ParallelRefProcEnabled-XX:+UnlockExperimentalVMOptions-XX:+DoEscapeAnalysis-XX:ParallelGCThreads=32-XX:ConcGCThreads=32-XX:G1NewSizePercent=50-XX:+DisableExplicitGC-XX:-ResizePLAB-XX:+ExitOnOutOfMemoryError-XX:+PerfDisableSharedMem-XX:+PrintGCDetailsnettyMaxFrameSizeBytes: "104867840"pdb:usePolicy: falsebroker:component: brokerpodMonitor:enabled: falsereplicaCount: 1resources:requests:memory: 4096Micpu: 1.5configData:PULSAR_MEM: >-Xms4096m-Xmx4096m-XX:MaxDirectMemorySize=8192mPULSAR_GC: >-Dio.netty.leakDetectionLevel=disabled-Dio.netty.recycler.linkCapacity=1024-XX:+ParallelRefProcEnabled-XX:+UnlockExperimentalVMOptions-XX:+DoEscapeAnalysis-XX:ParallelGCThreads=32-XX:ConcGCThreads=32-XX:G1NewSizePercent=50-XX:+DisableExplicitGC-XX:-ResizePLAB-XX:+ExitOnOutOfMemoryErrormaxMessageSize: "104857600"defaultRetentionTimeInMinutes: "10080"defaultRetentionSizeInMB: "-1"backlogQuotaDefaultLimitGB: "8"ttlDurationDefaultInSeconds: "259200"subscriptionExpirationTimeMinutes: "3"backlogQuotaDefaultRetentionPolicy: producer_exceptionpdb:usePolicy: falseautorecovery:resources:requests:memory: 512Micpu: 1proxy:replicaCount: 1podMonitor:enabled: falseresources:requests:memory: 2048Micpu: 1service:type: ClusterIPports:pulsar: 6650configData:PULSAR_MEM: >-Xms2048m -Xmx2048mPULSAR_GC: >-XX:MaxDirectMemorySize=2048mhttpNumThreads: "100"pdb:usePolicy: falsepulsar_manager:service:type: ClusterIPpulsar_metadata:component: pulsar-initimage:# the image used for running `pulsar-cluster-initialize` jobrepository: apachepulsar/pulsartag: 2.8.2## Configuration values for the kafka dependency
## ref: https://artifacthub.io/packages/helm/bitnami/kafka
##kafka:enabled: falsename: kafkareplicaCount: 3image:repository: bitnami/kafkatag: 3.1.0-debian-10-r52## Increase graceful termination for kafka graceful shutdownterminationGracePeriodSeconds: "90"pdb:create: false## Enable startup probe to prevent pod restart during recoveringstartupProbe:enabled: true## Kafka Java Heap sizeheapOpts: "-Xmx4096m -Xms4096m"maxMessageBytes: _10485760defaultReplicationFactor: 3offsetsTopicReplicationFactor: 3## Only enable time based log retentionlogRetentionHours: 168logRetentionBytes: _-1extraEnvVars:- name: KAFKA_CFG_MAX_PARTITION_FETCH_BYTESvalue: "5242880"- name: KAFKA_CFG_MAX_REQUEST_SIZEvalue: "5242880"- name: KAFKA_CFG_REPLICA_FETCH_MAX_BYTESvalue: "10485760"- name: KAFKA_CFG_FETCH_MESSAGE_MAX_BYTESvalue: "5242880"- name: KAFKA_CFG_LOG_ROLL_HOURSvalue: "24"persistence:enabled: truestorageClass:accessMode: ReadWriteOncesize: 300Gimetrics:## Prometheus Kafka exporter: exposes complimentary metrics to JMX exporterkafka:enabled: falseimage:repository: bitnami/kafka-exportertag: 1.4.2-debian-10-r182## Prometheus JMX exporter: exposes the majority of Kafkas metricsjmx:enabled: falseimage:repository: bitnami/jmx-exportertag: 0.16.1-debian-10-r245## To enable serviceMonitor, you must enable either kafka exporter or jmx exporter.## And you can enable them bothserviceMonitor:enabled: falseservice:type: ClusterIPports:client: 9092zookeeper:enabled: truereplicaCount: 3###################################
# External S3
# - these configs are only used when `externalS3.enabled` is true
###################################
externalS3:enabled: truehost: "172.30.24.101"port: "32750"accessKey: "3UXCCIGhziX05FhwdmFH"secretKey: "ZwgDPPHN3HsEH8r1TtKvHPF5E2amNFiQXMjzGhOP"useSSL: falsebucketName: "milvus-test"rootPath: "file"useIAM: falseiamEndpoint: ""region: ""useVirtualHost: false###################################
# GCS Gateway
# - these configs are only used when `minio.gcsgateway.enabled` is true
###################################
externalGcs:bucketName: ""###################################
# External etcd
# - these configs are only used when `externalEtcd.enabled` is true
###################################
externalEtcd:enabled: false## the endpoints of the external etcd##endpoints:- localhost:2379###################################
# External pulsar
# - these configs are only used when `externalPulsar.enabled` is true
###################################
externalPulsar:enabled: falsehost: localhostport: 6650maxMessageSize: "5242880"  # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.tenant: publicnamespace: defaultauthPlugin: ""authParams: ""###################################
# External kafka
# - these configs are only used when `externalKafka.enabled` is true
# - note that the following are just examples, you should confirm the 
#   value of brokerList and mechanisms according to the actual external 
#   Kafka configuration. E.g. If you select the AWS MSK, the configuration
#   should look something like this:
#   externalKafka:
#     enabled: true
#     brokerList: "xxxx:9096"
#     securityProtocol: SASL_SSL
#     sasl:
#       mechanisms: SCRAM-SHA-512
#       password: "xxx"
#       username: "xxx"
###################################
externalKafka:enabled: truebrokerList: 172.30.24.90:9092,172.30.24.91:9092,172.30.24.92:9092securityProtocol: PLAINTEXTsasl:mechanisms: PLAINusername: ""password: ""

helm install milvus-test milvus -f milvus/values.yaml -n milvus-test

#若大部分组件及Root coord均未正常启动则从Root coord日志开始排查,一般为ETCD连接异常或Kafka连接异常导致

相关文章:

Milvus集群部署

#本次部署其中的组件kafka、minio均为外置 将milvus chart包解压拷贝至某个目录下 编辑helm的values.yaml文件 ## Enable or disable Milvus Cluster mode cluster:enabled: trueimage:all:repository: milvusdb/milvustag: v2.4.1pullPolicy: IfNotPresent## Optionally speci…...

Qt-捕获摄像头画面

Qt-捕获摄像头画面在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和一个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头,label用于显示摄像头捕获的画面。 //需要在.pro文件中加上multimedia multimediawidgets QT += core gui …...

选择MyEMS的十大核心优势:为您的企业开启智慧能管新纪元

在纷繁复杂的能源管理解决方案中,企业如何做出最明智的选择?如果您正在寻求一个既能立竿见影降本增效,又能为长期发展构建数字化基座的平台,那么MyEMS无疑是您的绝佳选择。它不仅是一款软件,更是一个强大的能源管理生态系统。以下是选择MyEMS的十大不可抗拒的优势。 一、极…...

通过 kubectl 插件 kubectl-tree 查看API对象层级关系

分享一个开源小工具 kubectl-tree,用于查看 k8s API 对象层级关系。 比如对于无状态应用来讲,可以看到Deployment --> ReplicaSet --> Pod 的构成关系。 采用二进制离线方式安装: 1、下载二进制安装包 wget https://github.com/ahmetb/kubectl-tree/releases/download…...

【Unity 性能优化之路——渲染流程(1)】 - 详解

【Unity 性能优化之路——渲染流程(1)】 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace…...

HCIA回顾——STP

...

.NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档

面向具有一定C#和.NET基础的开发者,本文将带你进入Word文档自动化处理的世界。通过本系列教程,你将掌握使用.NET操作Word文档的各种技巧,实现文档的自动化生成、处理和操作。引言 在日常开发中,我们经常需要处理Word文档,比如自动生成报告、批量处理文档、格式化文档内容等…...

last logicflow

<template><div class="logicflow-page"><div class="sidebar"><div class="palette-title">组件面板</div><div class="palette-item" @mousedown="startDrag(custom-rect, 矩形)">矩…...

老公对我的精神虐待

2025年09月15日早上。使唤我倒垃圾。然后在我往垃圾桶扔垃圾时,他在吐盔。他对我大呼小叫。从来不会好好说话,一言不合应会对我大呼小叫。在和他相处的过程中,感觉不到做为一个人最基本的尊重‘理解’‘包容’。他还喜欢语言暴力。喜欢贬低人。喜欢和你讲一个故事,然后说里…...

用户沉默之日,产品衰亡之时:逃离迭代中的“沉默陷阱”

一、引言 当前,每天有数以千计的新产品上线,但大多很快陨落,究其原因,不是技术不行或功能太差,甚至不是输给对手,而是消无声息的死去。为什么?原因就在于用户不再反馈和交流,没有真实的反馈作为方向盘,产品如同在夜晚行驶的汽车,或早或晚撞向了深渊。 二、“沉默的大…...

华与华是谁?

华与华是谁? “华与华”是由华杉和华楠两兄弟于2002年创立的战略营销咨询公司。他们的核心方法论是 “超级符号”和“超级话语” ,主张用人类文化中固有的、人人都熟悉符号和话语,来降低品牌的传播成本,让品牌一眼就被记住。 他们的著名成功案例包括:蜜雪冰城:“你爱我,…...

从工具到生态:现代Bug管理系统的平台化转型之路

从工具到生态:现代Bug管理系统的平台化转型之路 在DevOps和持续交付成为行业标配的当下,传统独立的Bug追踪系统正面临前所未有的挑战。随着软件开发流程的日益复杂化,仅具备单一缺陷记录功能的传统系统已难以满足高效协作需求。本文将深入分析传统Bug管理工具的局限性,解读…...

PK-CWT 系列罗氏线圈使用指南:操作方法与注意事项

一、概述 普科科技PRBTEK的PK-CWT系列柔性电流探头是一款采用柔性开环结构的专业测量工具,能够精准复现大功率开关全频段电流波形,在多个领域发挥着重要作用。 在性能方面,该系列产品表现出色。其频率响应带宽范围从0.1Hz至16MHz,这意味着它不仅能精准捕捉超低频段的缓变信…...

IDEA Debug 高阶技巧,老手都是这么玩的~~

IDEA Debug 高阶技巧,老手都是这么玩的~~ 小哈学Java2025年09月14日 15:23 安徽来源:juejin.cn/post/7308539123537592357 👉 欢迎加入小哈的星球,你将获得: 专属的项目实战(多个项目) / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论新项目:《Spring AI…...

mysql 创建分区,如何轻松提升海量数据查询效率

你是否遇到过这样的烦恼:随着业务增长,MySQL单表数据量突破千万级别,查询速度越来越慢,甚至影响用户体验?本文将带你深入理解MySQL分区功能,掌握提升大表查询性能的实战技巧。 什么是MySQL表分区 MySQL中的数据以文件形式存储在磁盘上,默认路径可通过my.cnf中的datadir查…...

完整教程:瑞派虹泰环城总院 | 打造“一站式宠物诊疗空间”,定义全国宠物医疗新高度

完整教程:瑞派虹泰环城总院 | 打造“一站式宠物诊疗空间”,定义全国宠物医疗新高度pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…...

BOE(京东方)携新能源领域新品亮相2025服贸会 引领绿色转型新动能

9 月 10 日,以“全球服务 互惠共享”为主题的2025中国国际服务贸易交易会(以下简称“服贸会”)在北京拉开帷幕。作为领先的物联网创新企业,BOE(京东方)携十余款全球首发的钙钛矿光伏产品,以及多款综合能源解决方案惊艳亮相。本次参展服贸会,是对BOE(京东方)可持续品牌…...

SpringBoot 集成支付宝支付,看这篇就够了

SpringBoot 集成支付宝支付,看这篇就够了 小哈学Java2025年09月15日 09:31 安徽来源:juejin.cn/post/7269357836026904633👉 欢迎加入小哈的星球,你将获得: 专属的项目实战(多个项目) / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论新项目:《Spring AI …...

工业智能终端赋能自动化生产线建设数字化管理 - 指南

工业智能终端赋能自动化生产线建设数字化管理 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monosp…...

一道模拟赛题

还没打 mx round7 的请勿观看一种我不太会优化的做法。感觉醍醐灌顶了。 链接:https://www.mxoj.net/problem/P130021?contestId=195人话题意:对值域在 \([1,2^n-1]\) 的严格上升序列计数,要求不能存在连续三个位置使得异或和为 \(0\)。\(n\leq 10^6\)。首先注意到,设 \(i…...

Pycharm打包PaddleOCR过程及疑问解决途径

Pycharm打包PaddleOCR过程及疑问解决途径pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !import…...

uni-app项目支付宝端Input不受控

最近在负责一个多端项目,其中有一个商品数量控制的功能,但是发现在支付宝端踩坑了出现了异常,一起来看看是怎么回事吧?前情 最近又接手一个全新多端项目,包括抖音/快手/微信/支付宝,其中就有支付宝端,需要实现一个SKU选择,同时需要控制选择的商品数量,如下图坑位 既然…...

适合小型企业的项目管理系统推荐:Reddit 用户真实需求

小型企业常遇工具分散、协作低效难题。本文对比5大项目管理系统,解析功能与优势,助你找到合适的项目管理解决方案。原文链接:https://www.nocobase.com/cn/blog/project-management-systems-for-small-businesses。 对于小型企业来说,项目管理系统(Project Management Sys…...

开启研究生学习阶段

人生之路,走走停停,波澜起伏; 没想到又有回到学校继续学习的机会。 小学、中学、大学、职场; 给我不同的人生体验, 其中的喜怒哀乐都像是过眼云烟, 模糊,清晰,历历在目。 当我写下这些文字的时候, 再看以前写的那些博客, 心中感慨万千; 人生如白驹过隙, 最后的结果…...

李航统计学习方法第二版 学习笔记

第一章 统计学习及监督学习概论 主要记录了监督学习内容 1.1 统计学习监督学习输入输出所有可能的取值分别称之为输入空间,输出空间.通常输出空间远小于输入空间(分类问题中 , 输入的是图片特征 , 只输出"是","否) 一个具体的输入为实例由特征向量表示所有可能的…...

如何拥有自己的一台永久免费云主机/云服务器

适用对象:不想花钱就能拥有自己的一台测试服务器,适用于一些大三大四学生和一些手头紧的用户,白嫖党 配置信息:1核1G5M10G 使用感受:虽然配置不是很高,但是满足自己日常的测试使用是足够的,搭建个人网盘,个人博客,用作测试服务器等等都是可以的 地址:阿贝云:https:/…...

第三周训练总结

上周赛时切题情况(含ICPC,附上题目名称和链接)#34.反转DAG图 #34.歪脖子树 #35.矩阵交换 #35.砖块摆放 #35.学习 LIS ICPC J.中位数 ICPC F.景区建设 #36.字符串博弈 #36.闪现数上周订题情况(附上题目名称和链接)#34.倒水问题 #34.树的颜色 #35.战略轰炸上周题解记录情况…...

godot格式化字符串

godot格式化字符串func _handle_rotation(delta):var target_rotation = randf_range(-PI,PI)var current_rotation = transform.basis.get_euler().y#平滑旋转transform.basis = transform.basis.slerp(Basis.from_euler(Vector3(0,target_rotation,0)),rotation_speed*delta)…...

reLeetCode 热题 100-1 两数之和-扩展2 map实现 - MKT

reLeetCode 热题 100-1 两数之和-扩展2 map实现1...

发现一个新的资源论坛 - 小小程序员

3Y论坛页面简约,论坛的资源也很齐全,页面网速也很快。网址:3y论坛 - 纯净的网盘资源分享社区邀请码:266yzo638u...

reLeetCode 热题 100-1 两数之和-扩展3 单向和双向链表实现 - MKT

reLeetCode 热题 100-1 两数之和-扩展3 单向和双向链表实现1...

codeforces1050div4题解

同步更新,但是现在网站的latex还没渲染好 https://happycoding.me/posts/codeforces-round-1050-div4/ A 思路: 当$n$为奇数时,答案为$x$,否则为$0$ B 思路: 显然每条线段都要经过,答案为$n+m$ C 题意: 现有$2$侧:$0$侧和$1$侧,$0$分钟一开始在$0$侧,尽可能地在两侧之…...

深入解析:少儿舞蹈小程序(13)作品播放量累加及点赞

深入解析:少儿舞蹈小程序(13)作品播放量累加及点赞pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monos…...

Ubuntu 24.04 安装最新版podman@5.6.1

0. 更新系统 sudo apt update && sudo apt upgrade -y 1. 下载并解压官方静态包 cd /tmp curl -L -O https://github.com/containers/podman/releases/download/v5.6.1/podman-remote-static-linux_amd64.tar.gz tar -xzf podman-remote-static-linux_amd64.tar.gz chm…...

深入解析:Unity:XML笔记(二)——Xml序列化、反序列化、IXmlSerializable接口

深入解析:Unity:XML笔记(二)——Xml序列化、反序列化、IXmlSerializable接口pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "C…...

2025.9.15——知识点学习

图 回路 起点和终点相同的路径,也叫“环” 重边 两个顶点中间不只有一条边 自环 自己到自己的边 简单图 没有重边和自环的图 完全图 每对定点之间都恰有一条边相连 稠密图 边数接近完全图,e>=NlogN 稀疏图 边数远少于完全图,e<NlogN...

详细介绍:拉帮结派下的制造麻烦

详细介绍:拉帮结派下的制造麻烦pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; fon…...

C# Avalonia 13- MoreDrawing - CustomPixelShader

C# Avalonia 13- MoreDrawing - CustomPixelShader目前Avalonia无法继承Effect类重写,因为构造函数是internal。我们重写一个GrayscaleImage实现灰化。GrayscaleImage类public class GrayscaleImage : Control{public static readonly StyledProperty<IImage?> SourceP…...

使用标签Tag控制蒙太奇的触发时机-playmontageAndWait-Send GameplayEvent-WaitGameplayEvent

控制蒙太奇的通知,可以在蒙太奇中的通知中发送标签事件,在GA中接收标签事件 在事件通知蓝图中...

sql事务执行

使用上下文管理器from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker from contextlib import contextmanager import logging# 创建数据库连接 engine = create_engine(mysql+pymysql://username:password@localhost/dbname) SessionLocal …...

GAS_Aura-Spawn FireBolt from Event

1将Spawn火球设置为单独的接口,并在触发GA时触发...

在CentOS 7系统上创建SSL/TLS证书以启用HTTPS

第一步:装备准备 首先,确保您的武器库(包管理器)是最新的。咒语(命令)如下: sudo yum update sudo yum install epel-release sudo yum install mod_ssl 这将更新您的包索引,安装EPEL仓库,并让Apache HTTP服务器拥有处理SSL的能力。 第二步:私钥的锻造 SSL/TLS证书需…...

从Craigslist广告到BHIS安全顾问:非科班生的渗透测试求职之路

本文讲述作者通过Craigslist招聘广告应聘Black Hills信息安全公司的经历,涉及文本简历防钓鱼技巧、Linux技术面试、网络端口知识考察以及问题解决能力的实际测试,展现了网络安全行业独特的招聘方式与技术评估要点。ADVISORY: 本博文中提及的技术和工具可能已过时,不适用于当…...

Java 微服务架构中的实践与挑战

一、引言 微服务架构已成为现代分布式系统的主流设计思想。它强调将单体应用拆分为一组小而自治的服务,每个服务聚焦特定业务能力,并通过轻量级通信方式协作。对于以 Java 为核心的企业级系统,微服务架构的落地往往依赖 Spring Boot、Spring Cloud 以及后续兴起的服务网格(…...

Java 与大数据处理:从 Hadoop 到实时计算

一、引言 在大数据时代,数据已经成为企业的战略资产。无论是金融风控、智能推荐,还是智慧城市与医疗健康,背后都依赖海量数据的存储与计算。作为企业开发的主流语言,Java 在大数据生态中扮演着不可替代的角色。从最早的 Hadoop 批处理框架,到 Spark、Flink 的内存与流式计…...

国产IT运维卡壳?乐维智能运维体让运维团队告别“适配难、监控乱”

“刚把3台核心服务器操作系统从CentOS7换成麒麟V10,之前用的Zabbix探针直接无法采集服务器的CPU、磁盘温度;机房中华为交换机、锐捷AC、浪潮存储分散在不同机柜,每台设备都要单独登录后台看告警,上周就因为没有及时发现交换机端口故障,导致研发部门断网整整一天……” 某1…...

ubuntu18安装mysql5.7

环境Os:ubuntu 18.04 desktop桌面版mysql:mysql-5.7.42-linux-glibc2.12 查看操作系统信息root@db:/soft# uname -a Linux db 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linuxroot@db:/soft# cat /etc/os-release NAME="U…...

【IEEE出版 |已连续5届EI稳定检索】第六届计算机工程与智能控制学术会议(ICCEIC 2025)

聚焦计算机工程与智能控制前沿,涵盖网络安全、硬件系统、软件工程、嵌入式创新等多个核心议题及交叉学科研究。ICCEIC 2025将计算机工程和智能控制领域的创新学者和工业专家聚集到一个共同的论坛上,共享最新科研成果,破解关键问题,展望未来发展。第六届计算机工程与智能控制…...

在选择2025年代码托管平台时,Gitee和GitHub作为国内外两大主流平台各有优势。本文将从多个维度进行对比分析,帮助开发者做出更适合自身需求的选择。

在选择2025年代码托管平台时,Gitee和GitHub作为国内外两大主流平台各有优势。本文将从多个维度进行对比分析,帮助开发者做出更适合自身需求的选择。 作为中国本土领先的代码托管平台,Gitee近年来发展迅猛。数据显示,平台已拥有超过500万注册用户和1000万活跃仓库,在国内开…...

android使用socks5的教程

1.安装APP 下载地址忽略 2.使用配置的地址账号信息 少侠,我看你气度不凡天赋异禀,骨骼精奇,这么帅,来了就帮推荐一把吧 我的最近更新 最新发布文章、框架、咨询等,来看看吧...