自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在离线混合部署 + Prometheus+grafana 监控和管理资源

在离线混合部署什么是在离线混合部署?首先要理解什么是在线任务,什么是离线任务。简而言之,在线任务要求响应时间短,相应的可能所需资源相对较少,而离线任务则与之相对,一般所需的资源较多,但是可以响应时间较长,例如机器学习,将在线任务和离线任务部署在同一个集群上,就叫在离线混合部署。意义和价值关于在离线混合部署,老生常谈的一个例子就是双十一,在购物狂欢节时,淘宝需要超大集群来提供计算能力来应对这天巨大的流量冲击,但双十一之后,这些计算资源就面临着浪费,这个时候就可以把这些计算运行一些不需要很及时反应的离线

2020-09-15 15:21:14 679

原创 k8s 部署 kubeflow(v1.1.0 )全过程

简述Kubeflow是的机器学习工具包。Kubeflow是运行在K8S之上的一套技术栈,这套技术栈包含了很多组件,组件之间的关系比较松散,我们可以配合起来用,也可以单独用其中的一部分。在这里暂不对 Kubeflow 的各个租金进行赘述,我们简单了解一下机器学习的简单流程。当我们开发和部署ML(MachineLearning)系统时,我们需要评估 ML 工作流各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型不断产生所需的结果,这是一个反复的过程,通常包括几个流程:确定 ML 系统研究的问题

2020-09-14 18:42:16 886 1

原创 CGroup概述 (简介 组织结构和基本规则)

CGroup简介CGroup是 Control Groups 的简称,通俗的来说,cgroups 可以限制、记录、隔离进程组所使用的物理资源(包括:CPU、memory、IO 等),为容器实现虚拟化提供了基本保证,是构建 Docker 等一系列虚拟化管理工具的基石。CGroup主要有四大功能:资源限制(Resource Limitation):cgroups 可以对进程组使用的资源总额进行限制。如设定应用运行时使用内存的上限,一旦超过这个配额就发出 OOM(Out of Memory)。优先级分配(

2020-09-14 12:54:49 2671 1

原创 kubernetes的调度 资源管理(QoS, 亲和度, 资源优先级)

kubernetes的调度过程1. 首先是一个Yaml的文件如图所示,和之前提到的是一样的,我们先讲整个的k8s集群的图表示出来,上方是master节点,下面是nobe的节点。master的节点主要是有api-server,controller 和 scheduler三个部分。当我们给定一个Yaml 文件时,它以最小单位 Pod 发送给 api-server 访问端口。...

2020-09-12 16:13:03 680

原创 LeetCode每日一题 最小覆盖子串 双指针,移动窗口

题目给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。分析遇到子串搜索类型的问题,我们第一想到的一般都是滑动窗口的方法,然后再设定窗口滑动是否要变动,如何变动问问题。我们可以先分析利用双指针来操作滑动窗口的问题,然后在依次解决算法转化的具体问题。首先,双指针的关键之处在于左右指针,右指针先行移动,先找到符合条件的最大子串,即最大覆盖子串,然后左指针再移动,找到在该情景下的最小覆盖子串,即此子串为该情况下

2020-09-06 11:33:57 156

原创 LeetCode每日一题 第k个排列 (排列的第三种类型)

题目给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:分析一般而言,排列问题有三种情况,全排列,下一个排列,第 k 此排列 这三种情况,他要求将给定的数组按照一定的顺序排列完整,我们按照这个系列把三种方法依次简单介绍一下,做个总结,具体算法可以看之前的文章。下一个排列: 按照从后往前的序列搜索,遇见较大的数字就往前移,然后,后续数字按照常序排列。全排列: 利用回溯算法,不断的对数字排列进行搜索,当一种排列

2020-09-05 23:34:12 134

原创 阿里云k8s集群(创建以及部署应用)

创建k8s集群1.集群配置首先先创建集群,若没有专有网络,可以先申请一个Serverless Kubernetes的集群2. work配置点击下一步,进入work配置**3. 组件配置 **创建成功使用镜像快速创建应用1. 进入市场,点击所需要地镜像2. 设置基本信息3. 容器配置4. 高级配置5. 创建完成...

2020-09-04 23:52:45 1990 1

原创 kubeadmin K8s集群部署安装 以及部署niginx

了解了K8s是个什么以后,我们来看一下k8s的部署。K8S有几种部署,最简单的就是使用kubeadmin 进行部署,我们可以简单提一下。kubeadmin1.找到Kubernetes的官网,点击进入,在documentation页面中找到Try Kubernetes按键进入。2. 在该界面中找到Hello Minikube ,点击进入。3. 找到Launch Terminal点击按钮。等待简单运行之后,输入get pods -n kube-system 如图:但为了对于k8s有更深入的了解,

2020-09-04 23:04:15 750

原创 LeetCode每日一题 全排列 回溯算法

题目给定一个 没有重复 数字的序列,返回其所有可能的全排列,如图:分析首先看到这道题,简单的暴力算法很难得出,因为数字的个数未知,一味地将数字不断的打乱重写,有两个问题,第一是很难做到将每种可能都列举出来,另一个是,时间复杂度过高,为阶层式的叠加,一旦给的数字过多,可能无法被计算得出。看到这道题,按照我们正常的思路,应该会采取定一动一的方法来排列,这种思维方法和回溯算法的想法是一样的,比如我们先定好首个字母,以 [1,2,3] 为例,我们第一次先定好首个数字 1 ,然后求 [2,3] 的全排列,对

2020-09-03 20:12:34 173

原创 LeetCode每日一题 下一个排列

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1分析首先,我们来分析题目的要求内容,我们先来理解什么是下一个排列,算法需要给定数字序列排成更大的一个数字,在给定例子之中,123 是1,2,3,这三个数字之中能给定的最小

2020-09-02 23:27:17 147

原创 LeetCode每日一题 颜色分类 双指针

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。你能想出一个仅使用常数空间的一趟扫描算

2020-08-30 14:37:27 153

原创 LeetCode每日一题 跳跃游戏Ⅱ 贪心算法

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。贪心算法贪心算法很接近动态规划,但不同的是,动态规划是通过每部的计算,得到最优的全局解,在这个全局解中,不一定每一步都是最优解,但是一定包含着某部的最优解,且记录下

2020-08-30 11:59:49 210

原创 k8s概述(背景,组件,Master和Nobe)

概念Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行着,包括将一个容器保持持续,关闭或者其他。背景和价值首先了解 k8s的前世今生,k8s是 Kubernetes的缩写,原因是因为 K 和 s 之间有八个字母,以此来简写的。最开始是由

2020-08-28 02:19:13 704

原创 LeetCode每日一题 缺失正数 哈希表

题目给你一个未排序的数组,让你找到最小的正整数如题:我们当然可以依旧使用暴力算法界问题,但由于题目限定,时间复杂度为O(n),那么暴力算法肯定不能解决,我们可以先简单理一下暴力法的思路,即按照数组的长度,从1到 len(nums) 依次判断,每个数字都要遍历一遍数组确认是否存在,若存在,则返回,若不存在,则直接输出,时间复杂度应该为 O (n2)。今天我们主要提一下哈希表,用哈希表的算法解一下这道题:我们先了解一下什么是哈希表:哈希表哈希表的基础依旧是数列,但不一样的是有key-value作为

2020-08-27 17:30:20 118

原创 LeetCode每日一题 接雨水 动态规划

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。如图:这道题的解法依旧很简单,我们可以搜索两个相同数列,取他的指标相加减,也可以从底部向上依次累加,寻找每一层会存续的水,我们依旧先看暴力解法是否可以完成。暴力解法在暴力解法之中,我们可以一层一层的搜索,将每一层可能蓄积的水都做出来,直到最高的的水位,原理较为简单,具体注释在代码中表明,时间复杂度为 O(n2),我们可以稍微简化一下,让第二次遍历不需要遍历全部列表,具体代码如下:func trap(

2020-08-27 09:58:11 362

原创 阿里云 (ECS 部署Javaweb 以及虚拟机操作)

要想了解对比云服务的优势,首先就要切实感受一下,虚拟机部署Javaweb的操作体验,然后与云服务的操作对比,得出最后的操作体验,由于在虚拟机Linux的部署Javaweb的步骤相对重复,我们简单介绍一下,主要聊一下云服务的实际体验。虚拟机的部署javaweb1. 删除原有的,下载JDK运行环境首先要先删除原有的jdk,用rpm -qa | grep java命令,查看本机自带的jdk环境,利用rm -e --nodeps [版本号] 删除掉原有的的,然后检查,因为部分图片已失效,在此就不附图了:要

2020-08-26 12:50:44 619

原创 Docker实操 (基本命令,安装MySQL,dockerfile和上传到阿里云)

在下载完docker以后,我们就要对docker进行一些简单的操作了,首先我们要熟悉我们的docker,我们可以先运行一线helloworld,然后查看我们现有的所有的镜像文件,正如我们之前docker所说的,镜像文件是储存在仓库里的,所以,当我们查看本机内所有的docker文件是,也会出现这些属性,如图:docker的简单命令之后是一些简单的docker的命令:帮助命令: docker --help在docker hub上搜索: docker search (下载数)文件名下载镜像文件:

2020-08-23 13:22:09 246

原创 docker下载问题 Could not retrieve mirrorlist.

下载流程你可以在该网址上,按照步骤在centOS上下载和安装docker下载Docker引擎删除掉原有的插件在你的Linux系统用root权限中输入,如果你没有root权限,请在前面加上 sudoyum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine如图:安装仓库和

2020-08-23 00:23:08 1075 1

原创 Linux的基本操作 (修改,创建,改写)

首先,在之前的里博文中,Linux之中是有不同的操作权限的,首先是Owner(文件所有者), Group(和文件所有者同组的用户), Other(其他人),这三种操作权限,除此之外,还有一种“超级用户”,这个权限就是就是root权限,在初学时,我们自己应该就是root用户,所以我们可以直接用命令操作改变我们的操作权限,如下:[fitz1@promote ~]$ su root\Password: [root@promote fitz1]#在这个命令中,su 代表着改变操作权限,而前面的符号$ 和

2020-08-22 17:38:53 390

原创 LeetCode每日一题 二叉树 DFS

我们常见到的就是二叉树,而二叉树如何在代码中显示出来,则成了另外一个问题。如题:题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7]。分析这道题的难度并不高,主要是引入了我们平常认为最简单的二叉树的样例,以此来介入了解二叉树在代码之中的写法和应用。首先我们需要了解一些二叉树的简单知识:二叉树是树的一种特殊形式,而树是一个具有n(n>=0)个

2020-08-21 22:30:18 573

原创 LeetCode每日一题 电话号码 回溯算法

输入法九键,每个按键都代表着不用的字母,我们需要找到不同字影射,来进行不同序列的组成。如下是LeetCode第十七题。给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].1. 暴力法首先还是想到暴力解法,将程序遍历多次,首先要做的事情是建立好字母的字符串的映射,然后将输入的数

2020-08-21 12:11:25 230

原创 docker基础 (基本组成和虚拟机的比较)

开宗明义,什么是docker?Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。这是比较官方的定义,我们可以用一些简单通俗的话来揭示什么是docker,docker的宗旨理念能给我们很多解释: Build and Ship any Application Anywhere,这就是docker所做的,每个人都可以从镜像文件中,找到容器实

2020-08-20 16:12:55 227

原创 LeetCode每日一题 盛水容器 双指针

题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。如图:1. 暴力法首先还是用简单的思路来解答,这个题简答的可以化解为求面积最大的长方形面积,而长方形的高是两个数值之中的较小值,宽是两个数值的指针的相差,为了主程序看起来简单,我们可以设置两个比较简单的,由

2020-08-19 22:46:25 147

原创 Linux的简介 安装 以及BIOS设置问题

就像是手机有iOS和安卓系统,电脑有Windows和Mac系统,Linux也是一样的,他和Windows一样,也是电脑的操作系统。在了解Linux之前,我们要先了解什么是操作系统。首先,要了解一个计算机的系统结构,首先是硬件,包括CPU,显示卡,内存等等,硬件之上是内核,用来控制这些硬件资源的,一旦内核程序被破坏,所有系统将会崩溃,所以普通用户不能直接调用内核,为了保护内核程序,并且让研发程序更加方便,操作系统就设置了系统调用接口,工程师只要遵循这一套系统调用接口,就可以让软件在内核上运营了,而操作系统

2020-08-19 14:23:07 3577

原创 leetCode每日一题 回文 动态规划

题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 :输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。1.暴力解法首先我们可以依旧先用比较简单的思路来解决这个问题,就是遍历每一个字符串,在每一个字符上,都找到所有以该字符为首的任意长度的字符串,并判断这个字符串是否为回文串。我们先创建一个判断回文串的包。func Palindrome (s string) bool{ for i:=0; i<len(s

2020-08-18 18:34:09 200

原创 leetCode每日一题 寻找中位数

题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。分析单看题目寻找中位数而言,可以简化为寻找两个数列中的第n位数字,可以通过利用指针,对于两个数列中大小比较的,直至找到最中间的一个数或两个数,由于要求时间复杂度为O(log(m + n)),可以得知题主可能想使用要用到二分法寻找指定数,如果抛去时间复杂度这个附加条件,我们可以

2020-08-17 22:11:55 1701

原创 leetCode 练习题

第三题给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。本题采纳了Will Xu的解法func lengthOfLongestSubstring(s string) int {//先申明初始值和结束值begin:=0end := 0for i := 0; i < len(s); i++ { //找到是否有重复 index := strin

2020-08-13 11:41:59 158

原创 Go语言学习笔记

什么是go语言?就像Java,Python一样,也是一种编程语言。什么是go语言go语言是一种开源性语言,它开发与2007年,相比于Java和Python要年轻一些go语言是一种编译性语言,编译型语言相比于解释性语言少了虚拟机解释的部分,更为简洁和方便go语言是21世纪的新语言,是为了现代软件工程而生的语言。go语言特点语法简洁。只有二十五个关键字,可以看懂其他的源代码,各程序员的代码风格类似。开发效率高。自带垃圾回收,开发效率较高。执行性能好。接近于Java的性能,在某方

2020-08-11 02:10:26 184

原创 云服务,云计算,云储存学习笔记

云盘,云计算,云服务“云”相关已经进入我们视野很长时间了,但是这些词代表着什么,很多人其实并不清楚。就像大数据我们似乎也了解很多,但问起来,似乎也只有推送这个相关可以言说。其实,云代表的就是互联网,云服务,云商品,就是包括储存,计算能力,基础设施的搭建等计算机相关服务作为商品借由互联网形成交互的新型网络应用概念。...

2020-08-09 12:11:40 497

空空如也

空空如也

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

TA关注的人

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