06 2018 档案

BVT(Borrowed Virtual Time )调度算法
摘要:BVT是一种CPU时间调度算法基本原理BVT是一种公平性优先的调度算法,该算法将时间分为实际时间和虚拟时间,其中实际时间为硬件计时器记录的时间,虚拟时间为对实际时间经过某种规则计算后得到的时间值。该算法用虚拟时间来监控进程的执行时间,每次总是调度具有最早的有效虚拟时间... 阅读全文

posted @ 2018-06-30 18:00 sichenzhao 阅读(1514) 评论(0) 推荐(0)

阿里搜索秒即弹性调度
摘要:目前阿里巴巴搜索的分布式服务一般都是基于Hippo+Carbon来调度的,包括部署、扩缩容、名字服务注册。如下图:其中:Hippo:一层调度(资源调度),解决机器资源分配问题,将一个物理机分成很多资源,根据应用单机不同的资源需求动态创建不同规格的容器(Docker)。... 阅读全文

posted @ 2018-06-28 22:43 sichenzhao 阅读(314) 评论(0) 推荐(0)

阿里搜索hippo架构
摘要:hippo是目前阿里搜索主要的调度系统,hippo是一套分布式调度系统。与YARN和K8s的目的相同,都是提供为集群资源调度服务。hippo架构hippo是典型的master-slave架构,这与YARN类似,多个master通过zookeeper选主做failove... 阅读全文

posted @ 2018-06-28 21:27 sichenzhao 阅读(784) 评论(0) 推荐(0)

淘宝TPP系统解析
摘要:TPP(Taobao Personalization Platform, 也称阿里推荐平台 ) 平台承接了阿里集团300+重要个性化推荐场景,包括手淘首页猜你喜欢、首图个性化、购物链路等。除了提供应用层面的支持和封装,还肩负着机器分配和维护各场景运行稳定的重任。理想情... 阅读全文

posted @ 2018-06-28 20:09 sichenzhao 阅读(870) 评论(0) 推荐(0)

Yarn Scheduler Load Simulator (SLS)-调度算法选择源码解析
摘要:如何为SLS选择调度算法。这里谈下本人的理解sls通过slsrun.sh脚本来运行,其中要加入配置文件sls-runner.xml。在该配置文件中,有关于调度算法的配置: org.apache.hadoop.yarn.server.resourc... 阅读全文

posted @ 2018-06-23 15:03 sichenzhao 阅读(219) 评论(0) 推荐(0)

Kubernetes scheduler V2草案
摘要:大家都知道目前Kubernetes的调度器在可扩展性和性能上面还存在很多不足,在业界,不管是国内外大企业还是创业的新型云服务公司在面临调度的一系列本地化需求时都会自己定制或者使用webhook机制来兼容,但仍然要面临定制后不好和官方同步改动和webhook性能太差不够... 阅读全文

posted @ 2018-06-20 21:53 sichenzhao 阅读(168) 评论(0) 推荐(0)

Yarn Scheduler Load Simulator (SLS)-调度模拟器
摘要:YARN的调度器和调度算法总是一个让人感兴趣的方面。比如FIFO,capacity和fair调度算法。每个调度算法都有其自己的特征,而调度的决策受许多因素影响,如公平性、容量保证和资源的可靠性等。在部署一个调度算法到生产集群之前,评估一个调度算法是非常重要的,不幸的是... 阅读全文

posted @ 2018-06-20 20:22 sichenzhao 阅读(752) 评论(0) 推荐(0)

k8s-kubectl进程源码分析
摘要:kubectl与之前的kubernetes进程不同,它不是一个后台运行的守护进程,而是kubernetes提供的一个命令行工具(CLI),它提供了一组命令来操作kubernetes集群。kubectl入口类源码位置如下:/cmd/kubectl/kubectl.gof... 阅读全文

posted @ 2018-06-13 17:07 sichenzhao 阅读(759) 评论(0) 推荐(0)

k8s-kubelet进程初始化源码分析
摘要:kubelet命令的入口类源码位置如下:/cmd/kubelet/kubelet.go入口main函数如下:func main() { rand.Seed(time.Now().UTC().UnixNano()) command := app.NewKubeletCo... 阅读全文

posted @ 2018-06-10 15:51 sichenzhao 阅读(334) 评论(0) 推荐(0)

k8s-kube-proxy运行机制分析
摘要:在每个Node上都会运行一个kube-proxy服务进程,这个进程可以看做service的透明代理和负载均衡器。其核心功能是将某个service的访问请求转发到后端的某个Pod上。对每一个TCP类型的service,kube-proxy都会在本地Node上建立一个so... 阅读全文

posted @ 2018-06-09 17:49 sichenzhao 阅读(451) 评论(0) 推荐(0)

k8s-kubelet运行机制分析
摘要:在每个Node节点(又称minion)上都会启动一个kubelet服务进程,该进程用于处理Master节点下发到本节点的任务。管理Pod和Pod中的容器。每个kubelet进程会在API server注册节点自身信息,定期汇报节点资源使用情况。节点管理节点通过设置ku... 阅读全文

posted @ 2018-06-09 16:41 sichenzhao 阅读(474) 评论(0) 推荐(0)

k8s-scheduler原理分析
摘要:scheduler在整个系统中承担了承上启下的重要功能,承上是指它负责接收controller manager创建新的Pod,为其安排一个落脚的目标Node,启下是指安置工作完成后,目标Node上的kubelet服务进程接管后继工作。也就是说scheduler的作用是... 阅读全文

posted @ 2018-06-09 15:39 sichenzhao 阅读(452) 评论(0) 推荐(0)

k8s-controller manager原理分析
摘要:controller manager作为集群内部的管理控制中心,负责集群内的Node,Pod副本,服务端点(endpoint),命名空间(namespace)等的管理,当某个Node意外宕机,CM会及时发现此故障并执行自动化修复流程,确保集群始终处于预期的工作状态。如... 阅读全文

posted @ 2018-06-09 12:04 sichenzhao 阅读(672) 评论(0) 推荐(0)

k8s-API server原理分析
摘要:我们都知道, k8s的API server核心功能是提供了k8s各类资源对象(Pod,RC,service)的增,删,改,查及HTTP REST接口。server是通过一个名为kube-apiserver的进程提供服务。该进程运行在master节点上,默认情况下,在本... 阅读全文

posted @ 2018-06-09 10:58 sichenzhao 阅读(481) 评论(0) 推荐(0)

k8s安装与配置
摘要:一、k8s安装最简单的安装方法是使用yum install kubernetes命令,但仍需修改各组件的启动参数,才能完成配置。也可以下载二进制包,手动配置安装。k8s master节点安装部署etcd,kube-apiserver,kube-controller-m... 阅读全文

posted @ 2018-06-08 22:10 sichenzhao 阅读(617) 评论(0) 推荐(0)

k8s基本概念与术语
摘要:k8s大部分概念比如Node,Pod、RC,service等都可以看做一种资源对象,几乎所有的资源对象都可以通过k8s提供的kubectl工具执行增,删,改,查等操作并将其保存在etcd中持久化存储。1.mastermaster指的是集群控制节点,来负责整个集群的管理... 阅读全文

posted @ 2018-06-08 19:48 sichenzhao 阅读(444) 评论(0) 推荐(0)

k8s简单实例-java web tomcat
摘要:此java web应用简单,是一个运行在Tomcat的Web App。如下图所示:通过浏览器http协议访问此应用,会显示一个表格的页面,数据来自数据库。此应用需要启动两个容器,web app容器和my sql容器,并且web app容器需要访问mysql容器。在do... 阅读全文

posted @ 2018-06-08 12:12 sichenzhao 阅读(626) 评论(0) 推荐(0)

kubernetes是什么
摘要:首先,它是全新的基于容器技术(docker,rocket)的分布式架构领先方案 。是谷歌保密了十几年的秘密武器-borg的一个开源版本。borg是谷歌内部使用的大规模集群管理系统。其次,kubernetes的设计思想是全自动管理,不必再费心于负载均衡器的选型和部署实施... 阅读全文

posted @ 2018-06-08 00:05 sichenzhao 阅读(199) 评论(0) 推荐(0)

k8s-kubectl功能源码分析
摘要:kubernetes里的命令行接口叫做kubectl,用来控制kubernetes集群,我们要追踪的命令是kubectl create -f-会从指定文件创建k8s资源,我们要创建的资源是使用了nginx基础镜像的单副本pod。首先是kubectl命令的创建,在/cm... 阅读全文

posted @ 2018-06-07 15:12 sichenzhao 阅读(517) 评论(0) 推荐(0)

k8s-kubelet功能源码分析
摘要:kubelet这是k8s中的一种服务,每个节点上都会运行kubelet服务进程,默认监听10250端口,接收并执行master发来的指令,管理pod和pod中的容器。定期向master节点汇报资源使用情况。一、kubelet启动流程kubelet是作为一个cmd命令运... 阅读全文

posted @ 2018-06-06 19:21 sichenzhao 阅读(266) 评论(0) 推荐(0)

k8s源码架构目录分析
摘要:api: 输出接口文档用,基本是json源码build:构建脚本cmd:所有的二进制可执行文件入口代码,也就是各种命令的接口代码。pkg:项目diamante主目录,cmd只是接口,这里是具体实现。cmd类似业务代码,pkg类似核心plugin:插件test:测试相关... 阅读全文

posted @ 2018-06-06 16:29 sichenzhao 阅读(388) 评论(0) 推荐(0)

YARN-client提交任务处理过程
摘要:Client向RM提交任务的过程大致分为七步,如下图:1. Client向RM发出请求2. RM返回一个ApplicationID作为回应3. Client向RM回应Application Submission Context(ASC)。ASC包括Applicatio... 阅读全文

posted @ 2018-06-05 21:38 sichenzhao 阅读(963) 评论(0) 推荐(0)

资源控制平台介绍与YARN的优缺点
摘要:Yarn脱胎于MRv1,并克服了MRv1的种种不足。先来看看MRv1让人诟病的地方,主要是可靠性差、扩展性差、资源利用率低、无法支持异构的计算框架:1.可靠性差: MRv1是主从架构,主节点的JobTracker一旦出现问题就会导致整个集群不可用。2.扩展性差: MR... 阅读全文

posted @ 2018-06-05 15:13 sichenzhao 阅读(571) 评论(0) 推荐(0)

wordpress下载主题出现FTP窗口
摘要:在wordpress主题商店下载主题时,会弹出FTP的上传窗口,要求输入服务器的域名,以及用户名和密码。这对于本地安装的用户而言显然无法使用。方法:在wp-config.php文件的最后一行后加入如下语句:define("FS_METHOD", "direct"); ... 阅读全文

posted @ 2018-06-04 20:59 sichenzhao 阅读(161) 评论(0) 推荐(0)

centos+apache+mysql+php搭建wordpress
摘要:wordpress是很好用的博客框架,轻量化,易配置部署。非常适用于个人博客建站。本篇博客在centos上搭建wordpress,与服务器搭建步骤基本类似,服务器只需要购买域名就可以实现公开化了。wordpress官网给出了对于安装该框架的环境配置需求:1.PHP 7... 阅读全文

posted @ 2018-06-04 20:02 sichenzhao 阅读(145) 评论(0) 推荐(0)

centos安装php7.2
摘要:目前php最高稳定版本是7.2,wordpress中也建议采用该版本。若直接采用centos中的yum安装:sudo yum -y install php,版本是5.4,远远不够,因此我们要手动更新rpm即可。首先获取rpm:rpm -Uvh https://dl.f... 阅读全文

posted @ 2018-06-04 16:17 sichenzhao 阅读(170) 评论(0) 推荐(0)

centos7安装my sql 5.7
摘要:如果直接运行: sudo yum install sql-server, 会导致报错,找不到该sql,因CentOS已经使用MariaDB替代了MySQL,如直接输入“yum install mysql-server”则安装MariaDB。因此需要通过手动安装my s... 阅读全文

posted @ 2018-06-04 14:14 sichenzhao 阅读(210) 评论(0) 推荐(0)

Hadoop2源码分析-YARN RPC 示例介绍
摘要:原博客:https://www.cnblogs.com/smartloli/p/4664842.2.YARN的RPC介绍 我们知道在Hadoop的RPC当中,其主要由RPC,Client及Server这三个大类组成,分别实现对外提供编程接口、客户端实现及服务端实现。... 阅读全文

posted @ 2018-06-02 11:22 sichenzhao 阅读(374) 评论(0) 推荐(0)

导航