自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘超的通俗云计算

刘超的通俗云计算

  • 博客(81)
  • 资源 (12)
  • 收藏
  • 关注

原创 Qemu,KVM,Virsh傻傻的分不清

当你安装了一台Linux,想启动一个KVM虚拟机的时候,你会发现需要安装不同的软件,启动虚拟机的时候,有多种方法:virsh startkvm命令qemu命令qemu-kvm命令qemu-system-x86_64命令这些之间是什么关系呢?请先阅读上一篇《我是虚拟机内核我困惑》有了上一篇的基础,我们就能说清楚来龙去脉。首先看qemu,其中关键字emu,全称emulator,模拟器,所以单纯使用qe...

2018-03-07 16:12:45 1329 2

原创 我是虚拟机内核我困惑?!

内核,是指的操作系统内核。所有的操作系统都有内核,无论是Windows还是Linux,都管理着三个重要的资源:计算,网络,存储。计算指CPU和内存,网络即网络设备,存储即硬盘之类的。内核是个大管家,想象你的机器上跑着很多的程序,有word,有excel,看着视频,听着音乐,每个程序都要使用CPU和内存,都要上网,都要存硬盘,如果没有一个大管家管着,大家随便用,就乱了。所以需要管家来协调调度整个资源...

2018-03-06 20:24:51 1959 1

原创 不是技术也能看懂云计算,大数据,人工智能

我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提大数据,谈人工智能的时候也会提云计算。所以说感觉他们又相辅相成不可分割,如果是非技术的人员来讲可能比较难理解说这三个之间的相互关系,所以有必要解释一下。 一、云计算最初是实现资源管理的灵活性 我们首先...

2018-03-04 17:46:37 12251 1

原创 有了Openvswitch和Docker,终于可以做《TCP/IP详解》的实验了!

所有做过网络编程的程序员,想必都会看《TCP/IP详解》卷一:协议后来出了第二版,但是由于第一版才是Rechard Stevens的原版,本人还是多次看了第一版。对这一版印象最深的就是下面这个拓扑图书...

2018-03-02 14:31:42 2018

原创 史上最容易懂的云计算的前世今生

云计算的整个过程,用一个词来讲就是“分久必合,合久必分”。云计算其实主要解决了四个方面的内容:计算,网络,存储,应用。前三者是资源层面的,最后是应用层面的。计算是CPU和内存,为啥?1+1这个最简单的算法是把1放在内存里面,运行加法是CPU做的,做完了结果2又保存在内存里面。网络就是你插根网线能上网。存储就是你下个电影有地方放。本次讨论就是围绕这四个部分来讲的。 在原始社会,大家最爱用的是物理设备...

2016-12-28 19:40:44 6530 1

原创 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台

深入解析DC/OS 1.8– 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享。先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区贡献者,长期专注于OpenStack, Docker, Mesos等开源软件的企业级应用与产品化。从事容器方面工作的朋友可能已经听说过DC/OS,往往大家误解DC/

2016-10-04 23:26:27 6248

原创 Mesos源码分析

Mesos源码分析(2): Mesos Master的启动之一Mesos源码分析(3): Mesos Master的启动之二Mesos源码分析(4): Mesos Master的启动之三Mesos源码分析(5): Mesos Master的启动之四Mesos源码分析(6): Mesos Master的初始化Mesos源码分

2016-10-04 23:24:41 2214

原创 Openvswitch原理与代码分析(8): 修改Openvswitch代码添加自定义action

有时候我们需要自定义一些自己的action,根据包头里面的信息,做一些自己的操作。 例如添加一个action名为handle_example 第一、修改ofp-actions.c文件 首先在ofp-actions.c里面添加Openflow各个版本的这个actionstatic const struct ofpac

2016-09-25 20:06:32 1832

原创 Openvswitch原理与代码分析(7): 添加一条流表flow

添加一个flow,调用的命令为ovs-ofctl add-flow hello "hard_timeout=0 idle_timeout=0 priority=1 table=21 pkt_mark=0x55 tun_id=0x55 actions=mod_nw_dst:192.168.56.101,output:2"这里调用的是调用ovs/utilities/ovs-ofctl.

2016-09-24 22:33:44 2188

原创 Openvswitch原理与代码分析(6):用户态流表flow table的操作

当内核无法查找到流表项的时候,则会通过upcall来调用用户态ovs-vswtichd中的flow table。会调用ofproto-dpif-upcall.c中的udpif_upcall_handler函数。static void *udpif_upcall_handler(void *arg){    struct handl

2016-09-24 00:13:15 1538

原创 Openvswitch原理与代码分析(5): 内核中的流表flow table操作

当一个数据包到达网卡的时候,首先要经过内核Openvswitch.ko,流表Flow Table在内核中有一份,通过key查找内核中的flow table,即可以得到action,然后执行action之后,直接发送这个包,只有在内核无法查找到流表项的时候,才会到用户态查找用户态的流表。仅仅查找内核中flow table的情况被称为fast path.  第一步:从数

2016-09-19 22:22:19 1782

原创 Openvswitch原理与代码分析(4):网络包的处理过程

在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用。 static struct sk_buff *netdev_frame_hook(struct sk_buff *skb){   if (unlikely

2016-09-13 23:40:43 1782

原创 Openvswitch原理与代码分析(3): openvswitch内核模块的加载

上一节我们讲了ovs-vswitchd,其中虚拟网桥初始化的时候,对调用内核模块来添加虚拟网卡。 我们从openvswitch内核模块的加载过程,来看这个过程。 在datapath/datapath.c中会调用module_init(dp_init);来初始化内核模块。 static int __init dp_init(

2016-09-13 23:40:07 1625

原创 Openvswitch原理与代码分析(2): ovs-vswitchd的启动

ovs-vswitchd.c的main函数最终会进入一个while循环,在这个无限循环中,里面最重要的两个函数是bridge_run()和netdev_run()。  Openvswitch主要管理两种类型的设备,一个是创建的虚拟网桥,一个是连接到虚拟网桥上的设备。 其中bridge_run就是初始化数据库中已经创建的虚拟网桥。 一、

2016-09-13 23:39:10 2119

原创 Openvswitch原理与代码分析(1):总体架构

一、Opevswitch总体架构 Openvswitch的架构网上有如下的图表示:   每个模块都有不同的功能ovs-vswitchd 为主要模块,实现交换机的守护进程daemon 在Openvswitch所在的服务器进行ps aux可以看到以下的进程root 1008 0.

2016-09-13 23:38:10 5562 3

原创 Mesos源码分析(16): mesos-docker-executor的运行

mesos-docker-executor的运行代码在src/docker/executor.cpp中 int main(int argc, char** argv){  GOOGLE_PROTOBUF_VERIFY_VERSION;   mesos::internal::docker::Flags flags;

2016-08-06 22:35:25 1223

原创 Mesos源码分析(15): Test Executor的运行

Test Executor的代码在src/examples/test_executor.cpp中 int main(int argc, char** argv){  TestExecutor executor;  MesosExecutorDriver driver(&executor);  return driver

2016-08-06 22:34:40 1480

原创 Mesos源码分析(14): DockerContainerier运行一个Task

DockerContainerizer的实现在文件src/slave/containerizer/docker.cpp中 Futurebool> DockerContainerizer::launch(    const ContainerID& containerId,    const ExecutorInfo& executorIn

2016-08-06 22:33:47 818

原创 Mesos源码分析(13): MesosContainerier运行一个Task

MesosContainerizer的实现在文件src/slave/containerizer/mesos/containerizer.cpp中 Futurebool> MesosContainerizer::launch(    const ContainerID& containerId,    const TaskInfo& tas

2016-08-06 22:32:44 1191

原创 Mesos源码分析(12): Mesos-Slave接收到RunTask消息

在前文Mesos源码分析(8): Mesos-Slave的初始化中,Mesos-Slave接收到RunTaskMessage消息,会调用Slave::runTask. void Slave::runTask(    const UPID& from,    const FrameworkInfo& frameworkInfo,  

2016-08-06 22:30:29 968

原创 Mesos源码分析(11): Mesos-Master接收到launchTasks消息

根据Mesos源码分析(6): Mesos Master的初始化中的代码分析,当Mesos-Master接收到launchTask消息的时候,会调用Master::launchTasks函数。 void Master::launchTasks(    const UPID& from,    const FrameworkID& fram

2016-08-06 22:28:17 850

原创 Mesos源码分析(10): MesosSchedulerDriver的启动及运行一个Task

MesosSchedulerDriver的代码在src/sched/sched.cpp里面实现。  Driver->run()调用start()  首先检测Mesos-Master的leader   创建一个线程。 SchedulerProcess的initialize(

2016-08-06 22:27:06 1049

原创 Mesos源码分析(9): Test Framework的启动

我们以Test Framework为例子解释Framework的启动方式。Test Framework的代码在src/examples/test_framework.cpp中的main函数首先要指定executor的uri 配置ExecutorInfo 配置FrameworkInfo 创建TestSchedul

2016-08-06 22:26:12 897

原创 Mesos源码分析(8): Mesos-Slave的初始化

Mesos-Slave的初始化在文件src/slave/slave.cpp里面  首先初始化资源预估器 初始化attributes 初始化hostname  初始化statusUpdateManager 注册一系列处理函数。 对于Slave注册成功

2016-07-26 23:52:24 1118

原创 Mesos源码分析(7): Mesos-Slave的启动

Mesos-Slave的启动是从src/slave/main.cpp中的main函数开始的。 看过了Mesos-Master的启动过程,Mesos-Slave的启动没有那么复杂了。 1. slave::Flags flags 解析命令行参数和环境变量 Try load = flags.load("MESOS_", argc, argv);

2016-07-26 23:29:27 2646

原创 Mesos源码分析(6): Mesos Master的初始化

Mesos Master的初始化在src/master/master.cpp中  在Mesos Master的log中,是能看到这一行的。 1.初始化role,并设置weight权重   2. 初始化Allocator  注意,Allocator的initialize函数

2016-07-25 23:12:10 1145

原创 Mesos源码分析(5): Mesos Master的启动之四

5. Create an instance of allocator. 代码如下 Mesos源码中默认的Allocator,即HierarchicalDRFAllocator的位置在$MESOS_HOME/src/master/allocator/mesos/hierarchical.hpp,而DRF中对每个Framework排序的Sorter位于$MESOS_HOME/src

2016-07-24 23:05:34 3564

原创 Mesos源码分析(4): Mesos Master的启动之三

3. ModuleManager::load(flags.modules.get())如果有参数--modules或者--modules_dir=dirpath,则会将路径中的so文件load进来 代码中加载模块的代码如下  对应的命令行参数如下:   都可以写什么Module呢? 首先是All

2016-07-24 23:02:54 1761

原创 Mesos源码分析(3): Mesos Master的启动之二

2. process::firewall::install(move(rules));如果有参数--firewall_rules则会添加规则 对应的代码如下:// Initialize firewall rules.if (flags.firewall_rules.isSome()) {vector> rules; const Firew

2016-07-24 09:59:06 982

原创 Mesos源码分析(2): Mesos Master的启动之一

Mesos-Master的启动在src/master/main.cpp文件中进行1. master::Flags flags 解析命令行参数和环境变量https://mesosphere.com/blog/2015/05/14/using-stout-to-parse-command-line-options/封装了Google的gflags来解析命令行参数和环境变

2016-07-19 15:21:57 4044

原创 DCOS实践分享(6):基于DCOS的大数据应用分享

Open DC/OS大中华区官方发布会在京隆重召开DCOS领域诞生了一个100%开源的企业级Datacenter Operating System版本,即DC/OS。Linker Networks及其合作伙伴Microsoft, Cisco, HPE, Mesosphere, Verizon等于4月19日开启全球发布,而Linker Networks作为初创会员也是承办方于5月20

2016-06-08 23:42:08 558

原创 DCOS实践分享(5):Open DCOS深入分析

2016/05/18(三) 09:30OpenDC/OS研討會暨工作坊指導單位:經濟部、科技部主辦單位:工業技術研究院、Linker Networks協辦單位:Microsoft、資通訊產業聯盟、台灣雲端運算產業協會活動地點:台大醫院國際會議中心(台北市中正區徐州路2號)各位,你們有聽過OpenDC/OS嗎?OpenD

2016-06-08 23:37:40 993

原创 DCOS实践分享(4):如何基于DC/OS整合SMACK(Spark, Mesos, Akka, Cassandra, Kafka)

这篇文章入选CSDN极客头条http://geek.csdn.net/news/detail/71572当前,要保证业务的市场竞争力,仅靠设计一个可用并且好看的产品,已经完全不能满足要求。全球消费者都希望产品能够足够的智能化,通过大数据分析来改善他们的用户体验。简言之,物联网和大数据终将成为改变生活的技术驱动力。近几年涌现了大量的技术架构与设计模式,开发者和科学家可以利

2016-06-08 23:24:02 2589

原创 DCOS实践分享(3):基于Mesos 和 Docker 企业级移动应用实践分享

2016年1月24日 8:00—19:00 北京万豪酒店(东城区建国门南大街7号)@Container大会是由国内容器社区DockOne组织的专为一线开发者和运维工程师设计的顶级容器技术会议,会议强调实践和交流,话题设置围绕容器、运维、云计算等技术领域,力求全方位、多角度为参会者解读容器技术。在容器技术大会上,我分享了《基于Mesos 和 Docker 企业级移动应用实践分享》

2016-06-08 23:20:05 806

原创 DCOS实践分享(2):基于Docker Compose和Swarm的Docker化之路

2016 年1 月 23 日,北京史上气温最低的一天。在下午 1 点半的时候,由 DaoCloud 赞助的 2016 年度首次 Docker Meetup 准时开始。 在这次Meetup中,我分享了《基于Docker Compose和Swarm的Docker化之路》下载链接http://download.csdn.net/detail/popsuper1

2016-06-08 23:02:22 859

原创 DCOS实践分享(1):基于图形化模型设计的应用容器化实践

2015年11月29日,Mesos Meetup 第三期 - 北京技术沙龙成功举行。本次活动由数人科技CTO 肖德时 和 Linker Networks 的 Sam Chen 一起组织发起。在这次meetup中,我分享了>ppt下载http://download.csdn.net/detail/popsuper1982/9544928上图片

2016-06-08 21:04:39 677

原创 Hadoop源码分析:Hadoop编程思想

60页的ppt讲述Hadoop的编程思想下载地址http://download.csdn.net/detail/popsuper1982/9544904

2016-06-08 20:43:56 557

原创 Hadoop源码分析(3): Hadoop的运行痕迹

在使用hadoop的时候,可能遇到各种各样的问题,然而由于hadoop的运行机制比较复杂,因而出现了问题的时候比较难于发现问题。本文欲通过某种方式跟踪Hadoop的运行痕迹,方便出现问题的时候可以通过这些痕迹来解决问题。一、环境的搭建为了能够跟踪这些运行的痕迹,我们需要搭建一个特殊的环境,从而可以一步步的查看上一节提到的一些关键步骤所引起的变化。我们首先搭建一个拥有

2016-06-08 20:41:50 1555

原创 hadoop源码分析(2):Map-Reduce的过程解析

一、客户端Map-Reduce的过程首先是由客户端提交一个任务开始的。提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的:public static RunningJob runJob(JobConf job) throws IOException {  //首先生成一个JobClient对象  JobClient jc

2016-06-08 20:39:49 542

原创 Hadoop源码分析(1):HDFS读写过程解析

一、文件的打开1.1、客户端HDFS打开一个文件,需要在客户端调用DistributedFileSystem.open(Path f, int bufferSize),其实现为:public FSDataInputStream open(Path f, int bufferSize) throws IOException {  return new DFSC

2016-06-08 20:36:43 1557

openstack虚拟机创建的50个步骤和100个知识点

openstack虚拟机创建的50个步骤和100个知识点

2014-11-04

Big Data Over DCOS

大数据,DCOS, Mesos

2016-06-08

DCOS深入分析

DCOS深入分析

2016-06-08

领科云基于Mesos和Docker的企业移动应用实践分享

领科云基于Mesos和Docker的企业移动应用实践分享

2016-06-08

基于Docker Compose和Swarm的Docker化之路

基于Docker Compose和Swarm的Docker化之路

2016-06-08

基于图形化模型设计的应用容器化

基于mesos和docker的应用容器化

2016-06-08

Hadoop学习总结

Hadoop 学习总结

2016-06-08

Hadoop编程思想

Hadoop编程思想

2016-06-08

Lucene 原理与代码分析

Lucene 3.0代码分析

2016-06-08

Neutron的PPT帮助你理解Neutron的各种细节

干货分享:Neutron的PPT,帮助你理解Neutron的各种细节

2016-05-31

Libvirt Qemu KVM 教程大全

Libvirt Qemu KVM 教程大全

2015-09-22

Openvswtich实验教程

干货分享: 长达150页的openvswitch的ppt,不实验无真相

2015-09-22

空空如也

空空如也

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

TA关注的人 TA的粉丝

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