master

Mysql Replication配置

好久不见. 提交于 2020-03-22 02:49:05
使用场景:mysql的实时备份或者读写分离。 环境: vmware虚拟机,并且安装了linux系统(我用的是centos7),linux上安装了mysql 第一台mysql安装好了之后,将当前linux系统克隆一份。 我的两个linux系统的IP地址分别是128,129; 128为master,129为slave; 两台服务器上的mysql配置当前完全一样。 克隆过来之后,需要把另一个mysql的(/ect/my.cnf)server_id改掉。 这里我把128上的mysql的server_id改成128; 129机子上的mysql的server_id改成129; 修改好配置文件后,启动两台机子上的mysql 启动: /etc/init.d/mysqld start 重启: /etc/init.d/mysqld restart 锁定master flush tables with read lock; 查看master状态 show master status 记住这个信息,后面配置slave信息的时候,会用到; 配置slave 登录129服务器的mysql mysql -uroot -pgys 关闭slave 给slave配置master 这里的master_log_file='guoyansi128.000004',master_log_pos=120

Git 工作流的正确打开方式

白昼怎懂夜的黑 提交于 2020-03-21 22:35:28
Git 工作流的正确打开方式 作者: @Ryan-Miao 本文为作者原创,转载请注明出处: http://www.cnblogs.com/woshimrf/p/git-workflow.html 目录 1.1.创建仓库 1.2. 模拟用户A 1.3. 模拟用户B 1.4. 模拟用户A 1.5. 模拟用户C 1.6. 模拟用户B 1.7. 模拟用户C 2.1 模拟用户C 2.2 模拟用户D 2.3 C继续开发 2.4 D继续开发 2.5 C 提交 2.6 C 提PR 2.7 C修改再push 2.8 C发现提交次数过多,历史太乱,合并部分历史 2.9 C再次push 2.10 新的merge方式: rebase 2.11 这时候D也完成了 2.12 提交前rebase 最终结果 前言 一直在使用git做版本控制,也一直工作很顺利,直到和别人发生冲突的时候。这才注意到git 工作流并不是那么简单。比如,之前遇到的 清理历史 。百度到的资料很多,重复性也很多,但实践性操作很少,我很难直接理解其所表达的含义。直接望文生义经常得到错误的结论,只能用时间去检验真理了,不然看到的结果都是似懂非懂,最后还是一团糟。 学习git工作流 1. 最简单的使用,不推荐 1.1.创建仓库 $ pwd /home/ryan/workspace/l4git-workflow $ touch readme.md

Git 工作流的正确打开方式

拜拜、爱过 提交于 2020-03-21 22:35:04
转载: http://www.cnblogs.com/woshimrf/p/git-workflow.html 目录 1.1.创建仓库 1.2. 模拟用户A 1.3. 模拟用户B 1.4. 模拟用户A 1.5. 模拟用户C 1.6. 模拟用户B 1.7. 模拟用户C 2.1 模拟用户C 2.2 模拟用户D 2.3 C继续开发 2.4 D继续开发 2.5 C 提交 2.6 C 提PR 2.7 C修改再push 2.8 C发现提交次数过多,历史太乱,合并部分历史 2.9 C再次push 2.10 新的merge方式: rebase 2.11 这时候D也完成了 2.12 提交前rebase 最终结果 前言 一直在使用git做版本控制,也一直工作很顺利,直到和别人发生冲突的时候。这才注意到git 工作流并不是那么简单。比如,之前遇到的 清理历史 。百度到的资料很多,重复性也很多,但实践性操作很少,我很难直接理解其所表达的含义。直接望文生义经常得到错误的结论,只能用时间去检验真理了,不然看到的结果都是似懂非懂,最后还是一团糟。 学习git工作流 1. 最简单的使用,不推荐 1.1.创建仓库 $ pwd /home/ryan/workspace/l4git-workflow $ touch readme.md $ ls readme.md $ touch .gitignore $ git

win10上安装mysql8 并配置主从复制

旧时模样 提交于 2020-03-21 22:16:49
最近在学习springboot,想整理一篇博客,关于springboot整合mybatis并配置主从数据库的,但是电脑win10系统上并没有配置mysql主从数据库。所以花了几天的时间终于整好了。在这里记录一下。 首先是关于在win10上安装两个mysql8的步骤,我找到了一篇博客,按照上面的步骤,是可以配置成功的。 https://blog.csdn.net/imHanweihu/article/details/89404165 这里有几个问题需要注意的: 1.删除mysql mysqld remove [服务名] 如:mysqld remove mysql1 2.如果出现下述错误,可以删除data文件夹: D:\developeTool\mysqlnew\mysql-8.0.17-winx64\bin>mysqld --initialize --user=mysql --console 2020-03-20T15:31:23.847864Z 0 [System] [MY-013169] [Server] D:\developeTool\mysqlnew\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 15208 2020-03

K8s在LinuxONE上搭建(一)

女生的网名这么多〃 提交于 2020-03-21 22:11:17
一、介绍 Kubernetes 是当先炙手可热的技术,它已然成为可开源界的PASS管理平台的标准,当下文章对大多数是对X86平台搭建Kubernetes平台,下面笔者进行在LinuxONE上搭建开源的Kubernetes平台。 搭建K8S 平台主流的有两种方法, 第一种是基于二进制的搭建,通过一步一步的搭建可以加深对K8S各个服务的理解。 官方推荐的自动化部署工具 kubeadm 本次使用官方推荐的Kubeadm 的搭建方法, kubedm 把K8S 自身的服务都被K8S自身的pod,除此之外事先的基础服务是用system服务的方式运行。 master节点安装组件: docker、kubelet、kubeadm 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod api-server、kube-controller、etcd、 是托guan在pod node节点组件 docker、kubelet 基于本地的system服务运行 kube-proxy 是 动态的可被k8s 管理的pod flannel 是 动态的可被k8s 管理的pod 二、安装 1. 环境 系统版本 IP地址 主机名 ubuntu1~18.04.1 172.16.35.140 master ubuntu1~18.04.1 woker-1 2.安装docker 安装基础的包

Redis Sharding方案

安稳与你 提交于 2020-03-21 12:31:43
3 月,跳不动了?>>> Redis Sharding方案 什么是Redis分片 分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。 分片为何有用 Redis 的分片承担着两个主要目标: 允许使用很多电脑的内存总和来支持更大的数据库。没有分片,你就被局限于单机能支持的内存容量。 允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。 分片基础 有很多不同的分片标准(criteria)。假想我们有 4 个 Redis 实例 R0,R1,R2,R3,还有很多表示用户的键,像 user:1,user:2,… 等等,我们能找到不同的方式来选择一个指定的键存储在哪个实例中。换句话说,有许多不同的办法来映射一个键到一个指定的 Redis 服务器。 最简单的执行分片的方式之一是范围分片(range partitioning),通过映射对象的范围到指定的 Redis 实例来完成分片。例如,我可以假设用户从 ID 0 到 ID 10000 进入实例 R0,用户从 ID 10001 到 ID 20000 进入实例 R1,等等。 这套办法行得通,并且事实上在实践中被采用,然而,这有一个缺点,就是需要一个映射范围到实例的表格。这张表需要管理,不同类型的对象都需要一个表,所以范围分片在 Redis 中常常并不可取

分布式redis

末鹿安然 提交于 2020-03-21 04:44:07
一. 水平拆分 sharding 1. 解决数据量和访问量增加后对单节点造成的性能压力;水平拆分后的每个节点存储和处理的数据原则上没有交集; 2. 数据分布: hash映射:将不可控的业务值域key均匀映射到可控的有限值域(hash值)上,再将均匀分布的hash值枚举的映射到redis实例上; 范围映射:选择key本身而不是key的某个运算值作为数据分布的条件,且每个数据节点存放的key的值域是连续的; hash和范围映射:典型的方式是一致性hash,首先对key进行hash运算,得到值域有限的hash值,再对hash值做范围映射; 3. 请求路由 只读的跨实例请求需要将请求中的多个key分别分发到对应实例上执行,再合并结果; 跨实例的原子读写请求中,实例B的写入操作依赖于实例A的读取,没有单线程特性保证并发安全,因此原子请求是不支持的; 二. 主备复制 replication 1. 当某个节点宕机时,其上的数据在其他节点上有副本;同一份数据在多个节点上存储,可以分离读取和写入操作; 2. 主备复制流程 redis包含master和slave两种节点,master提供读写服务,slave作为master的数据备份拥有master的全量数据,不提供写服务; slave启动后触发SYNC命令,master被动的讲新进slave节点加入主备复制集群;

2.【详细到哭系列】keepalived配置,实现zabbix主备的切换

落爺英雄遲暮 提交于 2020-03-20 12:35:02
部署阶段及问题笔记:https://www.cnblogs.com/l-hh/category/1400262.html 两台机器都安装keepalived [root@zabbix-master ~]# yum install keepalived.x86_64 -y keepalived配置 Zabbix-master配置文件: ! Configuration File for keepalived global_defs { router_id zabbix-master #router_id 机器标识 } vrrp_script chk_zabbix { script "/etc/keepalived/check.sh zabbix_server" interval 1 #每1秒检测一次服务的运行状态 weight 30 #优先级变化幅度 fall 2 #尝试两次都成功才成功 rise 2 #尝试两次都失败才失败 } vrrp_script chk_mysql { script "/etc/keepalived/check.sh mysqld" interval 1 weight 20 fall 2 rise 2 } vrrp_instance VI_1 { #vrrp实例定义部分 state MASTER #设置lvs的状态,MASTER和BACKUP两种,必须大写

01-keepalived 双机热备

十年热恋 提交于 2020-03-20 11:02:04
keepalived 双机热备 1. keepalived 双机热备的原理 首先,要知道 keepalived 有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。 keepalived 工作在网络层,通过VRRP 协议,将信号广播到网络内的所有机器。当网络组中的主机收到广播后,就会检测自己的优先级,如果发现本机的优先级是最高,则将VIP绑定到本机的网卡。 所以,keepalived 软件主要是靠VRRP 协议通信。所以,当keepalived 机器组里的机器不能正常通信后,就会出现脑裂问题——即有两台以上的主机在抢占VIP 。 keepalived 通常用在组建双机热备,当master 出现故障后,备机会获得vip绑定,替代出现故障的机器提供服务。当然热备的主机数量可以不止两台。 2. 搭建双机热备的思路 有两台nginx 提供web服务功能,在nginx 服务器上各安装keepalived 软件,其中一台配置为master,另一台配置成backup。keepalived 的配置文件可以统一完成这些需求。keepalived 还可以自定义检测nginx健康情况的脚本。这个检测nginx的脚本功能是

k8s相关

旧时模样 提交于 2020-03-20 06:11:59
卸载kubernetes-dashboard kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kube-system | grep dashboard sudo kubectl delete deployment kubernetes-dashboard --namespace=kube-system sudo kubectl delete service kubernetes-dashboard --namespace=kube-system sudo kubectl delete role kubernetes-dashboard-minimal --namespace=kube-system sudo kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kube-system sudo kubectl delete sa kubernetes-dashboard --namespace=kube-system sudo kubectl delete secret kubernetes-dashboard-certs --namespace=kube-system sudo kubectl