记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题,
kafka 基础知识梳理及集群环境部署记录 一、kafka基础介绍 0. kakfa概述 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica)开源消息系统,由Scala写成,是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。kafka基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。 kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性 kafka是一种高吞吐量的分布式发布订阅消息系统,它可以...
RocketMQ 简单梳理 及 集群部署笔记 一、RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能、高吞吐量、队列模型的消息中间件的分布式消息中间件。 上图是一个典型的消息中间件收发消息的模型,RocketMQ也是这样的设计,简单说来RocketMQ具有以下特点:1)是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点。2)Producer、Consumer、队列都可以分布式。3)Producer向一些队列轮流发送消息,队列集合称为Topic,Consumer如果做广播消费,则一个consumer实例消费这个Topic对应的所有队列,如果做集群消费,则多个Consumer实例平均消费这个topic对应的队列集合。4)支持严格的消息顺序;5)提供丰富的消息拉取模式6)高效的订阅者水平扩展能力7)实时的消息订阅机制8)亿级消息堆积能力9)较少的依赖10)支持Topic与Queue两种模式;11)同时支持Push与Pull方式消费消息; 消息队列的应用场景1)异步处理将不是必须的业务逻辑,进行异步处理,比如注册之后短信、邮箱的发送 2)应用解耦订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存...
Centos7下GlusterFS分布式存储集群环境部署记录 之前已经简单地对GlusterFS分布式文件系统做了介绍,下面就该环境部署做一记录: 0)环境准备 GlusterFS至少需要两台服务器搭建,服务器配置最好相同,每个服务器两块磁盘,一块是用于安装系统,一块是用于GlusterFS。 192.168.10.239 GlusterFS-master(主节点) Centos7.4 192.168.10.212 GlusterFS-slave (从节点) Centos7.4 192.168.10.213 Client (客户端) ---------------------------------------------------------------------------------------- 由于GlusterFS需要使用网络,因此还必须事先根据环境设置防火墙规则,关闭SELinux。 这里我将上面三台服务器的防火墙和Selinux全部关闭 [root@GlusterFS-master ~]# setenforce 0 [root@GlusterFS-master ~]# getenforce [root@GlusterFS-master ~]# cat /etc/sysconfig/selinux |grep "SELINUX=disabled" SELINUX=disabled [root@GlusterFS-master ~]# systemctl stop firewalld [root@GlusterFS-master ~]# systemctl disable firewalld [root@GlusterFS-master ~]# firewall-cmd --state not running...
Redis+Keepalived高可用环境部署记录  Keepalived 实现VRRP(虚拟路由冗余)协议,从路由级别实现VIP切换,可以完全避免类似heartbeat脑裂问题,可以很好的实现主从、主备、互备方案,尤其是无状态业务,有状态业务就需要额外花些功夫了。既然Mysql可以使用Keepalived很好的做到主从切换,那么Redis自然可以使用这种方式实现高可用。 Redis主从实现完全没有Mysql成熟,仅仅是可用而已,经过测试主从也不是那么完全不靠谱,主要问题在于同步连接断开之后需要重新全量同步,如果频繁进行会对主服务带来很大性能影响。 但现实中主从机器往往要求放在一个机柜同一台交换设备下,网络闪断情况极低;再者主从同步在同步数量量大情况下,需要将缓存区调得足够大,不然也容易造成连接断开。实现切换逻辑如下:A和B两台机器1)A 、B机器依次启动,A机作为主、B机为从。2)主A机挂掉,B机接管业务并作为主。3)A机起来,作为从SLAVEOF B。4)B机挂掉,A机再切回主。 在Keepalived 有两个角色:Master(一个)、Backup(多个),如果设置一个为Master,但Master挂了后再起来,必然再次业务又一次切换,这对于有状态服务是不可接受的。解决方案就是两台机器都设置为Backup,而且优先级...
  一、分布式文件系统介绍分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。特点:在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制。分布式文件系统可能包含的功能有:透通的数据复制与容错。分布式文件系统是被设计用在局域网。而分布式数据存储,则是泛指应用分布式运算技术的文件和数据库等提供数据存储服务的系统。决定因素:数据的存储方式、数据的读取速率、数据的安全机制。发展历史:大致分为三个发展阶段,网络文件系统(1980s)、共享SAN文件系统(1990s)、面向对象的并行文件系统(2000s)。 二、FastDFS分布式系统架构介绍FastDFS:是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。 FastDFS是为互联网应用量身定做的分布式文件系统,充分...
 
0
  一、Ceph简单介绍OSDs:Ceph的OSD守护进程(OSD)存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其它Ceph OSD守护程序作为一个心跳 向Ceph的监视器报告一些检测信息。Ceph的存储集群需要至少2个OSD守护进程来保持一个 active + clean状态.(Ceph默认制作2个备份,但可以调整它)Monitors:Ceph的监控保持集群状态映射,包括OSD(守护进程)映射,分组(PG)映射,和CRUSH映射。 Ceph 保持一个在Ceph监视器, Ceph OSD 守护进程和 PG的每个状态改变的历史(称之为“epoch”)。MDS:MDS是Ceph的元数据服务器,代表存储元数据的Ceph文件系统(即Ceph的块设备和Ceph的对象存储不使用MDS)。Ceph的元数据服务器使用POSIX文件系统,用户可以执行基本命令如 ls, find,等,并且不需要在Ceph的存储集群上造成巨大的负载。 Ceph把客户端的数据以对象的形式存储到了存储池里。利用CRUSH算法,Ceph可以计算出安置组所包含的对象,并能进一步计算出Ceph OSD集合所存储的安置组。CRUSH算法能够使Ceph存储集群拥有动态改变大小、再平衡和数据恢复的能力。 二、Ceph存储特点Object:有原生的API,而且也兼容Swift和S3的APIBlock:支持精简配置、快照、克隆File:Posix接口,支持...
Docker部署rancherv2.44及故障排查 目录列表 Docker部署rancherv2.44及故障排查 1.环境准备 2.获取rancher2.4.4镜像 3.部署rancher 4.访问rancher 4.1.设置语言为中文 4.2.设置站点url路径 4.3.rancher首页 5.添加k8s集群 5.1.点击添加集群 5.2.选择导入k8s集群 5.3.填写集群名称点击创建 5.4.保存imprt命令 5.5.在master运行命令导入rancher 5.6.查看系统pod 5.7.如何升级pod 5.8.如何执行命令 6.故障排查 6.1.cattle-cluster-agent-c66cd4f58-xhfhs pod一直处于ContainerCreating状态 6.2.解决rancher仪表盘变红错误 6.2.1.问题描述 6.2.2.问题解决 1.环境准备 操作系统:CentOS 7.5 Docker:19.03.13 Rancher:v2.4.4 2.获取rancher2.4.4镜像 [root@bogon ~]# docker pull rancher/rancher:v2.4.4 v2.4.4: Pulling from rancher/ranch...
k8s对接Jenkins 1.jenkins工作流程 1.开发还是一样的写java代码,写好java代码后提交到gitlab仓库中,Jenkins在通过gitlab去拉取这些代码,开发只需要在Jenkins页面上点一下立即构建,就会调用shell命令将代码通过docker build 来构建镜像。 2.dockerfile一般研发同事会写好,如果研发不会写,运维也可以帮忙写,通用是这样的,由运维构建一个只有lnmp的镜像,研发在写dockerfile时from指定lnmp的镜像即可了。 3.构建完docker镜像后会将镜像上传到私有仓库中。 4.一般会在Jenkins服务器远程通过kubectl -s apiserver地址去调用k8s管理命令去启动一个容器,kube-apiserver会调用node节点去私有仓库获取镜像并运行开始工作。 5.如果是全新部署直接使用run命令部署即可,在用expose开放端口,过滤出svc的端口发个邮件提示上线成功。 整个流程就是,开发写代码---将代码上传至gitlab---Jenkins在从gitlab上获取代码并通过shell命令去构建成镜像---将镜像上传至私有仓库---在调用kube-apiserver去调度kubelet创建容器---并上线 2.环境规划 ip 服务 内存 192.168.81.210 kube-apiserver 8080 ...
  通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载均衡一般用LVS或Haproxy来做。至于4层负载均衡和7层负载均衡的区别,可以参考:http://www.cnblogs.com/kevingrace/p/6137881.html。然而Nginx从1.9.0版本开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等,鉴于Nginx在7层负载均衡和web service上的成功,和Nginx良好的框架,stream模块前景一片光明。官方文档:http://nginx.org/en/docs/stream/ngx_stream_core_module.html Nginx的stream模块默认不会自带安装,需要编译安装的时候手动添加上这个模块。废话不多说了,下面介绍下一个自己使用stream做四层负载均衡(socket协议代理)的案例: 在此之前已经使用Ningx+Keepalived(主从模式)做了7层负载均衡的LB环境,之前编译的时候,没有加上这个stream模块,所以需要后续手动添加该模块。 由于Nginx的LB已经有业务跑在上面,可以选择平滑添加stream模块,并不会对线上业务造成多大影响。步骤如下: 1)先在LB的slave从机上进行平滑添加,然后再将vip切换到从机上,随即在对master主机进行平滑添加该模...
2020-11-02 使用K8s部署MySQL 双主集群 机器         角色                               mysql-0                             master\slave    mysql-1       slave\master 最近对线上集群做高可用升级,在对比了几个集群策略之后,综合现有资源、复杂度、可用度之后,选择了两个: MySQL双主的互为备份的2节点集群 MySQL基于wsrep协议的Galera Cluster的mysql多主集群 初步处于复杂度考虑,选择了方案一。 方案一又有两个版本: 利用keepalived做活跃监督 利用k8s service做负载均衡,达到和活跃监督一样的效果 我们选择最简单的k8s service,先做测试。无论哪一种,首先都要实现双主的互为备份的2节点部署。 一、部署 选择 dockerhub上的MySQL:5.7.32作为基础镜像。依赖于镜像本身的启动命令,做修改,然后部署。 1.Dockerfile 以dockerhub...
    总共248页,当前第9页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19