- 博客(55)
- 资源 (11)
- 收藏
- 关注
原创 力扣 leetcode 704. 二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。很简单,直接贴源码class Solution { public int search(int[] nums, int target) { int l = 0; int r = nums.length - 1; while(l <= r){ in
2022-05-23 20:50:18 148
原创 nginx config配置中内置变量host的坑
我们在配置nginx的配置时,一般是这样的。举例:server { listen 80; server_name mirrors.maqian.work; location / { proxy_pass http://mirrors.aliyun.com; proxy_redirect off; proxy_set_header Host $proxy_host; proxy_set_header X-Rea
2022-05-23 09:37:35 4552
原创 Kubernetes Helm的应用
Helm的概述Yum是Linux系统中的包管理工具,那么Helm就是Kubernetes集群中的包管理工具了。Helm为Kubernetes集群提供了软件部署、删除、升级、回滚应用等强大的功能。在我们还没有使用Helm的时候,都是通过deployment、service来部署应用的,部署的步骤比较繁琐。使用Helm来部署应用,只需要将准备好的yaml文件进行打包,然后使用Helm来部署应用即可通过Helm部署的应用,都是动态的,我们可以进行自由的修改配置文件,供k8s集群调度使用H
2022-05-20 19:07:10 314
转载 Helm应用详解--K8S
构建一个 Chart1. Chart 文件结构chart 是一个组织在文件目录中的集合。目录名称就是chart名称。因而描述WordPress的chart可以存储在wordpress/目录中。在这个目录中,Helm 期望可以匹配以下结构:wordpress/ Chart.yaml # 包含了chart信息的YAML文件 LICENSE # 可选: 包含chart许可证的纯文本文件 README.md # 可选: 可读的RE...
2022-05-20 17:08:46 3640
原创 Go报错panic: assignment to entry in nil map
golang中map是引用类型,应用类型的变量未初始化时默认的zero value是nil。直接向nil map写入键值数据会导致运行时错误panic: assignment to entry in nil map看一个例子:package mainconst alphabetStr string = "abcdefghijklmnopqrstuvwxyz"func main() { var alphabetMap map[string]bool for _, r := ran
2022-05-16 17:14:35 1826
原创 依赖管理 -- Go Modules和GOPATH
一、什么是Go Modules?Go modules 是 Go 语言的依赖解决方案,发布于 Go1.11,成长于 Go1.12,丰富于 Go1.13,正式于 Go1.14 推荐在生产上使用。Go moudles 目前集成在 Go 的工具链中,只要安装了 Go,自然而然也就可以使用 Go moudles 了,而 Go modules 的出现也解决了在 Go1.11 前的几个常见争议问题:Go 语言长久以来的依赖管理问题。 “淘汰”现有的 GOPATH 的使用模式。 统一社区中的其它的依赖管理工
2022-05-16 17:11:27 633
原创 Vendor使用:golang的vendor是个啥?
如果你想要可重复的构建而无需依赖外部服务(例如模块镜像)或连接到网络,vendor可以提供解决方案。vendor还有其他好处:如果从VCS中删除了依赖,或者代理服务器丢失了模块,vendor可以解决。 升级依赖时你可以看见差异对比,并且你可以维护历史记录。 你将能够跟踪和调试依赖,并在必要时进行测试更改。 运行go mod tidy,go mod vendor之后,你的更改将被替换。在本文中,我将提供Go支持vendor的历史以及随着时间的推移默认行为的变化。我还将分享Go的工具如何保持版本
2022-05-16 17:04:20 4805
原创 详谈GoLang的panic和error
首先说一下:错误指的是可能出现问题的地方出现了问题。如打开件失败,这种情况在意料之中 。异常指的是不应该出现问题的地方出现了问题。如引用了空指针,这种情况在意料之外Go提供两种错误处理方式函数返回error类型对象判断错误 panic异常1. panicGo的类型系统会在编译时捕获很多错误,但有些错误只能在运行时检查,如数组访问越界、空指针引用等。这些运行时错误会引起painc异常。一般而言,当panic异常发生时,程序会中断运行,并立即执行在该goroutine(可以先理解成...
2022-05-16 16:58:54 4384
原创 全面理解LimitRange和ResourceQuota,k8s资源管理
一。简介kubernetes提供了两种资源限制的方式:ResourceQuota 和LimitRange。其中ResourceQuota 是针对namespace做的资源限制,而LimitRange是针对namespace中的每个组件做的资源限制,如pod等。即:对namespace中容器、pod等使用总和限制 ResourceQuota 对namespace中容器、pod等使用单独限制:LimitRange二。ResourceQuota这里我们先说ResourceQu
2022-05-16 14:08:43 2208
原创 解决Nacos服务注册使用Docker容器内网ip问题
一、问题使用docker集群部署的jar启动时注册到nacos上的ip会使用docker的内网ip作为注册地址,导致多台服务器部署服务时,nacos监听到的服务永远只有一个二、解决可参考: https://github.com/alibaba/nacos/issues/310法一:--network=host示例docker run -d --network=host --name app-demo registry.cn-hangzhou.aliyuncs.com/zhengqing/.
2022-05-12 16:01:09 5861 1
原创 Kubernetes多租户管理与资源控制
namespace设计解读namespace是Kubernetes进行多租户资源隔离的主要手段,那么它在系统中的表现形式是什么样的?实现原理和使用方法又是怎样的呢?什么是namespacenamespace是一个将Kubernetes的资源对象进行细分的类似于DNS子域名的概念。namespace能够帮助不同的租户共享一个Kubernetes集群。Kubernetes引人namespace的目的包括以下几点:建立一种简单易用,能够在逻辑上对Kubernetes资源对象进行隔离的机制。 将资
2022-05-05 11:15:25 719
原创 leetcode 713. 乘积小于 K 的子数组 解题
给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。示例 1:输入:nums = [10,5,2,6], k = 100输出:8解释:8 个乘积小于 100 的子数组分别为:[10]、[5]、[2],、[6]、[10,5]、[5,2]、[2,6]、[5,2,6]。需要注意的是 [10,5,2] 并不是乘积小于 100 的子数组。示例 2:输入:nums = [1,2,3], k = 0输出:0class Solut.
2022-05-05 09:10:52 225
原创 redis报错ERR This instance has cluster support disabled
解决:在reids 安装服务器上找到配置文件:redis.conf。放开一个被注释掉的配置,开启集群模式:原来:# cluster-enabled yes 改为:cluster-enabled yes问题解决!
2022-04-20 14:37:17 2550
原创 Nginx配置规则详解,配置解释
1. Nginx配置文件(nginx.conf)默认在Linux上安装的Nginx,配置文件在安装的nginx目录下的conf目录下,名字叫做nginx.confnginx.conf主要由三部分组成全局块, events块 http块配置文件结构:自带默认配置文件# 全局块------------------------------------------------------------------------------#user nobody;worker..
2022-04-19 11:00:59 4165
原创 Nginx命令全解
常见的命令有:nginx -s reopen #重启Nginxnginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginxnginx -s stop #强制停止Nginx服务nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)nginx -t #检测配置文件是否有语法错误,然后退出nginx -?,-h #打开帮助信息nginx -v #显示版本信息并退出nginx -V #显示版本和配置选项信息,然后退出
2022-04-19 10:35:32 14477
原创 剑指 Offer 03. 数组中重复的数字--详解
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000class Solution { //方法1:排序,时间O(nlogn),空间O(logn),修改了原数据 public int..
2022-04-19 10:01:30 286
原创 IDEA的使用2:最重要的步骤
懂的都懂,IDEA最重要的步骤!!!!-------------------------------------------------------------------------------------------------------------------------------使用如下码,懂的都懂2018 年 1 月 以前的IDEAN5YM1QUL52-eyJsaWNlbnNlSWQiOiJONVlNMVFVTDUyIiwibGljZW5zZWVOYW1lIjoibm8gaG
2022-04-14 10:09:49 296
原创 IDEA的使用1:从下载到创建项目
有用请点赞哦!!!一、IDEA的下载IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windowsIDEA 分为两个版本:旗舰版(Ultimate)和社区版(Community)。二、安装过程在这我们选择装旗舰版,社区版虽然免费,但是有些功能不全双击【ideaIU-2018.3.3.exe】安装文件:点击下一步(Next)选择好【文件的安装文件目录】,点击【Next】红色箭头所指向的选项代表根据你的电脑选.
2022-04-14 10:02:23 249
原创 docker容器内部执行apt-get install vim报:unable to locate package vim
刚从docker hub上拉取镜象ubuntu(运行命令:docker run -it ubuntu)。进入容器后,执行apt-get install vim。却报出unable to locate package vim。解决方案原因是,你第一次进容器还未执行apt-get update需要先执行这个命令...
2022-04-12 09:40:30 1549
原创 springboot报错java.lang.NoClassDefFoundError: org/springframework/boot/Bootstrappe
一般发生这种情况都和依赖有关,首先需要检查一下你在服务器部署的依赖路径和mainclass之间的关系是不是在配置中对的。我就是这个问题还有就是版本冲突。当你使用idea初始化器去创建spring项目,然后你又需要改变当前版本的时候,最好注意maven依赖之间的版本冲突...
2022-04-08 16:27:29 2184
原创 K8S上Jenkins出现All nodes of label ‘build-5f719413’ are offline
可以看这篇文章首先我们需要确认一下自己的编译环境,Jenkins需要java环境。另外确认版本问题。Jenkins 2.54需要Java 8 !!这些问题解决后,再考虑内存等问题。
2022-04-08 15:28:35 2443
原创 LeetCode 所有题型总纲
LeetCode 所有题型总纲 数学基础 简单数学 乘法 除法 幂 对数 阶乘 日期 组合数学 排列组合 排列数 组合数 杨辉三角 错排公式 卡特兰数 组合计数 递推 鸽巢原理 容斥原理 线性代数 高斯消元 矩阵乘法 高等数学 汉明距离 曼哈顿距离 欧几里得距离 辛普森积分 解析几何 距离 汉
2022-04-07 16:01:09 450
原创 k8s报错1 node(s) had taints that the pod didn‘t tolerate
这是由于我们在自己pod的yaml中没有添加容忍,加入容忍就可以了,可以看我之前的博客这里再补充一下当不清楚集群中node的污点时,可以用以下命令查看和删除污点kubectl describe nodes k8s-master |grep TaintsTaints: gameble=true:NoSchedule[root@k8s-master ~]# kubectl describe nodes k8s-slave1 | grep TaintsTaints
2022-04-07 14:53:14 5486
转载 K8S的污点,Taint
添加污点的Node节点默认不会参与日常调度,有两种策略分别为“NoSchedule”和“NoExecute”,加入污点的Node只有在Pod的Yaml文件设置相对应的容忍,Pod才会调度到该节点,NoSchedule:软策略,表示尽量不调度到污点节点上去,只会影响到新的pod而不会对已经运行在该Node节点其他pod造成影响;;;;;Node节点上的旧Pod不会被驱逐NoExecute:该选项意味着一旦 Taint 生效,如该节点内正在运行的 pod 没有对应 Tolerate 设置,会直接被逐出
2022-04-07 14:36:03 723
原创 urlencoded和json 格式详解
urlencoded格式,又叫form格式、x-www-form-urlencoded格式 它是一种表单格式组成格式键值对组成 键和值之间用=:name=poloyy 多个键值对之间用&:name=poloyy&age=19实际例子浏览器百度搜索content-type 可以选择 x-www-form-urlencoded 格式----------------------------------------------------------...
2022-04-07 14:26:04 739
原创 jvm报错Initial heap size set to a larger value than the maximum heap size
出现这个的原因是:设置的初始堆大小大于最大堆的值然后设置一下就可以了
2022-04-07 14:20:06 11179
原创 git使用-------常见命令解析
Git是分布式版本控制系统通过命令 git init 把这个目录变成git可以管理的仓库,这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的。git log命令显示从最近到最远的显示日志我想把当前的版本回退到上一个版本,可以使用如下2种命令,第一种是:git reset --hard HEAD^ , 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推;我们可以通过版本号回退,使用命令方法如下git reset --hard...
2022-04-06 11:09:18 273
转载 Java/Spring应用在k8s环境中的内存配置实践
前言在微服务架构中,网关、注册中心、配置中心、服务追踪、认证中心等一系列组件部署到服务器中会占用一定的内存,还有各个业务服务,一部署单个服务可能就占个几百M,甚至上G。那这一系列组件和服务同时部署不得消耗更多的内存?为防止这些服务把系统资源耗尽导致宕机,我们不得不为这些服务配置一定的内存限制。在 k8s 环境中,如果我们单单配置了memory的 limit ,没有配置 Java 应用的JVM参数,那么在 Java 程序运行过程中可能会导致内存超过memory的 limit ,发送OOM错...
2022-03-30 15:46:37 3567
转载 使用Nacos做为SpringCloud的注册中心
1. Nacos介绍1.1 Nacos关键特性Nacos 致力于发现、配置和管理微服务。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:Kubernetes Service gRPC&Dubbo RPC Service Spring Cloud RESTful ServiceNacos 的关键特性包括:服务发现和服务健康监测 Nacos 支持基于 DNS 和基于 RPC 的服务发现。服务提供者使用原生SDK、OpenAPI、或一个独立的Agent TODO...
2022-03-30 15:13:47 415
原创 Kafka报错:Connection to node -1 could not be established. Broker may not be available.
一般是IP和端口的配置问题,建议查看一下意思是连不上Kafka,我启动了虚拟机之后,启动项目,运行程序之后报这个错误,一开始没想起来,网上找了一些类似的问题和解决问题,差不多都和IP地址相关,我后来想起来,项目中的application.yml文件中,关于Kafka的bootstrap-servers: 虚拟机地址:9092 配置改为了自己的虚拟机地址,原来是:bootstrap-servers: 127.0.0.1:9092,改过之后,重新启动项目,调试接口,能够正常运行。我的Kafka配置文件:
2022-03-30 11:05:35 33598
原创 Nacos启动异常:failed to req API:/api//nacos/v1/ns/instance after all servers([127.0.0.1:8848])
连同着的也会出现 NacosException:failed to req API:xxxx:8848/nacos/v1/ns/instance/beat. code:500 msg: java.net.Connect的错误。如果遇到这个错误 可以初步判断是你把nacos控制台给关闭了 也有可能是其他原因!假如是这个原因的话,那么检查一下你的nacos安装目录是不是跟原来的不一样了那么将这个nacos删除或者清理一下 重新解压 再启动nacos 不要关闭控制台也就是解决方案:
2022-03-30 10:55:48 8429 1
转载 Kafka 集群配置SASL+ACL
Kafka 集群配置SASL+ACL一、简介在Kafka0.9版本之前,Kafka集群时没有安全机制的。Kafka Client应用可以通过连接Zookeeper地址,例如zk1:2181:zk2:2181,zk3:2181等。来获取存储在Zookeeper中的Kafka元数据信息。拿到Kafka Broker地址后,连接到Kafka集群,就可以操作集群上的所有主题了。由于没有权限控制,集群核心的业务主题时存在风险的。本文主要使用SASL+ACL二、技术关键点配置文件修改broker启动所需
2022-03-28 20:31:00 5526
原创 nginx报错“server“ directive is not allowed here in /etc/nginx/nginx.conf:
需要看一下你的nginx配置了里,http有没有加如下:http{sever{}}
2022-03-28 20:01:58 18060
转载 nginx 配置来做http代理、负载均衡、tcp代理转发
一、nginx http 代理nginx http 代理通过proxy_set_header,返回客户端真实IP地址及端口,而不是代理主机ip#proxy ngx 代理不支持 https,有https需求可以用squidserver { listen 9998; allow 192.168.0.0/24; deny all; location / { access_log /data/logs/proxy_access.log main; ...
2022-03-28 19:48:40 4590
原创 Docker几个启动报错的解决办法
第一种问题:standard_init_linux.go:211: exec user process caused "no such file or directory" docker-co解决这种情况下,是你的目录出现的问题,看看你的docker 命令,执行的文件是不是目录对的,在不在文件目录里。第二个问题在docker里,使用bash启动服务的时候,出现第一行命令出错,如于-/bin/sh :not found,,,或者sh: line 1: not found。这个错误一般有
2022-03-23 20:34:37 4940
原创 关于kafka出现Connection to xxx could not be established. Broker may not be available.错误
问题解决:检查Kafka的config/server.properties看看是否有填写listeners=PLAINTEXT://kafka-host:9092advertised.listeners=PLAINTEXT://kafka-host:9092这里的kafka-host需要在/etc/hosts进行映射,服务端映射到本地或内网ip,客户端映射到服务端ip...
2022-03-23 14:40:02 3655
一个简单的选课系统-JDBC
2020-08-06
700+行MySQL学习大全包含代码案例
2020-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人