记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
Centos7下ELK+Redis日志分析平台的集群环境部署记录 之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ZooKeeper ELK进一步优化架构为EFK,其中F就表示Filebeat。Filebeat即是轻量级数据收集引擎,基于原先Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,也会是ELK Stack在shipper端的第一选择。 这里选择ELK+Redis的方式进行部署,下面简单记录下ELK结合Redis搭建日志分析平台的集群环境部署过程,大致的架构如下: + Elasticsearch是一个分布式搜索分析引擎,稳定、可水平扩展、易于管理是它的主要设计初衷 + Logstash是一个灵活的数据收集、加工和传输的管道软件 + Kibana是一个数据可视化平台,可以通过将数据转化为酷炫而强大的图像而实现与数据的交互将三者的收集加工,存储分析和可视转化整合在一起就形成了ELK。 基本流程:1)Logstash-Shipper获取日志信息发送到redis。2)Redis在此处的作用是防止ElasticSearch服务异常导致丢失日志,提供消息队列的作用。[注意:缓存到redis里的日志被输送到elasticsearch之后,在redis里的对应db库里...
Mongodb主从复制/ 副本集/分片集群介绍 前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集)。 Mongodb一共有三种集群搭建的方式: Replica Set(副本集)、 Sharding(切片) Master-Slaver(主从)【目前已不推荐使用了!!!】 其中,Sharding集群也是三种集群中最复杂的。 副本集比起主从可以实现故障转移!!非常使用! mongoDB目前已不推荐使用主从模式,取而代之的是副本集模式。副本集其实一种互为主从的关系,可理解为主主。 副本集指将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。对应的是数据冗余、备份、镜像、读写分离、高可用性等关键词; 而分片则指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集。追求的是高性能。 在生产环境中,通常是这两种技术结合使用,分片+副本集。 一、先说说mongodb主从复制配置 主从复制是MongoDB最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个...
Redis哨兵模式(sentinel)学习总结及部署记录(主从复制、读写分离、主从切换) Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。 一、sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解决方案,sentinel系统可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务下线时,自动将该master下的某个从服务升级为master服务替代已下线的master服务继续处理请求。 sentinel可以让redis实现主从复制,当一个集群中的master失效之后,sentinel可以选举出一个新的master用于自动接替master的工作,集群中的其他redis服务器自动指向新的master同步数据。一般建议sentinel采取奇数台,防止某一台sentinel无法连接到master导致误切换。其结构如下: Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Re...
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...
 
0
 基于 Helm 高可用安装 # 准备工作 请确认现有 Kubernetes 集群满足 前提条件。 高可用安装模式适用于生产环境,Erda 的核心组件及重要依赖均采用多副本方案部署。该模式默认提供配置参数,同时请注意以下事项: MySQL 不支持高可用,建议您接入自己的 MySQL 或云服务商 RDS 以保证稳定性,具体请参见 如何接入已有中间件。 建议您妥善保存私有化配置,以便后续升级维护,具体请参见 如何保存私有化配置。 该模式默认提供 Erda 及依赖的配置参数,您可以根据实际部署情况修改,具体请参见 高可用部署可配置参数。 若您希望合理划分 Erda 组件及依赖组件的节点,请参见 高可用组件分类调度。 添加 Erda Helm Chart 仓库并更新。 helm repo add erda https://charts.erda.cloud/erda helm repo update # 安装操作 # 安装配置 您可以通过配置文件描述 Erda 高可用安装的个性化配置,例如 custom_values.yaml: global: size: prod domain: "erda.io" erda: clusterName: "local-cluster" mysql: enbaled: false custom: address: "rds.xxx.com" port: "3306" ...
 关于 Erda Erda 是什么 Erda 是新一代数字化云原生 PaaS 平台,其核心包含三大模块:应用(微服务)研发治理平台、快数据治理平台和混合云管理平台。 应用(微服务)研发治理平台具备项目管理、API 管理、CI/CD、自动化测试、应用管理、监控、日志分析、APM 和微服务观测等核心功能,从需求分析到上线交付,实现真正的一站式全流程管理。 快数据治理平台采用流批一体的架构设计,基于实时的数据计算,提供数据源管理、数据地图、数据模型开发、数据资产、数据血缘等一体化的数据治理能力,可应用于数据中台建设、实时数据仓库建设等场景。 混合云管理平台基于 Kubernetes(K8s)架构的容器云服务,提供 K8s 的可视化管理、常见公有云的资源管理和编排,以及立体式的智能监控告警,能够将应用部署到不同的云平台,实现混合云架构。 # Erda 不是什么 Erda 是基于 K8s 的应用开发管理平台,而并非一个 K8s 发行版本,也不是一个 K8s 管理平台。 # Erda 为什么有三大平台 企业数字化建设的三大核心场景分别是 “云”、“业务”和“...
    总共176页,当前第17页 | 页数:
  1. 7
  2. 8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13
  8. 14
  9. 15
  10. 16
  11. 17
  12. 18
  13. 19
  14. 20
  15. 21
  16. 22
  17. 23
  18. 24
  19. 25
  20. 26
  21. 27