master

keepalived实现服务高可用

China☆狼群 提交于 2019-12-26 15:27:33
第1章 keepalived服务说明 1.1 keepalived是什么?   Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。   Keepalived软件主要是通过VRRP协议实现高可用功能的。VRRP是Virtual Router RedundancyProtocol(虚拟路由器冗余协议)的缩写,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。   所以,Keepalived 一方面具有配置管理LVS的功能,同时还具有对LVS下面节点进行健康检查的功能,另一方面也可实现系统网络服务的高可用功能。 keepalived官网http://www.keepalived.org 1.2 keepalived服务的三个重要功能  管理LVS负载均衡软件  实现LVS集群节点的健康检查中  作为系统网络服务的高可用性(failover) 1.3 Keepalived高可用故障切换转移原理   Keepalived高可用服务对之间的故障切换转移,是通过 VRRP (Virtual

mysql 主从

非 Y 不嫁゛ 提交于 2019-12-26 14:00:00
1.两台服务器 192.168.1.217 192.168.1.218 配置mysql数据库 yum -y install cmake bison git ncurses-devel gcc gcc-c++ cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_DATADIR=/data/server/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci make make install 2.配置mysql groupadd mysql useradd -M -g mysql -s

centos7 MySQL主从同步

為{幸葍}努か 提交于 2019-12-26 12:30:55
准备 MySQL主从同步需要两个系统,因此在VM虚拟机中创建两个cento7虚拟机,IP分别为 192.168.1.11和192.168.1.12。 因为平常主要使用12的为主,因此:主服务器为(192.168.1.12) 从服务器为(192.168.1.11) 配置主服务器 登录MySQL交互模式创建用于同步的用户 [root@bogon ~]# mysql -uroot -p mysql> create user repl; mysql>grant replication slave on *.* to 'bo'@'192.168.*.***' identified by '123123'; mysql> flush privileges; 查看主服务器的配置 mysql> show master status; 进入MySQL配置文件 /etc/my.cnf 在[mysqld]内容中添加 server-id=12 保存并退出 重启MySQL:[root@bogon ~]# systemctl restart mysql 备注: 在配置重启后不成功并报错 解决办法 在 /etc/my.cnf配置server时已经存在server-id=1的选项,删除此项。保存退出并重启MySQL服务 配置从服务器 进入MySQL配置文件 /etc/my.cnf 在[mysqld]内容中添加

关于Igh-EthercatMaster如何使用从站作为dc参考时钟

梦想与她 提交于 2019-12-26 12:25:02
代码基于xenomai2和qt 我igh修改了的源码 把ecrt_master_reference_clock_time(ighMaster,(uint64_t*)&refTime) 函数返回的refTime改成了uint64_t #include "IghEthercatMaster.h" #include "EthercatDevice.h" #include "GlobalFunction.h" #include "RtThread.h" #include "RtMaster.h" #include <utility> #include <QThread> //#define Q_OS_LINUX #if defined(Q_OS_LINUX) #include <sys/mman.h> #include <sys/perm.h> #include <sys/prctl.h> #include <sys/time.h> #include <sys/resource.h> #include <signal.h> #include <rtdm/rtdm.h> #include <native/task.h> #include <native/sem.h> #include <native/mutex.h> #include <native/timer.h> #include

Puppet常识梳理

邮差的信 提交于 2019-12-26 07:14:31
Puppet简单介绍 1)puppet是一种Linux/Unix平台下的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 2)Puppet是开源的基于Ruby的系统配置管理工具,puppet是一个C/S结构。所有的puppet客户端同一个服务器端的puppet通讯,每个puppet客户端每半小时(可以设置)连接一次服务器端,下载最新的配置文件,并且严格按照配置文件来配置服务器。 配置完成以后,puppet客户端可以反馈给服务器端一个消息, 如果出错,也会给服务器端反馈一个消息。 3)Puppet是用于大规模集群管理的神器。其本身使用Ruby语言开发,基于C/S架构。在每台机器上部署的客户端每隔一个指定的时间会连接到Master检查资源变化情况,若资源发生变化,将按配置动作进行相应的操作。 4)Puppet将所有可操作对象抽象为资源,目前涵盖了40多种,如:File、User、Group、Host、Package、Service、Cron、Exec等。 5)Puppet 通过抽象资源的方式,使得每台机器能够“清楚”其本身“应该”是什么“状态”,而客户端根据当前是否达到这个状态决定采取指定的动作。这使得Puppet

kubeadm安装kubernetes 1.13.1集群完整部署记录

家住魔仙堡 提交于 2019-12-26 07:13:19
k8s是什么   Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统。在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是容器到容器云后的产物。但是k8s并不是万能,并不一定适合所有的云场景。官方有一段" What Kubernetes is not "的解释可能更有利我们的理解。   Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统。我们保留用户选择的自由,这非常重要。   Kubernetes 不限制支持的应用程序类型。 它不插手应用程序框架 (例如 Wildfly ), 不限制支持的语言运行时 (例如 Java, Python, Ruby),只迎合符合 12种因素的应用程序 ,也不区分”应用程序”与”服务”。Kubernetes 旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。如果应用可以在容器中运行,它就可以在 Kubernetes 上运行。   Kubernetes 不提供作为内置服务的中间件 (例如 消息中间件)、数据处理框架 (例如 Spark)、数据库 (例如 mysql)或集群存储系统 (例如 Ceph)。这些应用可以运行在 Kubernetes 上。   Kubernetes

安装harbor并配置docker

一世执手 提交于 2019-12-26 07:13:04
作用 远程镜像只拉取一次即可,减少下载镜像的网络延迟 存储项目中由开发人员构建的程序镜像 为集群提供镜像共享 Hardware 硬件要求 硬件 最低配置 推荐配置 处理器 2 CPU 4 CPU 内存 4GB 8GB 硬盘 40GB 160GB Software 软件要求 软件 版本 说明 Docker 17.03.0-ce 或更高 Docker Compose 1.18.0 或更高 Openssl 首选最新版本 为Harbor生成证书和密钥 官方安装教程 goharbor 官方下载地址 前置条件 安装Docker 安装Docker-compose 安装步骤 下载安装程序; 配置harbor.yml; 运行install.sh安装并启动Harbor; 下载安装程序 为了简单,我选择了在线安装 [ root @k8s - master setup ] # pwd / home / deploy / setup [ root @k8s - master setup ] # wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.0.tgz [ root @k8s - master setup ] # [ root @k8s - master setup

Git中pull对比fetch和merge

可紊 提交于 2019-12-26 02:56:24
使用git fetch和git pull都可以更新远程仓库的代码到本地,但是它们之间还是有区别。今天搜了一下git pull和fetch,发现信息量很大,牵扯到git中很多概念,以我这种智商估计要完全理解很困难,所以先声明一下,下面的内容是我综合了网上的资料后,自己的理解,如有误导,敬请谅解。 首先,我搜索了git pull和git fetch的区别,网上的帖子很多,我主要参考了 http://www.tech126.com/git-fetch-pull/ 这个帖子,我摘抄下主要内容。 git fetch git fetch origin master git log -p master..origin/master git merge origin/master 从远程的origin仓库的master主分支更新最新的版本到origin/master分支上 比较本地的master分支和origin/master分支的差别 合并内容到本地master分支 另外一种fetch使用方式参考我之前的文章 Git更新远程仓库代码到本地 。 git pull git pull origin master 相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。 所以,简单的说git pull相当于git fetch后再做一个git merge

Git中pull对比fetch和merge

徘徊边缘 提交于 2019-12-26 02:54:48
本文参考于:http://www.zhanglian2010.cn/2014/07/git-pull-vs-fetch-and-merge/ 使用git fetch和git pull都可以更新远程仓库的代码到本地,但是它们之间还是有区别 git fetch git fetch origin master git log -p master..origin /master git merge origin /master 从远程的origin仓库的master主分支更新最新的版本到origin/master分支上 比较本地的master分支和origin/master分支的差别 合并内容到本地master分支 git pull git pull origin master 相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。 所以,简单的说git pull相当于git fetch后再做一个git merge。那么它们具体的区别如何分析呢,这就需要我们再认识下git了,先看看下面这张图: 我们知道,git其实有好几个区,工作区(workspace)、暂存区(index)、本地仓库(local repository),当然还有远程仓库(remote repository)。远程仓库为我们保存一份代码拷贝,如github,而工作区

git fetch和git pull之间的区别

拜拜、爱过 提交于 2019-12-26 02:52:08
http://blog.csdn.net/a19881029/article/details/42245955 Git fetch和 git pull都可以用来更新本地库,它们之间有什么区别呢? 每一个本地库下都有一个.git的隐藏文件夹,文件夹中的文件保存着跟这个本地库相关的信息 首先来看下其中的config文件 [plain] view plain copy [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [remote "origin"] url = git@github.com:seanzou88/fetch.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master 从这个文件中我们可以了解到: 1,本地库的当前分支为master,其关联的远程库名称为origin(不同的名称可以指向同一个远程库,参见git remote命令) 2,远程库origin所在的位置为(URL)