集群服务器

Kafka中的常见概念归纳

情到浓时终转凉″ 提交于 2020-01-14 02:52:35
Kakfa中有很多概念,以下对其中常见的概念进行整理,方便学习和后续回顾。 01、消息和批次 Kafka的数据单元被称为消息,可以把消息看成是数据库里的一个“数据行”或一条“记录”。消息被分批次写入Kafka,批次就是一组消息,这些消息属于同一个主题和分区。 02、模式 根据应用程序的需求,消息模式有许多可用的选项。Kafka的许多开发者喜欢使用Apache Avro,Avro提供了一种紧凑的序列化格式,模式和消息体是分开的,当模式发生变化时,不需要重新生产代码;它还支持强类型和模式进化,其版本既向前兼容,也向后兼容。 03、主题和分区 Kafka的消息通过主题进行分类。主题就好比数据库的表,或者文件系统里的文件夹。主题可以被分为若干个分区,一个分区就是一个提交日志。消息一追加的方式写入分区,然后以先入先出的顺序读取。 人们把一个主题的数据看作是一个流,不管它是多少个分区。流是一组从生产者移动到消费者的数据。 04、生产者和消费者 Kafka的客户端就是Kafka系统的用户,它们被分为两种基本数据类型:生产者和消费者。此外,还有其他高级客户端API——用于数据集成的Kafka Connect API和用于流式处理的Kafka Streams。 1、生产者创建消息。一个消息会被发布到一个特定的主题上。生产者在默认情况下把消息均衡地分布到主题所有分区上。 2、消费者读取消息

MySQL高可用——PXC简介

六眼飞鱼酱① 提交于 2020-01-14 02:45:04
PXC简介: galera产品是以galera cluster方式为mysql提高高可用集群解决方案的。galera cluster就是集成了galera插件的mysql集群。galera replication是codership提供的mysql数据同步方案,具有高可用性,方便扩展,并且可以实现多个mysql节点间的数据同步复制与读写,可保障数据库的服务高可用及数据强一致性。 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galera cluster最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,他们相互的关系是对等的。本身galera cluster也是一种多主架构。galera cluster最关注的是数据的一致性,对待事物的行为时,要么在所有节点上执行,要么都不执行,它的实现机制决定了它对待一致性的行为非常严格,这也能非常完美的保证MySQL集群的数据一致性; 对galera cluster的封装有两个,虽然名称不同,但实质都是一样的,使用的都是galera cluster。一个MySQL的创始人在自己全新的MariaDB上实现的MAriaDB cluster;一个是著名的MySQL服务和工具提供商percona实现的percona

kubernetes(k8s)容器编排工具基础概念

╄→гoц情女王★ 提交于 2020-01-14 00:45:36
kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s):   中文社区: https://www.kubernetes.org.cn/replication-controller-kubernetes   官网: https://kubernetes.io/   是一个开源系统,用于容器化应用的自动部署、扩缩和管理。Kubernetes 将构成应用的容器按逻辑单位进行分组以便于管理和发现。   Kubernetes 基于 谷歌公司在运行生产负载上的 15 年经验 打造,并融合了来自社区的最佳建议与实践。我们先来看看他的架构图:   要使用 Kubernetes,你需要用 Kubernetes API 对象 来描述集群的 预期状态(desired state) :包括你需要运行的应用或者负载,它们使用的镜像、副本数,以及所需网络和磁盘资源等等。你可以使用命令行工具 kubectl 来调用 Kubernetes API 创建对象,通过所创建的这些对象来配置预期状态。你也可以直接调用 Kubernetes API 和集群进行交互,设置或者修改预期状态。   一旦你设置了你所需的目标状态,Kubernetes 控制面(control plane) 会通过 Pod 生命周期事件生成器( PLEG ),促成集群的当前状态符合其预期状态。为此,Kubernetes

我们为什么会删除不了集群的 Namespace?

橙三吉。 提交于 2020-01-13 22:23:47
作者 | 声东 阿里云售后技术专家 导读 :阿里云售后技术团队的同学,每天都在处理各式各样千奇百怪的线上问题。常见的有网络连接失败、服务器宕机、性能不达标及请求响应慢等。但如果要评选的话,什么问题看起来微不足道事实上却让人绞尽脑汁,我相信肯定是“删不掉”的问题,比如文件删不掉、进程结束不掉、驱动卸载不了等。这样的问题就像冰山,隐藏在它们背后的复杂逻辑,往往超过我们的预想。 背景 今天我们讨论的这个问题,跟 K8s 集群的 Namespace 有关。Namespace 是 K8s 集群资源的“收纳”机制。我们可以把相关的资源“收纳”到同一个 Namespace 里,以避免不相关资源之间不必要的影响。 Namespace 本身也是一种资源。通过集群 API Server 入口,我们可以新建 Namespace,而对于不再使用的 Namespace,我们需要清理掉。Namespace 的 Controller 会通过 API Server,监视集群中 Namespace 的变化,然后根据变化来执行预先定义的动作。 有时候,我们会遇到下图中的问题,即 Namespace 的状态被标记成了 "Terminating",但却没有办法被完全删除。 从集群入口开始 因为删除操作是通过集群 API Server 来执行的,所以我们要分析 API Server 的行为。跟大多数集群组件类似,API

mac 搭建虚拟机安装spark,hive,zookeeper,scala,kafka等大数据集群搭建

拜拜、爱过 提交于 2020-01-13 18:22:48
=============================================================大数据相关资料============================================================ 课程环境 Virtual Box 4.1安装 1、使用课程提供的Virtual Box安装包,一步一步安装即可。Oracle_VM_VirtualBox_Extension_Pack-4.1.40-101594.vbox-extpack。 2、之所以选用Virtual Box是因为它比VMWare更加稳定。使用VMWare运行hadoop集群或者spark集群时,有时会出现休眠后重启时,某些进程莫名挂掉的问题。而Virtual Box没有这种情况。 3、之所以选择Virtual Box 4.1版本,是因为更高的版本就不兼容win7了。 CentOS 6.5安装 1、使用课程提供的CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso。 2、创建虚拟机:打开Virtual Box,点击“新建”按钮,点击“下一步”,输入虚拟机名称为spark1,选择操作系统为Linux,选择版本为Red Hat,分配1024MB内存,后面的选项全部用默认,在Virtual Disk File location and

如何给SSM项目增加集群

末鹿安然 提交于 2020-01-13 08:52:45
目录 说明 第一步——检查环境 第二步——打包项目 第三步——打包之后把这个压缩包从老服务器复制到新服务器 第四步——开启防火墙端口 第五步——设置tomcat开机自启 第六步——启动tomcat 第七步——更改nginx配置文件 尾声——关于检验 说明 对于SSM项目,如果要增加服务器。简单来说需要有基本环境的支持,即你的新服务器需要安装和之前的服务器同版本的jdk。 之后你需要把这个SSM打包,复制到新服务器,然后进行配置(tomcat开机自启设置,开启端口等) ,再之后就是确认这个项目在新服务器上是否可以启动,最后一步是更改外网出口的nginx配置文件。 下面我将举例说明:我要把229服务器的项目,增加在一台名为230的服务器上 第一步——检查环境 首先确保新服务器安装了和老服务器同样版本的jdk。 输入下面的命令查看 java -version 第二步——打包项目 进入老服务器,找到要打包的项目,输入下面的命令 tomcat-exam-prod-8082.tar.gz指的是打包后的文件名+扩展名,tomcat-exam-prod-8082指的是打包前的文件名 tar -zcvf tomcat-exam-prod-8082.tar.gz tomcat-exam-prod-8082 第三步——打包之后把这个压缩包从老服务器复制到新服务器 1

Redis集群的主从复制

落爺英雄遲暮 提交于 2020-01-13 06:04:45
3个master:在整个集群负责数据的写操作(添加,更新,删除)。 3个slave:在整个集群中负载数据的读操作,slave会同步自己对于的master上的数据,完成数据读写分离,主从同步,同时做到高可用。当某个master宕机的时候,对应的slave自动提升为master参与集群工作。 修改从服务对应的主服务地址(修改时可以在redis.comf搜索slaveof关键字) 主从复制原理 A、 全量同步   Redis全量复制一般发生在 Slave(从服务器)初始化 阶段,这时Slave需要将Master上的所有数据都复制一份。 具体步骤如下:   1)从服务器连接主服务器,发送 SYNC 命令;   2)主服务器接收到SYNC命名后,开始执行 BGSAVE 命令生成RDB文件并 使用缓冲区记录此后执行的所有写命令 ;   3)主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令;   4)从服务器收到快照文件后丢弃所有旧数据,载入收到的快照;   5)主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令;   6)从服务器完成对快照的载入,开始接收命令请求,并执行来自主服务器缓冲区的写命令; B、增量同步   Redis增量复制是指Slave初始化后开始正常工作时,主服务器发生的写操作同步到从服务器的过程。

Apache Rocketmq 架构设计(三)

元气小坏坏 提交于 2020-01-13 01:57:25
架构设计 1 技术架构 RocketMQ架构上主要分为四部分,如上图所示: Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。 Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播方式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求。 NameServer:NameServer是一个非常简单的Topic路由注册中心,其角色类似Dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;路由信息管理,每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息

离线CDH5搭建

微笑、不失礼 提交于 2020-01-12 15:20:25
为什么会出现CDH? 1:Apache Hadoop 版本管理换乱 2:部署过程繁琐,升级过程复杂 3:兼容性查 安全性低 Hadoop发行版: Apache Hadoop Cloudera’s Distribution Including Apache Hadoop(CDH) Hortonworks Data Platform (HDP) MapR EMR 什么是CDH? Cloudera’s Distribution Including Apache Hadoop(CDH) 是Hadoop众多分支的一种,由Cloudera维护,是基于稳定的Apache Hadoop去构建的 CDH提供了Hadoop的核心能力 分布式计算与可扩展存储以及基于Web的用户界面 CDH的优点: 1: 版本划分清晰 2:版本更新速度快 3:支持Kerberos安全认证 4:文档清晰 5;支持多种安装方式(Clouder Manager , Yum , Rmp ,Tarball) 本次介绍安装CDH的方式为Clouder Manager方式 ClouderaManager Clouder Manager 是一个管理CDH端到端的应用: 简单来说,Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内

redis集群搭建

我的未来我决定 提交于 2020-01-12 12:40:42
redis集群搭建 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。 Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而更新。 Redis 客户端可以在任意一个 Redis 实例发出请求,如果所需数据不在该实例中,通过重定向命令引导客户端访问所需的实例。 安装环境 OS: centos 7.2.1511 redis : 最新版 v4.0.1 单台redis安装 下载 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar zxvf redis-4.0.10.tar.gz mv redis-4.0.10 /usr/local/redis/ 如果是离线安装,则需要从官网下载指定版本,然后上传到生产环境。这里安装的是最新版redis,指定安装路径 /usr