master

linux--mysql(主从复制position)

試著忘記壹切 提交于 2020-03-06 09:03:47
异步复制(主从复制)master节点不会关心slave节点的状态,只需要写自己的数据即可 能不能完成复制看slave节点的io线程和sql线程是否开启 (1)主库开启binlog日志(设置log - bin参数) (2)主从server - id不同 (3)从库服务器能连同主库 mysql的主从配置又叫replication,AB复制,基于binlog二进制日志,主数据库必须开启binlog二进制日志才能进行复制 (1) master将改变记录到二进制日志 ( binary log ) 中(这些记录叫做二进制日志事件,binary log events); (2)从库生成两个线程,一个i / o线程,一个SQL线程,i / o线程去请求主库的binlog,sql线程进行日志回放来复制 (3) slave将master的binary log events拷贝到它的中继日志 ( relay log ) ; (4)slave重做中继日志中的事件,将更改应用到自己的数据上。 mysql的主从复制(异步复制)(基于position)把一个事件拆开来复制,并不是以一个完整的事件为单位来进行复制 一开始两个mysql必须一模一样,否则会报错 master自己做自己的,写在自己的日志里 slave能否同步成功取决于IO线程,和SQL线程回放日志 IO通过联系master拿到master的二进制日志

Git——commit、head、master、branch一些词的含义

橙三吉。 提交于 2020-03-06 00:02:27
参考 首先扔一个大佬的传送门,我是看了他的文章才来写的笔记。 传送门 理解 一个项目从写上第一行代码,到结束要经过很长一段时间,而这期间我们要停顿好多次。比如下班了,今天的工作内容完成了,这时候就要提交一次代码,也就像断点一样。也就是git中的commit。 1、 commit :英语翻译是承诺、保证等意思。网上人们翻译成提交。这其实是一个“断点”用来记录代码在某个时刻的状态的。如下图,每个灰色的点代表一次commit。然后这些commits就是每次代码的状态 2、 HEAD :这是一个标识,代表当前的位置在那个commit,无论这个HEAD指向(或者间接指向的)那个commit你使用的代码就是那时commit代码时候的样子。 3、 branch :分支,多个commit就连起来就成了一个branch。跟点成线一样。一个commit就是点,而多个commit(大于等于两个,甚至是一个)就成了branch。看到下面的图,数字代表commit提交的顺序。 下面的1、2、3、4组成了branch,而1、2、3、6组成了branch1。 4、 master :主分支,master一个特殊的branch。他特殊只是因为刚创建的时候肯定要有一个默认的branch吧,这个默认的master就是主分支了。 来源: https://www.cnblogs.com/Eastry/p/12423709

使用kubeadm部署Kubernetes1.8.5

孤人 提交于 2020-03-05 23:29:42
在完成 科学上网 的前提下,我们准备使用kubeadm通过http代理部署Kubernetes。 环境准备(在所有节点上执行) hostname IP 作用 k8s-master 172.16.100.50 master/etcd k8s-node1 172.16.100.51 node k8s-node2 172.16.100.52 node 关闭swap 由于Kubernetes1.8之后需要关闭swap,否则将会出现如下报错: running with swap on is not supported. Please disable swap # swapoff -a # sed -i '/swap/d' /etc/fstab 配置http代理 由于kubeadm init时需要访问google的网站,如果不科学上网将会出现如下报错: unable to get URL "https://dl.k8s.io/release/stable-1.8.txt": Get https://storage.googleapis.com/kubernetes-release/release/stable-1.8.txt: dial tcp 172.217.160.112:443: i/o timeout # vi ~/.profile export http_proxy="http:/

10分钟搭建Kubernetes容器集群平台(kubeadm)

拜拜、爱过 提交于 2020-03-05 23:29:37
官方提供Kubernetes部署3种方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方文档: https://kubernetes.io/docs/setup/minikube/ kubeadm kubeadm可帮助你快速部署一套kubernetes集群。kubeadm设计目的为新用户开始尝试kubernetes提供一种简单的方法。目前是Beta版。 官方文档: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ https://kubernetes.io/docs/setup/independent/install-kubeadm/ 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。目前企业生产环境中主要使用该方式。 下载地址: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#v1113 1. 安装要求 操作系统 Ubuntu 16.04+ Debian 9 CentOS 7 RHEL 7 Fedora 25/26 (best-effort) 其他

kubeadm安装1.9版本

蹲街弑〆低调 提交于 2020-03-05 23:28:00
kubernetes 1.9.0 kubeadm方式安装 1、安装rpm包 yum localinstall -y kubeadm-1.9.0-0.x86_64.rpm kubectl-1.9.0-0.x86_64.rpm kubelet-1.9.0-0.x86_64.rpm kubernetes-cni-0.6.0-0.x86_64.rpm 2、修改内核参数 修改 /etc/sysctl.conf,添加以下内容 net.ipv4.ip_forward=1 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 修改后,及时生效 sysctl -p 3、修改kubelet配置文件 kubelet和docker 的cgroup driver 有2种方式:cgroupfs和systemd.注意保持 2个应用的driver保持一致。 3.1 docker是cgroupfs的,修改kubelet vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf #修改systemd为cgroupfs Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs" #新加一行

kubeadm安装k8s集群1.17版本

北战南征 提交于 2020-03-05 23:16:28
kubeadm安装k8s集群1.17版本 一、安装要求: 满足以下条件 一台或多台机器,操作系统 CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多 集群中所有机器之间网络互通 可以访问外网,需要拉取镜像 禁止swap分区 说在前面的话,kubeadm是k8s官方推出的一个用于快速部署一套k8s集群的工具,而在近几年现在kubeadm上生产的公司也有了,不过对于各个方面对于集群的管理以及二次性的开发,大多数都是采用二进制的方式进行去部署生产上的k8s集群,由于k8s版本更新比较频繁,像对于拿k8s集群进行一些测试方面的操作,平时希望自己能够快速的部署一套进行测试,而对于二进制以及Ansible部署的方式当然也可以部署,不过二进制就慢了很多,像ansible的话还得需要一台服务器单独拿出来做管理节点,对于我们平时拿虚拟机去测试的话,如果自己的机器比较紧张,kubeadm也是一个比较不错的选择,另外也是尝试一下新版本的k8s,紧跟官方新版本的脚步。 话不多说,进入正题 在kubeadm中有两条重要的命令,一个是kubeadm init,一个是kubeadm join, init 主要的实现就是去创建一个master节点,而在运行init之后,首先会运行一系列的输出,首先它会检查你的docker版本或者你的swap有没有关闭

安装搭建ZooKeeper环境

妖精的绣舞 提交于 2020-03-05 20:21:39
ZooKeeper有三种安装模式:单机安装(standalone)、伪集群模式、集群模式: standalone模式:只在一台机器上安装ZooKeeper,并只启动一个ZooKeeper实例。 伪集群:在一台机器上开启多个ZooKeeper实例来模拟集群。通过加载不同配置文件,分配不同数据目录来实现这种模式。因为在同一机器上运行,所以机器宕机,整个ZooKeeper就挂了。基本上不会布置这样的ZooKeeper集群。 集群模式:在至少3台机器上安装ZooKeeper构成集群,只要故障节点数量在一定范围内就能保证ZooKeeper服务的可用性。 真正布置的基本上都是集群模式,standalone偶尔用来做些测试,它有单点故障,伪集群模式也有单点故障。 集群模式并非一定至少3台机器,但用2台机器比1台机器更危险,因为随便故障一台都无法满足"大多数"的要求,都会阻塞整个ZooKeeper服务。而2台机器的故障几率是1台机器的2倍。所以,也建议采用奇数台机器来部署ZooKeeper。 ZooKeeper下载:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/ 我下载的是3.4.14版本。 1.安装jdk ZooKeeper运行在java环境下,所以需要先安装jdk,且要求版本高于1.6。 jdk下载:http:/

linux--mysql(主从复制gid)

痴心易碎 提交于 2020-03-05 13:52:44
gid主从辅助复制(在position的基础上) GTID复制不像传统的复制方式(异步复制、半同步复制)需要找到binlog(MASTER_LOG_FILE)和POS点(MASTER_LOG_POS) 只需要知道master的IP、端口、账号、密码即可,因为复制是自动的,MySQL会通过内部机制GTID自动找点同步 和基于position的主从复制的不同之处在于:它是以一整个事件为单位进行复制的 server - id:服务器身份id,在初始化MySQL时,会自动生成一个server - id并写到数据目录的auto . cnf文件中,官方不建议修改,并且server - id跟GTID有密切关系, 并且对于任意一个数据库节点,server - id是唯一的 GTID:全局事务标识符,使用这个功能时,内次事务提交都会在binlog里生成一个唯一的标识符,它由UUID和事务ID组成,首次提交的事务为1,第二次为2,第三次为3,以此类推 开启GTID,无需找到binlog和POS点,直接change master to master_auto_postion=1即可,它会自动寻找同步 在master上一个事务提交,并写入binlog里。 binlog日志发送到slave,slave接收并写入中继日志里,slave读取到这个GTID,并设置gtid_next的值。例如 set @

linux集群架构

时光怂恿深爱的人放手 提交于 2020-03-05 06:39:04
Linux集群架构 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat、keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 实现负载均衡的开源软件有 LVS、keepalived、haproxy、nginx,商业的有F5、Netscaler keepalived介绍 在这里我们使用keepalived来实现高可用集群,因为heartbeat在centos6上有一些问题,影响实验效果 keepalived通过VRRP(Virtual Router Redundancy Protocl)来实现高可用。 在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。 master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就需要根据各个backup的优先级来决定谁成为新的mater。 Keepalived要有三个模块,分别是core、check和vrrp

k8s

孤人 提交于 2020-03-05 00:51:28
1:k8s集群的安装 1.1 k8s的架构 Master: API-Server 核心服务 Controller Manager 监控容器的状态实现自愈功能 Scheduler 调度器:挑选合适的节点创建容器 etcd 数据库 node: kubelet 通过docker创建容器 cadvisor 普罗米修斯监控容器 pod 每个容器都被封装到pod资源里 Kube-Proxy 负载均衡 网络插件:flannel容器之间跨宿主机通讯,将ip地址分配信息自动写入etcd中 除了核心组件,还有一些推荐的Add-ons: 组件名称 说明 kube-dns 负责为整个集群提供DNS服务 Ingress Controller 为服务提供外网入口 Heapster 提供资源监控 Dashboard 提供GUI Federation 提供跨可用区的集群 Fluentd-elasticsearch 提供集群日志采集、存储与查询 1.2 修改IP地址、主机名和host解析 10.0.0.11 k8s-master 10.0.0.12 k8s-node-1 10.0.0.13 k8s-node-2 所有节点需要做hosts解析 1.3 master节点安装etcd(数据库服务) 第一步:安装数据库服务 [root@k8s-master ~]# yum install etcd -y 第二步