集群技术

Kafka集群搭建

眉间皱痕 提交于 2019-12-26 23:10:11
Kafka初识 Kafka使用背景 在我们大量使用分布式数据库、分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户的搜索关键词进行统计,分析出当前的流行趋势 有些数据,存储数据库浪费,直接存储硬盘效率又低 这些场景都有一个共同点: 数据是由上游模块产生,上游模块,使用上游模块的数据计算、统计、分析,这个时候就可以使用消息系统,尤其是分布式消息系统! Kafka的定义 What is Kafka:它是一个分布式消息系统,由linkedin使用scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。具有高水平扩展和高吞吐量。 Kafka和其他主流分布式消息系统的对比 定义解释: Java 和 scala都是运行在JVM上的语言。 erlang和最近比较火的和go语言一样是从代码级别就支持高并发的一种语言,所以RabbitMQ天生就有很高的并发性能,但是 有RabbitMQ严格按照AMQP进行实现,受到了很多限制。kafka的设计目标是高吞吐量,所以kafka自己设计了一套高性能但是不通用的协议,他也是仿照AMQP( Advanced Message Queuing Protocol 高级消息队列协议)设计的。 事物的概念:在数据库中

从零开始入门 K8s | Kubernetes 调度和资源管理

荒凉一梦 提交于 2019-12-26 16:54:33
作者 | 子誉 蚂蚁金服高级技术专家 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 Kubernetes 调度过程 首先来看第一部分 - Kubernetes 的调度过程。如下图所示,画了一个很简单的 Kubernetes 集群架构,它包括了一个 kube-ApiServer,一组 Web-hook Controllers,以及一个默认的调度器 kube-Scheduler,还有两台物理机节点 Node1 和 Node2,分别在上面部署了两个 kubelet。 我们来看一下,假如要向这个 Kubernetes 集群提交一个 pod,它的调度过程是什么样的一个流程? 假设我们已经写好了一个 yaml 文件,就是下图中的橙色圆圈 pod1,然后往 kube-ApiServer 里提交这个 yaml 文件。 此时 ApiServer 会先把这个待创建的请求路由给我们的 webhook Controllers 进行校验。 通过校验之后,ApiServer 会在集群里面生成一个 pod,此时生成的 pod,它的 nodeName 是空的,并且它的 phase 是 Pending 状态。在生成了这个 pod 之后,kube-Scheduler 以及 kubelet 都能 watch 到这个 pod 的生成事件,kube-Scheduler

Kubernetes简介

天涯浪子 提交于 2019-12-26 10:10:35
Kubernetes简介 此文旨在以简明清晰的方式简要介绍Kubernetes的缘由、原理和架构。读者需要对容器技术有所了解。 Kubernetes缘由 在传统的 PaaS上,用户必须为不同语言、不同框架区分不同的打包方式,这个打包过程是非常具有灾难性的。而现实往往更糟糕,当在本地跑的好好的应用,由于和远端环境的不一致,在打包后却需要在云端各种调试,最终才能让应用“平稳”运行。 Docker的出现改变了这一切,它凭借容器技术解决了这个问题,大大方便了交付、测试和部署应用。 然而,在Docker容器技术被炒得热火朝天之时,大家发现,如果想要将Docker应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。于是,人们迫切需要一套管理系统,对Docker及容器进行更高级更灵活的管理。 于是,Kubernetes(K8S)就出现了。 Kubernetes是Google开源的容器集群管理系统,能提供一个以“容器为中心的基础架构”。Kubernetes的目标是让部署容器化的应用简单并且高效。它支持自动化部署、大规模可伸缩、应用容器化管理。 简要原理 Kubernetes将资源高度抽象化,允许将容器化的应用程序部署到集群中。在新的部署模型中,应用程序被直接安装到特定的机器上

kubeadm安装kubernetes 1.13.1集群完整部署记录

家住魔仙堡 提交于 2019-12-26 07:13:19
k8s是什么   Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统。在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是容器到容器云后的产物。但是k8s并不是万能,并不一定适合所有的云场景。官方有一段" What Kubernetes is not "的解释可能更有利我们的理解。   Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统。我们保留用户选择的自由,这非常重要。   Kubernetes 不限制支持的应用程序类型。 它不插手应用程序框架 (例如 Wildfly ), 不限制支持的语言运行时 (例如 Java, Python, Ruby),只迎合符合 12种因素的应用程序 ,也不区分”应用程序”与”服务”。Kubernetes 旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。如果应用可以在容器中运行,它就可以在 Kubernetes 上运行。   Kubernetes 不提供作为内置服务的中间件 (例如 消息中间件)、数据处理框架 (例如 Spark)、数据库 (例如 mysql)或集群存储系统 (例如 Ceph)。这些应用可以运行在 Kubernetes 上。   Kubernetes

规模化落地云原生,阿里云即将重磅亮相 KubeCon China

巧了我就是萌 提交于 2019-12-25 07:28:44
2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon + Open Source Summit(上海 )即将在中国上海盛装启幕。 继 2018 年 KubeCon 首次成功登陆中国,本届 KubeCon 将吸引来自全世界数千名技术人员将会参加此次盛会,参与CNCF 全部项目和话题的深度探讨和案例分析,聆听 CNCF 项目的运维者和最终用户的分享。 本届 KubeCon + CloudNativeCon + Open Source Summit 大会项目委员会由 75 名专家组成,审阅 KubeCon + CloudNativeCon 的 618 项提案,在本次 KubeCon China 2019 上,阿里巴巴共有 26 个技术演讲入选。 在本次 KubeCon 上,阿里云智能容器平台负责人丁宇(叔同)、 CNCF TOC、etcd 项目作者、阿里云容器平台资深技术专家李响,CNCF 大使、Kubernetes 项目维护者、阿里云高级技术专家张磊等众多云原生技术大咖都会悉数到场并做技术分享,同时会为您带来包括开源 Virtual Cluster 强多租户设计、 OpenKruise 开源项目、开放云原生应用中心(Cloud

大数据(hadoop)

人盡茶涼 提交于 2019-12-24 23:48:45
大数据基础平台 大数据:通俗就是收集、分析、处理大量的数据,然后从中获得结果的技术总称 大数据应用领域 广告、金融、能源生物、安全、电商等等 大数据的技术 批处理框架 历史性数据,有源有结束点 离线型数据 能处理全部的历史性数据 Apache MapReduce 流处理框架 处理实时性数据 源源不断的处理数据 Apache samza Apache storm 混合处理框架 既有批处理也有流处理 Apache flink Apache spark 项目定义 可靠的,可扩展的开源软件 是一个大数据处理框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。 可以从单个服务器扩展到数千台计算机 集群中的媚态计算机都提供本地计算和存储 集群不是依靠硬件来提供高可用性,而是设计了用于检测和处理应用程序层的故障,从而在计算机集群上提供高可用性服务。 hadoop的核心项目 hadoop分布式文件系统(HDFS):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。 hadoop YARN:作业调度和集群资源管理的框架。 hadoop MapReduce: 基于YARN的系统,用于并行处理大型数据集。 相关项目 Apache的其他Hadoop相关项目: Hadoop Common:支持其他Hadoop模块的常用实用程序 Ambari: 基于web的工具,用于配置

大数据篇[Hadoop]-01

我的梦境 提交于 2019-12-24 14:48:50
如约而至,你们好我是AC,就是啊晨的意思, 今天讲hadoop,是大数据开发工程师必备技术之一 好吧,废话不多说,跟我一起,先入个hadoop的门吧 文章目录 什么是Hadoop? 简单叙述: 发展历史 Hadoop特点 核心组成 HDFS架构概述 一、HDFS简介 二、HDFS组成结构以及各部分作用 1.Client(客户端) 2.NameNode(书的目录) 3.DataNode(实际的内容) 4.Secondary NameNode(辅助NameNode) YARN架构概述 MapReduce架构概述 大数据生态体系(了解知识扩展) 什么是Hadoop? 简单叙述: 为了方便理解简单叙述,关于正式介绍,百度了解即可,我就稍微总结下吧 由Apache基金会所开发的分布式系统基础架构,广泛的概念-hadoop生态圈 架构:项目整体的布局方式 集群:多个机器共同完成一件事 分布式:多个集群做不同的事 集群不一定是分布式,分布式一定是集群 主要解决:海量数据的存储和海量数据的分析计算问题。 发展历史 Lucene–Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 2001年年底成为apache基金会的一个子项目 可以说Google是hadoop的思想之源

啥叫K8s?啥是k8s?

旧城冷巷雨未停 提交于 2019-12-24 04:21:07
•Kubernetes介绍 1.背景介绍   云计算飞速发展     - IaaS     - PaaS     - SaaS   Docker技术突飞猛进     - 一次构建,到处运行     - 容器的快速轻量     - 完整的生态环境 2.什么是kubernetes   首先,他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。   Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。 Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征: 拥有一个唯一指定的名字 拥有一个虚拟IP(Cluster IP、Service IP、或VIP)和端口号 能够体统某种远程服务能力

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

霸气de小男生 提交于 2019-12-24 04:07:27
从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo)首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现在异构技术体系间作平滑迁移,解决大规模跨区域、多集群部署场景的地址发现及流量调度等问题。 面向接口代理的透明服务开发框架 我们还是从 Dubbo 是一个微服务开发框架 这个大家熟知的概念开始。就像 Spring 是开发 Java 应用的基础框架一样,我们经常会选用 Dubbo 作为开发微服务业的基础框架。Dubbo 框架的最大优势我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样(以 Java 语言为例): 1、服务定义 public interface GreetingsService { String sayHi(String name); } 2、消费方调用服务 // 和调用本地服务一样,完全透明。 @Reference

kubernetes

谁说胖子不能爱 提交于 2019-12-23 19:07:00
项目主页:http://kubernetes.io/ docker仅能在单机上部署容器,而kubernetes可以统一管理各类容器,形成集群。Kubernetes作为Docker生态圈中重要一员,是Google多年大规模容器管理技术的开源版本。Kubernetes支持GCE、vShpere、CoreOS、Azure等平台,也可以直接运行在物理机上。 Kubernetes非常适合做微服务的架构。 其主要功能如下: 1) 用户不需要关心需要多少台机器,只需要关心软件(服务)运行所需的环境。以服务为中心,你需要关心的是api,如何把大服务拆分成小服务,如何使用api去整合它们。 2) 以集群的方式运行管理容器。 3) 解决Docker跨机器容器之间的通讯问题。 4) Kubernetes的Pods自我修复机制使得容器集群总是运行在用户指定的状态。 Kubernetes有几个重要的概念: 1. Pod Pod是k8s的最基本的操作单元,包含一个或多个紧密相关的容器,类似于豌豆荚的概念。一个Pod可以被一个容器化的环境看作应用层的“逻辑宿主机”(Logical Host).一个Pod中的多个容器应用通常是紧耦合的。Pod在Node上被创建、启动或者销毁。 为什么k8s使用Pod在容器之上再封装一层呢?一个很重要的原因是Docker容器之间的通信受到Docker网络机制的限制