一.数据分布 1.数据分布理论 2.Redis数据分区 Redis Cluser采用虚拟槽分区,所有的键根据哈希函数映射到0~16383整数槽内,计算公式:slot=CRC16(key)&16383.每一个节点负责维护一部分槽以及槽所映射的键值数据 Redis虚拟槽分区的特点: 解耦数据和节点之间的关系,简化了节点扩容和收缩难度. 节点自身维护槽的映射关系,不需要客户端或者代理服务维护槽分区元数据. 支持节点.槽.键之间的映射查询,用于数据路由.在线伸缩等场景. 3.集群功能限制 key批量操作…
1. 集群调度简介 2. 调度过程 2.1 调度过程概览 2.2 Predicate(预选) 2.3 Priorities(优选) 3. 调度的亲和性 3.1 node亲和性 3.1.1 node亲和性简介 3.1.2 node亲和性硬策略示例 3.1.3 node亲和性软策略示例 3.2 pod亲和性 3.2.1 pod亲和性/反亲和性简介 3.2.2 pod亲和性/反亲和性示例 3.3 亲和性/反亲和性调度策略比较 4. Taint(污点)和Toleration(容忍) 4.1 Taint和…
Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控制器,它是为了简化在 Kubernetes 上部署.管理和运行 Prometheus 和 Alertmanager 集群. 官方提供的架构图: kubernetes也在官方的github上关于使用prometheus监控的建议: 地址:https://github.com/kubernetes/ku…
前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 Redis 在 分布式 方面的需求.当遇到 单机内存.并发.流量 等瓶颈时,可以采用 Cluster 架构方案达到 负载均衡 的目的. 本文将从 集群方案.数据分布.搭建集群.节点通信.集群伸缩.请求路由.故障转移.集群运维 等几个方面介绍 Redis Cluster. 正文 1. Redis集群方…
1.简介 为了避免单点故障,现在的应用至少会部署在两台服务器上.对于一些负载比较高的服务,会部署更多台服务器.这样,同一环境下的服务提供者数量会大于1.对于服务消费者来说,同一环境下出现了多个服务提供者.这时会出现一个问题,服务消费者需要决定选择哪个服务提供者进行调用.另外服务调用失败时的处理措施也是需要考虑的,是重试呢,还是抛出异常,亦或是只打印异常等.为了处理这些问题,Dubbo 定义了集群接口 Cluster 以及及 Cluster Invoker.集群 Cluster 用途是将多个服务提…
redis集群之REDIS CLUSTER 时间 2016-04-11 17:05:00  NoSQL_博客园 原文  http://www.cnblogs.com/zhanchenjin/p/5379112.html 主题 Redis 1. Linux系统配置 1.1. vm.overcommit_memory设置 overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0.1.2. 0, 表示内核将检查是否有足够的可用内存供应用进程使用:如果有足够的可用内存,内存申请允…
前言........... 上一篇文章我们讲了Akka Remote,理解了Akka中的远程通信,其实Akka Cluster可以看成Akka Remote的扩展,由原来的两点变成由多点组成的通信网络,这种模式相信大家都很了解,就是集群,它的优势主要有两点:系统伸缩性高,容错性更好. 集群概念 很多人很容易把分布式和集群的概念搞错,包括我也是,我一开始也以为它们两个是一样的概念,只是叫法不同而已,但其实不然,虽然它们在实际场景中都是部署在不同的机器上,但它们所提供的功能并不是一样的.举个简单的例…
一.简介 集群中Cluster Singleton 集群中有而只一个单例,可应用于集群全局调控,单一运算决策,中央命名服务或中央路由等应用场景 二.依赖 dependencies { compile group: 'com.typesafe.akka', name: 'akka-cluster-typed_2.12', version: '2.6.4' } 三.注意的问题 3.1 不要使用可能使集群分裂成多个孤岛而形成多个集群的关闭方式,如在生产环境使用auto dowing,(不仅限于)或因节…
一.前言 在之前的系列文章中介绍了redis的入门.持久化以及复制功能,如果不了解请移步至redis系列进行阅读,当然我也是抱着学习的知识分享,如果有什么问题欢迎指正,也欢迎大家转载.而本次将介绍哨兵集群相关知识,包括哨兵集群部署.哨兵原理.相关配置.故障转移等内容,正因为redis有了哨兵机制,而在很多企业(包括笔者自身的公司)采用的是哨兵模式下的redis主从. 二.哨兵(Sentinel)简介  哨兵(后文统称sentinel)是官方推荐的的高可用(HA)解决方案.在之前的文章中介绍过re…
本篇将会讲解应用部署到Kubenetes集群,集群副本集查看,集群自愈能力演示,集群扩容,滚动升级,以及回滚. 本篇是Docker&Kubenetes系列的第四篇,在前面的篇幅中,我们向Kubenetes中部署了单个应用实例.如果单个节点故障了,那么服务就不可用了,这在实际环境中是不能接受的.在实际的正式环境中,我们不仅要避免单点,还要根据负载变化动态的调整节点数量.为了实现这个目的,我们可以借助于Kubenetes的Deployment,Deployment可以创建指定数量的Pod,并有自愈能…
前言: CDH4不带yarn和spark, 因此需要自己搭建spark集群. 这边简单描述spark集群的安装过程, 并讲述spark的standalone模式, 以及对相关的脚本进行简单的分析. spark官网: http://spark.apache.org/downloads.html *)安装和部署 环境: 172.16.1.109~172.16.1.111三台机器(对应域名为tw-node109~tw-node111), centos6.4, 已部署cdh4 目标是: 搭建一个spar…
一.概述 关于Spark是什么.为什么学习Spark等等,在这就不说了,直接看这个:http://spark.apache.org, 我就直接说一下Spark的一些优势: 1.快 与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上.Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流. 2.易用 Spark支持Java.Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用.而且Sp…
学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络互通(废话) docker早在1.12版本就已经支持原生的swarm集群搭建了不用再用第三方etcd 等注册发现插件 首先第一步创建集群 docker swarm init 默认的集群地址是本机,当然也可以指定地址通过 --listen-addr 参数指定 执行完上面的命令之后显示了证明创建管理节点…
不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集群动态增加新节点 一.在新增节点配置运行环境 1.安装和其他节点相同的java环境,jdk版本要相同. 2.修改/etc/hosts配置文件,添加ip与hostname的对应关系并分发到集群各个节点. 3.关闭防火墙.相关软件工具的安装等. 4.配置ssh免密码登录,使新增节点和集群其他节点能实现免…
Hadoop Cluster Setup Purpose Prerequisites Installation Configuring Hadoop in Non-Secure Mode Configuring Environment of Hadoop Daemons Configuring the Hadoop Daemons Monitoring Health of NodeManagers Slaves File Hadoop Rack Awareness Logging Operati…
本文的集群是RabbitMq 自身的Cluster搭建 . #hosts准备: vim /etc/hosts #172.16.3.79 s1 #172.16.3.105 s2 172.16.2.10 centos-43 172.16.2.11 centos-44 #erlang cookie 设置 #path var/lib/rabbitmq/ chmod 755 .erlang.cookie vi .erlang.cookie cookie chomd 600 .erlang.cookie #…
0.前言 应许多网友的要求,特此录制一下k8s集群部署的视频.在录制完成后发现视频的声音存在一点瑕疵,不过不影响大家的观感. 一.视频说明 1.视频地址: 如果有不懂,或者有疑问的欢迎留言.视频分为两段. 第一段:k8s集群部署01: 地址:https://www.bilibili.com/video/av34292683/?p=1 第一段:k8s集群部署02: 地址:https://www.bilibili.com/video/av34292683/?p=2 asp.net core 交流群:…
节点职责单一,各司其职 elasticSearch的配置文件中有2个参数:node.master和node.data.这两个参 数搭配使用时,能够帮助提供服务器性能. 数据节点node.master: false node.data: true 该node服务器只作为一个数据节点,只用于存储索引数据.使该node服务器功能 单一,只用于数据存储和数据查询,降低其资源消耗率. master节点node.master: true node.data: false 该node服务器只作为一个主节点,但…
1. redis-cluster架构图 redis-cluster投票:容错 架构细节 ①所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. ②节点的fail是通过集群中超过半数的节点检测失效时才生效. ③客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可 ④redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<…
一.redis安装 借鉴上篇博客:http://www.cnblogs.com/WJ--NET/p/8176071.html 二.集群搭建 2.1.创建文件夹 mkdir redis_cluster 2.2.复制redis.conf和redis-server mkdir 7001 cp /usr/local/redis/redis-4.0.6/redis.conf /usr/local/redis/redis_culster/7001/ cp /usr/local/redis/redis-4.0…
前言 本文主要介绍的是ElasticSearch集群和kinaba的安装教程. ElasticSearch介绍 ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行封装,提供了 REST API 的操作接口. ElasticSearch作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析. ElasticSearch主要特点:分布式.高可用.异步写入.多API.面向文档 . ElasticSearch核心概念:近实时,集群,节点…
Ingress是kubernetes集群对外提供服务的一种方式.ingress部署相对比较简单,官方把相关资源配置文件,都已经集合到一个yml文件中(mandatory.yaml),镜像地址也修改为quay.io. 1.部署 官方地址:https://github.com/kubernetes/ingress-nginx 1.1 下载部署文件: ## mandatory.yaml为ingress所有资源yml文件的集合### 若是单独部署,需要分别下载configmap.yaml.namespa…
集群部署好后,如果我们想知道集群中每个节点及节点上的pod资源使用情况,命令行下可以直接使用kubectl top node/pod来查看资源使用情况,默认此命令不能正常使用,需要我们部署对应api资源才可以使用此命令.从 Kubernetes 1.8 开始,资源使用指标(如容器 CPU 和内存使用率)通过 Metrics API 在 Kubernetes 中获取, metrics-server 替代了heapster.Metrics Server 实现了Resource Metrics API…
方案:安装ipvsadm软件包,关于ipvsadm的用法可以参考man ipvsadm资料. 常用ipvsadm命令语法格式如表-1及表-2所示. 1.ipvsadm命令用法(proxy) 1.1 创建LVS虚拟集群服务器(算法为加权轮询:wrr) ]# yum -y install ipvsadm ]# ipvsadm -A -t 192.168.4.5:80 -s wrr ]# ipvsadm -Ln(n以数字显示端口号)查兰LVS规则表 1.2 为集群添加若干real server ]#…
Dashboard是k8s的web界面,用户可以用 Kubernetes Dashboard 部署容器化的应用.监控应用.并对集群本身进行管理,在 Kubernetes Dashboard 中可以查看集群中应用的运行状态. 1.下载yaml配置文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml 2.创建dash…
摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. 1)下载yaml配置清单 [root@k8s-master01 ~]# mkdir /opt/k8s/coredns [root@k8s-master01 ~]# cd /opt/k8s/coredns/ [root@k8s-master01 coredns]# wget https://raw.githubusercontent.c…
摘要: 前面几个篇幅,已经介绍master与node节点集群组件部署,由于K8S本身不支持网络,当 node 全部启动后,由于网络组件(CNI)未安装会显示为 NotReady 状态,需要借助第三方网络才能进行创建Pod,下面将部署 Calico 网络为K8S提供网络支持,完成跨节点网络通讯. 官方文档 https://docs.projectcalico.org/v3.6/introduction 1)下载Calico yaml [root@k8s-master01 ~]# mkdir /op…
摘要: kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node port向service的访问 新版本目前 kube-proxy 组件全部采用 ipvs 方式负载,所以为了 kube-proxy 能正常工作需要预先处理一下 ipvs 配置以及相关依赖(每台 node 都要处理) ## 开启ipvs [root@k8s-master01 ~]# ansible k8s-node -m shell -a "yum install…
摘要: Kubelet组件运行在Node节点上,维持运行中的Pods以及提供kuberntes运行时环境,主要完成以下使命: 1.监视分配给该Node节点的pods 2.挂载pod所需要的volumes 3.下载pod的secret 4.通过docker/rkt来运行pod中的容器 5.周期的执行pod中为容器定义的liveness探针 6.上报pod的状态给系统的其他组件 7.上报Node的状态 1.以下操作属于node节点上组件的部署,在master节点上只是进行文件配置,然后发布至各nod…
摘要: 1.Kube-scheduler作为组件运行在master节点,主要任务是把从kube-apiserver中获取的未被调度的pod通过一系列调度算法找到最适合的node,最终通过向kube-apiserver中写入Binding对象(其中指定了pod名字和调度后的node名字)来完成调度 2.kube-scheduler与kube-controller-manager一样,如果高可用,都是采用leader选举模式.启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态.…