自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 kk(kubeadmin)在麒麟与centos安装k8s集群踩坑记录

coredns说没有cni0,那么问题直接定位到flannel了,因为flannel创建时候会顺带创建flannel与cni0。我初步认为是没权限,没有切换到默认root用户上,因为默认sudo用户的当前目录中没有 .docker文件夹。找不到默认的路由,直接去看网卡配置是否有gateway配置,发现只有一张网卡配置了gateway。这里就截图时间同步了,由于大部分机器自带chronyd时间同步,所以采用该同步方式解决。我意外的访问官网发现一个错误,那就是时间同步问题,经过时间同步后解决。

2023-12-04 15:18:25 578

原创 集群创建(flannel)时候,没有自动创建出cni0网卡

集群通信失败,第一时刻想看看是不是cni0和flannel.1的网段是不是通的,点进去一看发现cni0网卡没有生成。然后就ok了,如果还有问题就重启这个节点的flannel.1,但是我没重启也ok了。配置网段为当前的node节点的flannel.1的网段10.233.77.1。给旧的集群加入四台新的服务器启动时候发现都是正常的,但是pod通信报错。部署是通过kubeadm方式部署的集群,目前有两种解决方式,亲测都可行。首先ifconfig查看已经有的flannel.1的网段。

2023-11-21 17:11:34 892 1

原创 修改k8s启动pod的数量限制

2.在node上设置打开文件/var/lib/kubelet/config.yaml。1.默认情况下k8s 一个node最多起110个pod。3.修改参数maxPods为指定的值。

2023-07-27 15:30:01 908

原创 redis持久化设置

AOF 持久化是将 Redis 执行的写命令追加到 AOF 文件的末尾,以记录数据修改操作的方式。1.RDB(Redis Database Dump)持久化:RDB 是将 Redis 数据库在某个时间点的数据快照保存到磁盘上的一种方式。2.AOF(Append-Only File)持久化:AOF 是将 Redis 执行的写命令追加到文件的末尾,以记录数据修改操作的方式。设置 appendfsync everysec 是一种推荐的方式,它在保证一定的数据持久化安全性的同时,对性能的影响相对较小。

2023-07-27 15:07:48 537

原创 jenkins主从创建节点无没有找到known_hosts

使用适当的工具(如 ssh-keyscan 命令)从 Jenkins 主节点或其他远程主机获取主机密钥。从节点需要有/var/jenkins_home/jdk/bin/java。通过ssh登录方式创建节点提示。

2023-07-18 14:58:12 329

原创 本地spingboot配置Promethus+granfana监控

进入granfana官网监控表盘选择任意一款喜欢的,通过load id或者json导入,例如14370监控jvm。为prometheus启动端口及数据源端口,添加一个采集地址即可,打开prometheus验证,访问。启动granfana,访问localhost:3000,admin/admin登录。添加数据源datasource,点击add,选择prometheus数据源,输入。它提示的localhost:9090,点击下方测试保存通过即可。load后选择刚刚创建好的数据源,import。

2023-04-26 15:05:48 272 1

原创 java设计模式——适配器(Adapter)模式

但缺点很明显,这个适配器只适合电视了或者和电视一样的三孔电器才能使用,单孔的则有需要新开一个适配器了,这个还要到具体场景具体业务而定使用对象又或者是类适配器了。(仅适用于对象Adapter )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。举例,以家中的插头为例,常见的就是三孔与双孔两种插口,以插口为接口,命名。你想使用一个已经存在的类,而它的接口不符合你的需求。

2022-11-11 15:40:48 875

原创 java设计模式(一)——五种创建型设计模式

一、什么是设计模式? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,

2022-11-09 17:48:45 2036 1

原创 JMETER实战从创建测试数据到分布式压测测试全流程

比如说一万个用户登录后进行新建某样东西,这里因为考虑这个业务逻辑是多用户,所以需要在线程里额外加一个token提取器,保证是不同的用户,可以把上面的setUp线程组关闭了,json与beanshell与上述的setUp线程组是一样的,新建的http信息头管理器、csv也是一样的(因为新增用户的账号和密码在登录直接可以用)jmeter版本的一致,也是最好完全一致,这里使用的都是jmeter5.5,觉得麻烦的可以直接拷贝windows的jmeter到centos机里面,这样也能确保版本一致。

2022-11-08 17:30:17 657

原创 贪心算法-买卖股票的好时机(一)

在第3天(股票价格 = 2)的时候买入,在第6天(股票价格 = 7)的时候卖出,最大利润 = 7-2 = 5 ,不能选择在第2天买入,第3天卖出,这样就亏损7了;同时,你也不能在买入前卖出股票。假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益。1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能买入和卖出一次,且买入必须在卖出的前面的某一天。要求:空间复杂度 O(1),时间复杂度 O(n)

2022-10-14 18:19:47 273

原创 读xml配置文件getResourceAsStream读取到的为null

在project structure里面配置一下源文件,这样把xml文件放到resoureces或者自己当前xml文件所在的目录(右键这个文件夹resources即可)这样就可以正确的读到xml文件了。idea的小坑记一下。

2022-10-14 15:39:37 289

原创 更新nacos2.1.1后启动报错...Unknown column ‘encrypted_data_key‘ in ‘field list‘...

数据库表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用来存储每一个配置项加密使用的秘钥。新版本的默认创建表的sql中已经添加该字段。为保证用户敏感配置数据的安全,Nacos 提供了配置加密的新特性。降低了用户使用的风险,也不需要再对配置进行单独的加密处理。看提示是数据表缺少encrypted_data_key字段,那就手动为据表添加该字段。依次给三个表添加 encrypted_data_key 就正常了。

2022-09-30 14:39:31 1760

原创 推送udp报文,docker启动接收不到udp报文,java -jar可以

运行服务发现发送的udp报文服务接受不到,docker-compose默认端口映射没有指定udp(原因是docker默认是tcp端口形式,必须以指定udp形式),改为udp映射后,成功推送。环境通过docker-compose部署在虚拟机。9214后加上/udp。

2022-09-28 16:37:55 943

原创 BM4 合并两个排序的链表

0 \le n \le 10000≤n≤1000,-1000 \le 节点值 \le 1000−1000≤节点值≤1000。输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)// 递归计算 list1, list2.next。// list1 list2为空的情况。// 两个链表元素依次对比。

2022-09-20 16:58:42 101

原创 链表中的节点每k个一组翻转

递归:如果这个链表有n个分组可以反转,我们首先对第一个分组反转,接下来将剩余n−1个分组反转后的结果接在第一组后面就行了,那这剩余的n−1组就是一个子问题。

2022-09-20 16:55:42 372

原创 链表内指定区间反转

给出的链表为 1\to 2 \to 3 \to 4 \to 5 \to NULL1→2→3→4→5→NULL, m=2,n=4m=2,n=4,将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。返回 1\to 4\to 3\to 2\to 5\to NULL1→4→3→2→5→NULL.要求:时间复杂度 O(n)O(n) ,空间复杂度 O(n)O(n)进阶:时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)

2022-09-07 16:17:16 291

原创 反转链表、栈、双向链表、递归实现

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。//每次访问的原链表节点都会成为新链表的头结点,//先保存访问的节点的下一个节点,保存起来。//其实就是把新链表挂到访问的原链表节点的。如当输入链表{1,2,3}时,//重新赋值,继续访问。//留着下一步访问的。

2022-09-02 18:21:26 163

原创 关于promethus+grafana的监控exporter访问/为errorpage404(notfound)重写exporter

打开exported_rockermq,妥妥的java_spring项目,那就简单了,直接一路打开看controller、sevice层,发现只有一个/metrics界面,自己添加一个简单的/节面就行了。改变两个文件一个是application文件,namesrvAddr是监控的rocketmq地址自行更改,加了一个。再把jar包mvn clean package重新打包编译,放到服务器运行就完事了。这个加到grafana就不会报错not found了,就可以愉快的监控这些中间件了。......

2022-08-12 16:40:12 1750

原创 Promethus+node_exporter集群部署监控

6.3 磁盘使用率 公式:(1-(node_filesystem_free_bytes{fstype=~“ext4|xfs”} / node_filesystem_size_bytes{fstype=~“ext4|xfs”})) * 100。5.1 内存使用率 公式:(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes ))* 100。随意下载一个node_export,通过tar -xvf 解压下载的tar.gz包。......

2022-08-10 15:13:16 1657

原创 mongo+ycsb性能测试及线程数分析

mongodb下载官网mongo下载完对应tar包后,通过tar -xvf命令解压至/usr/local下启动mongoycsb0.17下载地址#官方文档 Now you are ready to run!解压后ycsb后不同的工作负载模式不同对应增删改查的操作所占百分比不同ycsb的workloads目录下保存了6种不同的workload类型,代表了不同的压测负载类型,详细的介绍列在下面:workloada:混合了50%的读和50%的写;...

2022-08-06 19:06:19 1110 1

原创 Resolved exception caused by Handler execution: java.lang.NullPointerException

被@Configuration修饰的类,spring容器中会通过cglib给这个类创建一个代理,代理会拦截所有被@Bean 修饰的方法,默认情况(bean为单例)下确保这些方法只被调用一次,从而确保这些bean是同一个bean,即单例的。1.注释掉拦截器相关代码,controller与js那边检查都是没问题的,看看自定义拦截器的是不是参数或者哪里传错了,也都是ok的。当然有没有@Configuration注解,@Bean都会起效,都会将@Bean修饰的方法作为bean注册到容器中。...

2022-08-03 13:42:12 868

原创 登录拦截实现过程

这样在用户登录时候通过拦截器对requireAuthPages内的字符串进行匹配判断是否进行登录,如果没有登录,重定向跳转至登录界面。在目标用户查看需要登录才能查看的界面时候,进行拦截并提示用户登录。自定义一个拦截器LoginInterceptor。配置拦截器注册到spring的bean中。自动拦截cart,由于未登录,自动跳转至。通过Controller访问登录界面。如果已经登录,则可以正常的进行访问。...

2022-08-02 14:26:47 602 1

原创 RRU、BBU、AAU

而MIMO越高阶,则需要天线越来越多,天线越来越多,馈线也就越来越多,RRU上的馈线接口也就越多,而这样工艺的复杂度也就越来越高。其中BBU的实时性比较强的部分,变成了DU(分布单元),而BBU的非实时性功能则演变为了CU(集中单元),此外5G核心网功能下沉到边缘,CU还将承载部分核心网的功能。BBU的部分物理层功能,被设计到了AAU之中,因此和RRU相比,AAU不仅仅是多集成天线部分的功能,还多了部分BBU物理层的功能。而且,就某些对于系统容量要求不高的区域,比如农村、山区,也没有必要使用昂贵的AAU。.

2022-07-28 14:42:51 14036 1

原创 forward与redirect的区别

1)forword是服务器内部的重定向,服务器直接访问目标地址的url网址,把里面的东西读取出来,但是客户端并不知道,因此用forward的话,客户端浏览器的网址是不会发生变化的。1)由于在整个定向的过程中用的是同一个request,因此forward会将request的信息带到被重定向的jsp或者servlet中使用。2)redirect是服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,所以地址栏显示的是新的地址。1)forword一般用于用户登录的时候,根据角色转发到相应的模块。...

2022-07-26 17:00:05 1419

原创 toString()及重写的作用与应用

重写tostring()的作用其实对于一般的对象来说都会有这个方法,这个方法的目的,主要就是将对象按字符串的方式输出出来,用白话说就是使用文字描述这个对象里各个变量是什么值,这个变量是什么类型的变量等,并且任何类都从Object继承了这个方法,重写toString()方法就是将对象按字符串的方式输出出来。(1)returngetClass().getName()指的是我们要输出地址的包名以及类的名称。(2)“@”是一个字符形式的输出,一般是地址符的表示。然后重新print,打印的结果就是。...

2022-07-20 15:27:47 950

原创 thymeleaf介绍与简单应用

1.什么是thymeleafthymeleaf 跟 JSP 一样,就是运行之后,就得到纯 HTML了。 区别在与,不运行之前, thymeleaf 也是 纯 html …所以 thymeleaf 不需要 服务端的支持,就能够被以 html 的方式打开,这样就方便前端人员独立设计与调试, jsp 就不行了, 不启动服务器 jsp 都没法运行出结果来。2.在pom文件中添加对thymeleaf的支持3.增加控制器4.新建hello.html这种方式,就可以把服务端的数据,显示在当前html里了。5.a

2022-07-14 15:57:30 437

原创 Ajax的作用、快速了解及应用

1.实例:比如在用户名校验过程中,checkName.jsp,abc存在,def不存在checkName.jsp?name=abccheckName.jsp?name=def未使用Ajax,需要刷新、提交才能看到效果使用Ajax,直接可以看到效果2.Ajax请求过程cli——server1.创建XMLHttpRequest2.设置响应函数3.设置访问界面4.执行访问server——cli1.调用响应函数2.判断响应是否成功3.获取响应文本4.显示文本3.实现过程1.创建XMLHttp

2022-07-13 16:51:19 93

原创 学go之路(三)数组与切片

输出结果:[1 2 3 0 0] [1 2 3 4 5] [1 2 3 4 5 6] [ hello world tom][1 2 0] [1 2 3 4] [0 0 100 0 200] [{user1 10} {user2 20}]多维数组输出结果:值拷贝行为会造成性能问题,通常会建议使用 slice,或数组指针。输出结果:数组拷贝和传参多维数组遍历:输出结果:找出数组中和为给定值的两个元素的下标,例如数组[1,3,5,8,7],找出两个元素之和等于8的下标分别是(0,4)和(1,2

2022-07-07 14:14:24 66

原创 学go之路(四)指针与map

1.go help命令及解释2.go的内置类型(1)值类型(2)引用类型(指针):(3)函数类型(4)接口error3.init()与main()4.运算符5.变量与常量(1)变量申明、批量变量申明、变量的初始化(2)短变量申明(3)匿名变量匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。(4)常量const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。 例如:上面示例中,常量n1、n2、n3的值都是100。(5)iotaiota是go语言的常量计数器

2022-07-05 15:45:01 355

原创 学go之路(一)go的基本介绍到第一个helloworld

1.go安装与环境变量配置:进入https://golang.google.cn/dl/选择go的版本及系统进行安装安装完后设置GOHOME,并将GOHOME/bin加入到环境变量中完成后输入go验证是否安装成功2.go的优点:3.go的特征:4.go文件名5.go的语言命名:1.Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则:2.Go只有25个关键字3.Go还有37个保留字4.可见性:6.Go语言声明:有四种主要声明方式:Go的程序是保存在多个.go文件中,文件的第

2022-07-04 16:02:48 184

原创 go: cannot find main module, but found .git/config in *** to create a module there, run:

运行go项目的时候,出错go: cannot find main module, but found .git/config in *** to create a module there, run:首先go env出错原因是开启了go mod,但是没有初使化生成go.mod文件解决方案1:  在Windows PowerShell 中输入如下命令:go env -w GO111MODULE=off解决方案2:  在项目的根目录下使用如下命令:go mod init再去运行项目就成功了...

2022-07-04 11:13:09 1868

原创 python+selenium+pytest(下)自动化api+web项目实战

简单运用python+selenium+pytest进行项目实战

2022-06-21 14:08:21 826

原创 rabbitmq的安装与应用

1.rabbitmq的介绍与安装介绍:rabbitmq是一种消息中间件的实现,abbitmq 使用的是一种叫做 AMQP 的协议来通信,基于 erlang 语言开发。消息交互过程:Rabbit 拿到消息之后,会先交给 交换机 (Exchange), 然后交换机再根据预先设定的不同绑定( Bindings )策略,来确定要发给哪个队列。RabbitMQ提供了四种Exchange模式:fanout,direct,topic,header 。fanout 模式:fanout 模式就是广播模式,消息来了,

2022-05-27 17:48:31 247

原创 151.颠倒字符串中的单词

给你一个字符串 s ,颠倒字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例 1:输入:s = “the sky is blue”输出:“blue is sky the”示例 2:输入:s = " hello world "

2022-05-11 17:29:26 166

原创 最长字符串链

给出一个单词数组 words ,其中每个单词都由小写英文字母组成。如果我们可以 不改变其他字符的顺序 ,在 wordA 的任何地方添加 恰好一个 字母使其变成 wordB ,那么我们认为 wordA 是 wordB 的 前身 。例如,“abc” 是 “abac” 的 前身 ,而 “cba” 不是 “bcad” 的 前身词链是单词 [word_1, word_2, …, word_k] 组成的序列,k >= 1,其中 word1 是 word2 的前身,word2 是 word3 的前身,依此类推

2022-05-11 15:48:35 360

原创 HJ4 字符串分隔

描述•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。输入描述:连续输入字符串(每个字符串长度小于等于100)输出描述:依次输出所有分割后的长度为8的新字符串示例1输入:abc输出:abc00000因为要连续输入字符串所以可以通过while True不断读取输入的input(‘’)首先定义一个不断读取字符串前八位的方法getstring()def getstring(str): if len(str)<

2022-04-28 16:38:20 151

原创 HJ3 明明的随机数

描述明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \le val \le 500 \1≤val≤500输入描述:第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。输出描述:输出多行,表示输入数据处理后的结果示例1输

2022-04-28 15:02:19 558

原创 HJ2 计算某字符出现次数

描述写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)数据范围: 1 \le n \le 1000 \1≤n≤1000输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母)示例1输入:ABCabcA复制输出:2统计不区分大小写的,统一变为大写或者小写即可a = input('').lower()b = input(

2022-04-26 16:00:42 217

原创 HJ1 字符串最后一个单词的长度

描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1:输入:hello nowcoder输出:8最后一个单词为nowcoder,长度为8strip()用于移除字符串头尾指定字符,去除特殊字符串如空格或者换行符str.split(str=“”, num=string.count(str))str – 分

2022-04-22 16:50:45 388

原创 python+selenium+pytest(中)自动化测试框架pytest的应用

在(一)中,简单对selenium常用问题方法进行介绍,在二中详细介绍结合框架的使用(一)pytest的介绍基于python的框架常用的又unittest、pytest、rebotframeworkunittest、pytest侧重于单元测试rebotframework侧重于系统测试pytest 可以用来做 系统测试 的自动化, 它的特点有(1)用 Python 编写测试用例,简便易用(2)可以用 文件系统目录层次 对应 手工测试用例 层次结构(3)灵活的初始化清除 机制(4)可以灵活挑选

2022-04-18 11:20:52 5036 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除