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

17、ELK

17、ELK

helm 安装 elkfk(kafka 集群外可访问)

ES/Kibana <— Logstash <— Kafka <— Filebeat

部署顺序:

1、elasticsearch

2、kibana

3、kafka

4、logstash

5、filebeat

kubectl create ns elk

helm3部署elkfk

1、elasticsearch
helm repo add elastic https://helm.elastic.cohelm repo listhelm repo update
helm search repo elastic/elasticsearchcd && helm pull elastic/elasticsearch --untar --version 7.17.3cd elasticsearch
cat > values-prod.yaml << EOF
# 集群名称
clusterName: "elasticsearch"
# ElasticSearch 6.8+ 默认安装了 x-pack 插件,部分功能免费,这里选禁用
image: "docker.elastic.co/elasticsearch/elasticsearch"
imageTag: "7.17.3"
imagePullPolicy: "IfNotPresent"esConfig:elasticsearch.yml: |network.host: 0.0.0.0cluster.name: "elasticsearch"xpack.security.enabled: false
resources:limits:cpu: "2"memory: "4Gi"requests:cpu: "1"memory: "2Gi"
volumeClaimTemplate:storageClassName: "nfs-storage"accessModes: [ "ReadWriteOnce" ]resources:requests:storage: 2Ti
service:type: NodePortport: 9000nodePort: 31311
EOF

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

helm upgrade --install --namespace elk es -f ./values-prod.yaml .

验证

curl 192.168.1.200:31311/_cat/healthcurl 192.168.1.200:31311/_cat/nodes
2、kibana
helm search repo elastic/kibanacd && helm pull elastic/kibana --untar --version 7.17.3cd kibana
cat > values-prod.yaml << 'EOF'
kibanaConfig:kibana.yml: |server.port: 5601server.host: "0.0.0.0"elasticsearch.hosts: [ "http://elasticsearch-master-headless:9200" ]
resources:limits:cpu: "2"memory: "2Gi"requests:cpu: "1"memory: "1Gi"
kibanaConfig:kibana.yml: |i18n.locale: "zh-CN"
service:#type: ClusterIPtype: NodePortloadBalancerIP: ""port: 5601nodePort: "30026"
EOF
helm upgrade --install --namespace elk kibana -f ./values-prod.yaml .
cat > ~/kibana/kibana-Ingress.yml << 'EOF'
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: kibana-ingressnamespace: elkannotations:nginx.ingress.kubernetes.io/ssl-redirect: 'true'nginx.ingress.kubernetes.io/proxy-body-size: '4G'nginx.ingress.kubernetes.io/auth-type: basicnginx.ingress.kubernetes.io/auth-secret: kibana-auth-secretnginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - admin'
spec:ingressClassName: nginxrules:- host: kibana.huanghuanhui.cloudhttp:paths:- path: /pathType: Prefixbackend:service:name: kibana-kibanaport:number: 5601tls:- hosts:- kibana.huanghuanhui.cloudsecretName: kibana-ingress-tls
EOF
yum -y install httpd-toolscd ~/kibana && htpasswd -bc auth admin Admin@2024kubectl create secret generic kibana-auth-secret --from-file=auth -n elk
kubectl create secret -n elk \
tls kibana-ingress-tls \
--key=/root/ssl/huanghuanhui.cloud.key \
--cert=/root/ssl/huanghuanhui.cloud.crt
kubectl apply -f ~/kibana/kibana-Ingress.yml 

访问地址:kibana.huanghuanhui.cloud

账号密码:admin、Admin@2024

http://192.168.1.201:30026/app/dev_tools#/consoleGET _cat/nodesGET _cat/healthGET _cat/indices
3、kafka(k8s部署kafka集群 ==》外部访问)
mkdir -p ~/kafka-yml && cd ~/kafka-yml
cat > ~/kafka-yml/zk.yml << 'EOF'
apiVersion: v1
kind: Service
metadata:labels:app: zookeeper-clusternamespace: elkname: zookeeper-cluster
spec:selector:app: zookeeper-clusterports:- name: clientport: 2181targetPort: 2181- name: followerport: 2888targetPort: 2888- name: leaderport: 3888targetPort: 3888clusterIP: None
---
apiVersion: v1
kind: Service
metadata:namespace: elkname: zookeeper-cs
spec:selector:app: zookeeper-clustertype: NodePortports:- name: clientport: 2181nodePort: 30152
---
apiVersion: apps/v1
kind: StatefulSet
metadata:namespace: elkname: crs-zookeeper
spec:replicas: 3podManagementPolicy: ParallelserviceName: zookeeper-clusterselector:matchLabels:app: zookeeper-clustertemplate:metadata:labels:component: zookeeper-clusterapp: zookeeper-clusterspec:containers:- name: zookeeperimage: bitnami/zookeeper:3.8.2imagePullPolicy: IfNotPresentsecurityContext:runAsUser: 0ports:- containerPort: 2181- containerPort: 2888- containerPort: 3888lifecycle:postStart:exec:command:- "sh"- "-c"- >echo $(( $(cat /etc/hosts | grep zookeeper | awk '{print($3)}' | awk '{split($0,array,"-")} END{print array[3]}') + 1 )) > /bitnami/zookeeper/data/myidenv:- name: ALLOW_ANONYMOUS_LOGINvalue: "yes"- name: ZOO_SERVERSvalue:  crs-zookeeper-0.zookeeper-cluster.elk.svc.cluster.local:2888:3888,crs-zookeeper-1.zookeeper-cluster.elk.svc.cluster.local:2888:3888,crs-zookeeper-2.zookeeper-cluster.elk.svc.cluster.local:2888:3888volumeMounts:- name: zoodata-outermountPath: /bitnami/zookeepervolumeClaimTemplates:- metadata:name: zoodata-outerspec:storageClassName: nfs-storageaccessModes:- "ReadWriteOnce"resources:requests:storage: 2Ti
EOF
kubectl apply -f ~/kafka-yml/zk.yml
cat > ~/kafka-yml/kafka.yml << 'EOF'
apiVersion: v1
kind: Service
metadata:namespace: elkname: kafka-headless
spec:selector:app: kafka-clusterports:- name: clientport: 9092targetPort: 9092clusterIP: None
---
apiVersion: v1
kind: Service
metadata:name: kafka-0namespace: elklabels:app: kafka-cluster
spec:ports:- port: 9092targetPort: 9092nodePort: 30127name: servertype: NodePortselector:statefulset.kubernetes.io/pod-name: crs-kafka-0
#    app: kafka-cluster---
apiVersion: v1
kind: Service
metadata:name: kafka-1namespace: elklabels:app: kafka-cluster
spec:ports:- port: 9092targetPort: 9092nodePort: 30128name: servertype: NodePortselector:statefulset.kubernetes.io/pod-name: crs-kafka-1---
apiVersion: v1
kind: Service
metadata:name: kafka-2namespace: elklabels:app: kafka-cluster
spec:ports:- port: 9092targetPort: 9092nodePort: 30129name: servertype: NodePortselector:statefulset.kubernetes.io/pod-name: crs-kafka-2
---
apiVersion: apps/v1
kind: StatefulSet
metadata:namespace: elkname: crs-kafka
spec:replicas: 3podManagementPolicy: ParallelserviceName: kafka-clusterselector:matchLabels:app: kafka-clustertemplate:metadata:labels:app: kafka-clusterspec:hostname: kafkacontainers:- name: kafkacommand:- bash- -ec- |HOSTNAME=`hostname -s`if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; thenORD=${BASH_REMATCH[2]}PORT=$((ORD + 30127))export KAFKA_CFG_ADVERTISED_LISTENERS="PLAINTEXT://192.168.1.200:$PORT"elseecho "Failed to get index from hostname $HOST"exit 1fiexec /entrypoint.sh /run.shimage: bitnami/kafka:3.5.1#        image: bitnami/kafka:latestimagePullPolicy: IfNotPresentsecurityContext:runAsUser: 0
#          resources:
#            requests:
#              memory: "1G"
#              cpu: "0.5"ports:- containerPort: 9092env:- name: KAFKA_CFG_ZOOKEEPER_CONNECTvalue: crs-zookeeper-0.zookeeper-cluster.elk.svc.cluster.local:2181,crs-zookeeper-1.zookeeper-cluster.elk.svc.cluster.local:2181,crs-zookeeper-2.zookeeper-cluster.elk.svc.cluster.local:2181#          value: zookeeper-cluster:2181- name: ALLOW_PLAINTEXT_LISTENERvalue: "yes"volumeMounts:- name: kafkadata-outermountPath: /bitnami/kafkavolumeClaimTemplates:- metadata:name: kafkadata-outerspec:storageClassName: nfs-storageaccessModes:- "ReadWriteOnce"resources:requests:storage: 2Ti
EOF
kubectl apply -f ~/kafka-yml/kafka.yml

注意修改yml文件98行里面的export的ip地址

这里修改为公网的ip:58.34.61.154(内网192.168.1.200)

kafka ui

docker pull provectuslabs/kafka-ui:latestdocker pull freakchicken/kafka-ui-lite
docker run -d \
--name kafka-ui1 \
--restart always \
--privileged=true \
-p 8888:8080 \
-e KAFKA_CLUSTERS_0_NAME=k8s-kafka \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=192.168.1.200:30127,192.168.1.200:30128,192.168.1.200:30129 \
provectuslabs/kafka-ui:latest

访问地址:192.168.1.200:8888

docker run -d \
--name kafka-ui2 \
--restart always \
--privileged=true \
-p 8889:8889 \
freakchicken/kafka-ui-lite

访问地址:192.168.1.200:8889

4、filebeat

1、k8s方式

helm search repo elastic/filebeatcd && helm pull elastic/filebeat --untar --version 7.17.3cd filebeat
cat > values-prod.yaml << 'EOF'
daemonset:filebeatConfig:filebeat.yml: |filebeat.inputs:- type: containerpaths:- /var/log/containers/*.logoutput.elasticsearch:enabled: falsehost: '${NODE_NAME}'hosts: '${ELASTICSEARCH_HOSTS:elasticsearch-master:9200}'output.kafka:enabled: truehosts: ["192.168.1.200:30127","192.168.1.200:30128","192.168.1.200:30129"]topic: k8s-logs
EOF
helm upgrade --install --namespace elk filebeat -f ./values-prod.yaml .

2、docker方式

cat > filebeat.yml << 'EOF'
# 日志输入配置(可配置多个)
filebeat.inputs:
- type: logenabled: truepaths:- /mnt/nfs/logs/*/*.logtags: ["dev-c"]fields:server: dev-cfields_under_root: true
#日志输出配置
output.kafka:enabled: truehosts: ["192.168.1.200:30127","192.168.1.200:30128","192.168.1.200:30129"]topic: "dev-c"partition.round_robin:reachable_only: falserequired_acks: 1compression: gzipmax_message_bytes: 1000000
EOF
docker run -d --name filebeat \
--user=root \
--restart=always \
-v /mnt/nfs/logs/:/mnt/nfs/logs/ \
-v /root/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
elastic/filebeat:7.17.3 \
5、logstash
helm search repo elastic/logstashcd && helm pull elastic/logstash --untar --version 7.17.3cd logstash
cat > values-prod.yaml << 'EOF'
logstashConfig:logstash.yml: |xpack.monitoring.enabled: falselogstashPipeline: logstash.yml: |input {kafka {bootstrap_servers => "192.168.1.200:30127,192.168.1.200:30128,192.168.1.200:30129"topics => ["k8s-logs"]#group_id => "mygroup"#如果使用元数据就不能使用下面的byte字节序列化,否则会报错#key_deserializer_class => "org.apache.kafka.common.serialization.ByteArrayDeserializer"#value_deserializer_class => "org.apache.kafka.common.serialization.ByteArrayDeserializer"consumer_threads => 1#默认为false,只有为true的时候才会获取到元数据decorate_events => trueauto_offset_reset => "earliest"}}filter {mutate {#从kafka的key中获取数据并按照逗号切割split => ["[@metadata][kafka][key]", ","]add_field => {#将切割后的第一位数据放入自定义的“index”字段中"index" => "%{[@metadata][kafka][key][0]}"}}}output { elasticsearch {pool_max => 1000pool_max_per_route => 200hosts => ["elasticsearch-master-headless.elk.svc.cluster.local:9200"]index => "k8s-logs-%{+YYYY.MM.dd}"}}# 资源限制
resources:requests:cpu: "100m"memory: "256Mi"limits:cpu: "1000m"memory: "1Gi"persistence:enabled: truevolumeClaimTemplate:accessModes: ["ReadWriteOnce"]storageClassName: nfs-storageresources:requests:storage: 2Ti
EOF
helm upgrade --install --namespace elk logstash -f ./values-prod.yaml .

手撕yml

mkdir -p ~/logstash-yml && cd ~/logstash-yml
cat > logstash.yaml << 'EOF'
apiVersion: v1
kind: ConfigMap
metadata:name: logstash-dev-configmapnamespace: elk
data:logstash.yml: |http.host: "0.0.0.0"path.config: /usr/share/logstash/pipelinelogstash.conf: |input {kafka {bootstrap_servers => "192.168.1.200:30127,192.168.1.200:30128,192.168.1.200:30129"topics => ["dev"]codec => "json"type => "dev"group_id => "dev"consumer_threads => 1}}filter {if [type] == "dev" {json {source => ["message"]remove_field => ["offset","host","beat","@version","event","agent","ecs"]}mutate {add_field => {project_path => "%{[log][file][path]}"}}mutate {split => ["project_path", "/"]add_field => {"project_name" => "%{[project_path][-3]}"}}date {match => ["time","yyyy-MM-dd HH:mm:ss.SSS"]timezone => "Asia/Shanghai"target => "@timestamp"}mutate {remove_field => ["log","project_path","time","input"]}}}output {elasticsearch {hosts => ["elasticsearch-master-headless.elk.svc.cluster.local:9200"]index => "dev-%{+YYYY.MM.dd}"}}
---
apiVersion: apps/v1
kind: Deployment
metadata:name: logstash-devnamespace: elk
spec:selector:matchLabels:app: logstash-devreplicas: 1template:metadata:labels:app: logstash-devspec:containers:- name: logstash-devimage: docker.elastic.co/logstash/logstash:7.17.3ports:- containerPort: 5044volumeMounts:- name: logstash-pipeline-volumemountPath: /usr/share/logstash/pipeline- mountPath: /etc/localtimename: localtimevolumes:- name: logstash-pipeline-volumeconfigMap:name: logstash-dev-configmapitems:- key: logstash.confpath: logstash.conf- hostPath:path: /etc/localtimename: localtime
---
kind: Service
apiVersion: v1
metadata:name: logstash-devnamespace: elk
spec:selector:app: logstashtype: ClusterIPports:- protocol: TCPport: 5044targetPort: 5044
EOF
kubectl apply -f logstash.yaml

相关文章:

17、ELK

17、ELK helm 安装 elkfk&#xff08;kafka 集群外可访问&#xff09; ES/Kibana <— Logstash <— Kafka <— Filebeat 部署顺序&#xff1a; 1、elasticsearch 2、kibana 3、kafka 4、logstash 5、filebeat kubectl create ns elkhelm3部署elkfk 1、elast…...

React+Antd+tree实现树多选功能(选中项受控+支持模糊检索)

1、先上效果 树型控件&#xff0c;选中项形成一棵新的树&#xff0c;若父选中&#xff0c;子自动选中&#xff0c;子取消&#xff0c;父不取消&#xff0c;子选中&#xff0c;所有的父节点自动取消。同时支持模糊检索&#xff0c;会检索出所有包含该内容的关联节点。 2、环境准…...

鸿蒙 WiFi 扫描流程(2)

接着上篇没有记录完的&#xff0c;我们继续梳理&#xff0c;需要上一篇做基础的请看&#xff1a;鸿蒙 WiFi 扫描流程&#xff08;1&#xff09; 上一篇我们讲到 scan_service.cpp 里面的 SingleScan 方法&#xff0c;继续这个方法往下看&#xff1a; // foundation/communicat…...

微信小程序(四十)API的封装与调用

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.在单独的js文件中写js接口 2.以注册为全局wx的方式调用接口 源码&#xff1a; utils/testAPI.js const testAPI{/*** * param {*} title */simpleToast(title提示){//可传参&#xff0c;默认为‘提示’wx.sho…...

WebSocket+Http实现功能加成

WebSocketHttp实现功能加成 前言 首先&#xff0c;WebSocket和HTTP是两种不同的协议&#xff0c;它们在设计和用途上有一些显著的区别。以下是它们的主要特点和区别&#xff1a; HTTP (HyperText Transfer Protocol): 请求-响应模型&#xff1a; HTTP 是基于请求-响应模型的协…...

go语言实现LRU缓存

go语言实现LRU Cache 题目描述详细代码 题目描述 设计和构建一个“最近最少使用”缓存&#xff0c;该缓存会删除最近最少使用的项目。缓存应该从键映射到值(允许你插入和检索特定键对应的值)&#xff0c;并在初始化时指定最大容量。当缓存被填满时&#xff0c;它应该删除最近最…...

git的奇特知识点

展示帮助信息 git help -gThe common Git guides are:attributes Defining attributes per pathcli Git command-line interface and conventionscore-tutorial A Git core tutorial for developerscvs-migration Git for CVS usersdiff…...

按键扫描16Hz-单片机通用模板

按键扫描16Hz-单片机通用模板 一、按键扫描的原理1、直接检测高低电平类型2、矩阵扫描类型3、ADC检测类型二、key.c的实现1、void keyScan(void) 按键扫描函数①void FHiKey(void) 按键按下功能②void FSameKey(void) 按键长按功能③void FLowKey(void) 按键释放功能三、key.h的…...

在容器镜像中为了安全为什么要删除 setuid 和 setgid?

在容器镜像中删除 setuid&#xff08;set user ID&#xff09;和 setgid&#xff08;set group ID&#xff09;权限通常是出于安全考虑。这两个权限位允许进程在执行时以文件所有者或文件所属组的身份运行&#xff0c;而不是以调用进程的用户身份运行。 删除 setuid 和 setgid…...

Flink 动态表 (Dynamic Table) 解读

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…...

【原创 附源码】Flutter海外登录--Google登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月8日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&#…...

第70讲axios后端请求工具类封装

axios工具类封装&#xff1a; // 引入axios import axios from axios;// 创建axios实例 const httpService axios.create({// url前缀-http:xxx.xxx// baseURL: process.env.BASE_API, // 需自定义baseURL:http://localhost:80/,// 请求超时时间timeout: 3000 // 需自定义 })…...

【数学建模】【2024年】【第40届】【MCM/ICM】【F题 减少非法野生动物贸易】【解题思路】

一、题目 &#xff08;一&#xff09; 赛题原文 2024 ICM Problem F: Reducing Illegal Wildlife Trade Illegal wildlife trade negatively impacts our environment and threatens global biodiversity. It is estimated to involve up to 26.5 billion US dollars per y…...

第3节、电机定速转动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍用定时器定时的方式&#xff0c;精准控制脉冲时间&#xff0c;从而控制步进电机速度。 一、计算过程 电机每一步的角速度等于走这一步所花费的时间&#xff0c;走一步角度等于步距角&#xff…...

【51单片机】LCD1602(可视化液晶屏)调试工具的使用

前言 大家好吖&#xff0c;欢迎来到 YY 滴 单片机系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY…...

Netty应用(四) 之 Reactor模型 零拷贝

目录 6.Reactor模型 6.1 单线程Reactor 6.2 主从多线程Reactor (主--->Boss | 从--->Worker | 一主多从机制) 7.扩展与补充 8.Reactor模型的实现 8.1 多线程Reactor模型的实现&#xff08;一个Boss线程&#xff0c;一个Worker线程&#xff09; 8.2 多线程Reactor模…...

Huggingface上传模型

Huggingface上传自己的模型 参考 https://juejin.cn/post/7081452948550746148https://huggingface.co/blog/password-git-deprecationAdding your model to the Hugging Face Hub&#xff0c; huggingface.co/docs/hub/ad…Welcome&#xff0c;huggingface.co/welcome三句指…...

kyuubi 接入starrocks | doris

kyuubi 接入starrocks 一、环境 Hadoop集群 组件版本Hadoop3.1.1spark3.Xzookeeper3.XHive3.X kyuubi 版本 1.7.1 starrocks 2.X   已将kyuubi部署到yarn上&#xff0c;并且接入了spark3引擎&#xff0c;并通过Ambari进行kyuubi组件的管理&#xff0c;下面步骤为新增对sta…...

notepad++成功安装后默认显示英文怎么设置中文界面?

前几天使用电脑华为管家清理电脑后&#xff0c;发现一直使用的notepad软件变回了英文界面&#xff0c;跟刚成功安装的时候一样&#xff0c;那么应该怎么设置为中文界面呢&#xff1f;具体操作如下&#xff1a; 1、打开notepad软件&#xff0c;点击菜单栏“Settings – Prefere…...

HiveSQL——连续增长问题

注&#xff1a;参考文章&#xff1a; SQL连续增长问题--HQL面试题35_sql判断一个列是否连续增长-CSDN博客文章浏览阅读2.6k次&#xff0c;点赞6次&#xff0c;收藏30次。目录0 需求分析1 数据准备3 小结0 需求分析假设我们有一张订单表shop_order shop_id,order_id,order_time…...

使用cocos2d-console初始化一个项目

先下载好cocos2d-x的源码包 地址 https://www.cocos.com/cocos2dx-download 这里使用的版本是 自己的电脑要先装好python27 用python安装cocos2d-console 看到项目中有个setup.py的一个文件 python setup.py 用上面的命令执行一下。 如果执行正常的话回出现上面的图 然后…...

VitePress-13- 配置-title的作用详解

作用描述 1、title 是当前站点的标题&#xff1b;2、默认值是 &#xff1a;VitePress&#xff1b;3、当使用默认主题时&#xff0c;会直接展示在 页面的【导航条】中&#xff1b;4、一个特殊的作用 &#xff1a; 会作为单个页面的默认标题后缀&#xff01;除非又指定了【title…...

Rust-AI todo list 开发体验

之前用AI协助开发了一个Vue模块&#xff0c;感觉意犹未尽&#xff0c;所以决定再让AI 来协助我做一个todo list。 todo list对我来说真是一个刚需&#xff0c;从我决定做一件事情&#xff0c;到这件事情做完&#xff0c;我的todo list不但不会减少&#xff0c;反而会增加。 回…...

2024-02-07(Sqoop,Flume)

1.Sqoop的增量导入 实际工作中&#xff0c;数据的导入很多时候只需要导入增量的数据&#xff0c;并不需要将表中的数据每次都全部导入到hive或者hdfs中&#xff0c;因为这样会造成数据重复问题。 增量导入就是仅导入新添加到表中的行的技术。 sqoop支持两种模式的增量导入&a…...

LDAR管理系统解决方案

1、密封点数量不准确 工业企业LDAR项目多委托第三方进行检测&#xff0c;由于前几年由于检测费较高&#xff0c;为减少开支&#xff0c;很多企业只安排检测公司检测了部分密封点&#xff0c;造成密封点遗漏。也有少数企业为了从中谋私利&#xff0c;虚增密封点。 2、密封点台账…...

[vscode]ssh报错: Resolver error: Error: XHR failedscode错误

场景问题&#xff1a;通过vscode ssh连接远程服务器失败&#xff0c;报错&#xff1a;Resolver error: Error: XHR failedscode&#xff1a; 问题原因&#xff1a;~/.vscode-server/bin/一串数字下的vscode-server-linux-x64.tar.gz由于某种原因无法正常下载 解决方式&#x…...

【Maven】依赖、构建管理 继承与聚合 快速学习(3.6.3 )

文章目录 Maven是什么&#xff1f;一、Maven安装和配置本地配置文件设置idea配置本地maven 二、基于IDEA的Maven工程创建2.1 Maven工程GAVP属性2.2 Idea构建Maven JavaEE工程 三、Maven工程项目结构说明四、Maven核心功能依赖和构建管理4.1 依赖管理和配置4.2 依赖传递和冲突4.…...

Flume安装部署

安装部署 安装包连接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1m0d5O3Q2eH14BpWsGGfbLw?pwd6666 &#xff08;1&#xff09;将apache-flume-1.10.1-bin.tar.gz上传到linux的/opt/software目录下 &#xff08;2&#xff09;解压apache-flume-1.10.1-bin.tar.gz…...

点云从入门到精通技术详解100篇-非结构化道路下无人平台路径规划与运动控制

目录 前言 路径规划方法研究现状 传统规划算法 智能规划算法 规划方法比较...

生成树技术华为ICT网络赛道

9.生成树 目录 9.生成树 9.1.生成树技术概述 9.2.STP的基本概念及工作原理 9.3.STP的基础配置 9.4.RSTP对STP的改进 9.5.生成树技术进阶 9.1.生成树技术概述 技术背景&#xff1a;二层交换机网络的冗余性与环路 典型问题1&#xff1a;广播风暴 典型问题2&#xff1a;MA…...

[HTTP协议]应用层的HTTP 协议介绍

目录 1.前言 2.使用fiddler抓包来观察HTTP协议格式 3.HTTP协议的基本格式 2.1请求 2,1.1首行 2.1.2请求头 2.1.3空行 2.2响应 2.2.1首行 2.2.2响应头 键值对 ​编辑2.2.3空行 2.2.4载荷(响应正文) 3.认识URL 3.1关于URL encode 1.前言 我们在前面的博客中,简单的…...

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳&#xff0c;为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序&#xff0c;如果把硬件想象成一个球体的中心&#xff0c;内核围绕在硬件的外层管理着…...

【开源】JAVA+Vue+SpringBoot实现实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…...

集成开发环境 IntelliJ IDEA的基本使用

集成开发环境 IntelliJ IDEA 是由 JetBrains 开发的一个强大的 Java IDE&#xff0c;它也被广泛用于其他编程语言的开发&#xff0c;如 Kotlin、Scala 和 Groovy 等。IntelliJ IDEA 以其智能的代码补全、代码分析、重构工具和强大的调试功能而闻名。以下是 IntelliJ IDEA 的基本…...

【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境

在后面学习 Flink 相关知识时&#xff0c;会深入源码探究其实现机制。因此&#xff0c;需要现在本地配置好源码阅读环境。 本文搭建环境&#xff1a; Mac M1&#xff08;Apple Silicon&#xff09;Java 8IDEAFlink 官方源码 一、 下载 Flink 源码 github 地址&#xff1a;h…...

Spring IoC容器详解

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本概念 Spring IoC容器是Spring框架的核心组件&#xff0c;它实现了控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09;的设计原则。IoC是一种编程思…...

06 MP之自动填充+SQL执行的语句和速度分析

1. 自动填充 在项目中有一些属性&#xff0c;比如常见的创建时间和更新时间可以设置为自动填充。 1.1 实例 需求: 将创建时间和更新时间设置为自动填充, 这样每次插入数据时可以不用理会这两个字段 1.1.1 在数据库增加字段 默认开启驼峰映射 createTime --> create_time…...

3 scala集合-Set

与 Java 的 Set 一样&#xff0c;scala 的 set 中&#xff0c;元素都是唯一的&#xff0c;而且遍历 set 中集合的顺序&#xff0c;跟元素插入的顺序是不一样的。 同样&#xff0c;Set 也包含可变和不可变两种。要实现可变 Set 集合&#xff0c;需要使用类 scala.collection.mu…...

Android应用图标微技巧,8.0系统中应用图标的适配

大家好,2018年的第一篇文章到的稍微有点迟,也是因为在上一个Glide系列结束之后一直还没想到什么好的新题材。 现在已经进入了2018年,Android 8.0系统也逐渐开始普及起来了。三星今年推出的最新旗舰机Galaxy S9已经搭载了Android 8.0系统,紧接着小米、华为、OV等国产手机厂…...

java学习(多态)

一、多态 含义&#xff1a;方法或对象具有多种形态。是面向对象的第三大特征&#xff0c;多态是建立在封装和继承基础上的。 多态的具体体现&#xff1a; 1&#xff09;方法的多态 &#xff08;例如重写和重载&#xff09; 2&#xff09;对象的多态 多态注意事项&#xff1…...

[UI5 常用控件] 07.SplitApp,SplitContainer

文章目录 前言1. SplitApp1.1 组件结构1.2 Demo1.3 mode属性 2. SplitContainer 前言 本章节记录常用控件SplitApp&#xff0c;SplitContainer。主要功能是在左侧显示Master页面&#xff0c;右侧显示Detail页面。 Master页面和Detail页面可以由多个Page组成&#xff0c;并支持…...

MyBatisPlus之分页查询及Service接口运用

一、分页查询 1.1 基本分页查询 配置分页查询拦截器 package com.fox.mp.config;import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springfra…...

对象存储minio

参考Linux搭建免费开源对象存储 创建一个data目录 --address和--console-address是MinIO服务器启动命令中的两个参数&#xff0c;它们具有以下区别&#xff1a; --address参数&#xff1a;用于指定MinIO服务器监听的S3 API访问地址。S3 API是用于与MinIO进行对象存储操作的…...

大模型学习笔记二:prompt工程

文章目录 一、经典AI女友Prompt二、prompt怎么做&#xff1f;1&#xff09;注重格式&#xff1a;2&#xff09;prompt经典构成3&#xff09;简单prompt的python询问代码4&#xff09;python实现订阅手机流量套餐的NLU5&#xff09;优化一&#xff1a;加入垂直领域推荐6&#xf…...

MATLAB实现LSTM时间序列预测

LSTM模型可以在一定程度上学习和预测非平稳的时间序列&#xff0c;其具有强大的记忆和非线性建模能力&#xff0c;可以捕捉到时间序列中的复杂模式和趋势[4]。在这种情况下&#xff0c;LSTM模型可能会自动学习到时间序列的非平稳性&#xff0c;并在预测中进行适当的调整。其作为…...

Kubernetes CNI Calico:Route Reflector 模式(RR) calico IPIP切换RR网络模式

1. 概述 Calico 路由反射模式是一种 BGP 互联方案,用于解决大规模网络中路由信息的分发和同步问题。在 Calico 的路由反射模式中,路由反射器(Route Reflectors)被用来集中管理路由信息,以减少网络中的路由信息数量和减小路由信息的分发规模。 在 Calico 的路由反射模式中…...

探索Gin框架:Golang Gin框架请求参数的获取

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 前言 我们在专栏的前面几篇文章内讲解了Gin框架的路由配置&#xff0c;服务启动等内容。 专栏地址&…...

极值图论基础

目录 一&#xff0c;普通子图禁图 二&#xff0c;Turan问题 三&#xff0c;Turan定理、Turan图 1&#xff0c;Turan定理 2&#xff0c;Turan图 四&#xff0c;以完全二部图为禁图的Turan问题 1&#xff0c;最大边数的上界 2&#xff0c;最大边数的下界 五&#xff0c;…...

word导出链接

java 使用 POI 操作 XWPFDocumen 创建和读取 Office Word 文档基础篇 https://www.cnblogs.com/mh-study/p/9747945.html word标签解析文档 http://www.datypic.com/sc/ooxml/e-w_tbl-1.html...

(delphi11最新学习资料) Object Pascal 学习笔记---第4章第2.5节(重载和模糊调用)

4.2.5 重载和模糊调用 ​ 当调用一个重载的函数时&#xff0c;编译器通常会找到匹配的版本并正确工作&#xff0c;或者如果没有任何重载版本具有正确匹配的参数&#xff08;正如我们刚刚看到的&#xff09;&#xff0c;则会报出错误。 ​ 但还有第三种情况&#xff1a;假设编…...