集群服务器

安装搭建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:/

MySQL集群MGR架构for单主模式

那年仲夏 提交于 2020-03-05 18:19:51
本文转载自: https://www.93bok.com MGR简介 MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MySQL组复制提供了高可用、高扩展、高可靠的MySQL集群服务。 1)高一致性 基于原生复制及paxos协议的组复制技术,并以插件的方式提供,提供一致数据安全保证; 2)高容错性 只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理,并且内置了自动化脑裂防护机制; 3)高扩展性 节点的新增和移除都是自动的,新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致,如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息; 4)高灵活性 有单主模式和多主模式,单主模式下,会自动选主,所有更新操作都在主上进行;多主模式下,所有server都可以同时处理更新操作。 MGR是MySQL数据库未来发展的一个重要方向。 MGR基础结构要求 1、引擎必须为innodb,因为需事务支持在commit时对各节点进行冲突检查 2、每个表必须有主键,在进行事务冲突检测时需要利用主键值对比 3、必须开启binlog且为row格式 4、必须打开GTID特性,且主从状态信息存于表中 (--master-info

从ELK到EFK

冷暖自知 提交于 2020-03-05 12:49:02
背景 作为中国最大的在线教育站点,目前沪江日志服务的用户包含沪江网校,交易,金融,CCtalk(直播平台) 等多个部门的多个产品的日志搜索分析业务,每日产生的各类日志有好十几种,每天处理约10亿条(1TB)日志,热数据保留最近7天数据,冷数据永久保存。 为什么做日志系统 首先,什么是日志? 日志就是程序产生的,遵循一定格式(通常包含时间戳)的文本数据 通常日志由服务器生成,输出到不同的文件中,一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。 通常当系统发生故障时,工程师需要登录到各个服务器上,使用 grep / sed / awk 等 Linux 脚本工具去日志里查找故障原因。在没有日志系统的情况下,首先需要定位处理请求的服务器,如果这台服务器部署了多个实例,则需要去每个应用实例的日志目录下去找日志文件。每个应用实例还会设置日志滚动策略(如:每天生成一个文件),还有日志压缩归档策略等。 这样一系列流程下来,对于我们排查故障以及及时找到故障原因,造成了比较大的麻烦。因此,如果我们能把这些日志集中管理,并提供集中检索功能,不仅可以提高诊断的效率,同时对系统情况有个全面的理解,避免事后救火的被动。 我认为,日志数据在以下几方面具有非常重要的作用: 数据查找:通过检索日志信息,定位相应的 bug ,找出解决方案 服务诊断:通过对日志信息进行统计、分析

FastDFS 集群部署

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-05 12:22:07
服务器规划: VIP :10.100.139.129 跟踪服务器 1 【主机】( Tracker Server ): 10.100.139.121 跟踪服务器 2 【 备 机】( Tracker Server ): 10.100.138.180 存储服务器 1 ( Storage Server ): 10.100.139.121 存储服务器 2 ( Storage Server ): 10.100.138.180 存储服务器 3 ( Storage Server ): 10.100.138.153 操作系统: CentOS7 用户: root 数据存储目录: 应用 安装目录 Nginx /opt/nginx Fastdfs /usr/bin Keepalived /usr/local 安装包 /home/yxgly/resources è /usr/local/src Tracker_data /fastdfs/tracker Storage_data /fastdfs/storage 安装包: FastDFS_v5.08.tar.gz : FastDFS 源码 libfastcommon-master.zip :(从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库) fastdfs-nginx-module-master.zip : storage 节点

redis学习总结

旧街凉风 提交于 2020-03-05 10:49:42
什么是redis redis是一个nosql(not only sql不仅仅只有sql)数据库.翻译成中文叫做非关系型型数据库. 关系型数据库:以二维表形式存储数据 非关系型数据库: 以键值对形式存储数据(key, value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. redis底层用C语句编写. redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中, redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在10万次每秒最有,具体限制于硬件. 缺点:对持久化支持不够良好, 所以redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用. redis应用领域 分布式缓存 分布式session 保存博客或者论坛的留言回复等. 总之是用在数据量大,并发量高的情况下 怎么用 redis主要就是使用命令来进行操作,java端在代码中可以使用Jedis来操作redis服务器 redis数据类型 字符串String 列表list redis中使用的是双向循环链表来实现的list,在redis中更像栈 散列Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合set set中数据是无序的并且不允许重复 有序集合zset redis会根据分数自动排序,这里可以使用在学生成绩排序,

ceph nautilus版本手动安装

怎甘沉沦 提交于 2020-03-05 07:22:47
一、准备工作 测试环境: vmware workstation15制作centos7虚拟机四台,分别命名为admin、node01、node02、node03.....(可安装一台,其他克隆即可)。 四台机器,一台admin,其他三台为node01,node02和node03。node01、node02和node03均为两块硬盘,一块安装系统,另一块做为osd。 测试环境都为一块网卡一个网络(实际环境分公共网络public network和集群网络cluster network)。 0、最小化安装centos7,配置网络连通性。(实际环境除了osd节点mon节点需要至少两块网卡) # vi /etc/sysconfig/network-scripts/ifcfg-ens* BOOTPROTO=none ONBOOT=yes IPADDR=192.168.129.131 NETMASK=255.255.255.0 GATEWAY=192.168.129.2 DNS1=8.8.8.8 1、关闭防火墙墙 #systemctl stop firewalld #systemctl disable firewalld 2、关闭selinux # setenforce 0 #vi /etc/selinux/config 修改SELINUX=disabled SELINUX=disabled

高可用集群-Keepalived

倖福魔咒の 提交于 2020-03-05 07:15:34
Keepalived keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层、第 4 层和第5 层交换。 Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后Keepalived 自劢将 web 服务器加入到服务器群中,这些工作全部自劢完成,不需要人工干涉,需要人工做的只是修复故障的 web 服务器。 工作原理 Layer3,4&5 工作在 IP/TCP 协议栈的 IP 层, TCP 层,及应用层,。 Layer3: Keepalived 使用 Layer3 的方式工作式时, Keepalived 会定期向服务器群中的服务器发送一个 ICMP 的数据包(既我们平时用的 Ping 程序) , 如果发现某台服务的 IP 地址没有激活,Keepalived 便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。 Layer3 的方式是以服务器的 IP 地址是否有效作为服务器工作正常不否的标准。 Layer4: 主要以 TCP 端口的状态来决定服务器工作正常不否。如 web server 的服务端口一般是80,如果 Keepalived 检测到 80

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

Azkaban集群部署

情到浓时终转凉″ 提交于 2020-03-05 04:34:09
工作流调度系统产生背景 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序、hive脚本等。 各个任务单元之间存在时间先后依赖关系。 为了很好地组织起这样的复杂执行计划,需要一个工作流调度系统来调度执行; 简单的任务调度: 直接使用linux的crontab来定义,但是缺点也是比较明显,无法设置依赖。 复杂的任务调度:Azkaban Azkaban 调度器 azkaban一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流 Azkaban集群部署 1.准备工作 Azkaban Web服务器 azkaban-web-server-2.5.0.tar.gz Azkaban执行服务器 azkaban-executor-server-2.5.0.tar.gz MySQL 本文档中默认已安装好mysql服务器。 2.上传安装包 将安装包上传到集群,最好上传到安装hive、sqoop的机器上,方便命令的执行。 新建azkaban目录,用于存放azkaban运行程序。 3.azkaban web 服务器安装 解压azkaban-web-server-2.5.0.tar.gz 命令: tar –zxvf

2018年3月29日 11:02:33 关于docker分享之分布式存储 glusterfs

流过昼夜 提交于 2020-03-04 19:13:16
2018年3月29日 11:02:33 关于docker分享之分布式存储 glusterfs 经典语录: 实际实验搭建: 前提 是要保证 一个 /data目录不和根分区在同一个磁盘! 1、centos7安装glusterfs 参考链接: https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart #To Use the RPMs from Storage SIG, you need to install the centos-release-gluster RPM as it will provide the required YUM repository files. This RPM is available from CentOS Extras. yum install centos-release-gluster -y yum --enablerepo=centos-gluster*-test install glusterfs-server -y systemctl enable glusterd systemctl start glusterd systemctl status glusterd 2、组建集群(配置信任存储池): #从glusterfs官网跳转过来的 [root