集群服务器

Redis集群部署

只愿长相守 提交于 2019-12-20 03:32:49
一.介绍 二.环境介绍 当前环境:centos7.4 一台 系统: CentOS Linux release 7.4.1708 (Core) 工具: SecureCRT(Xshell)以及SecureFX(Xftp) 编译环境: gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 安装包: redis-4.0.9.tar.gz 下载 (3.0开始支持集群功能) ruby-2.5.1.tar.gz 下载 (一般我们选择2.4或者2.5就行,尽量不要用yum安装,因为yum安装的ruby是2.0.0的,gem install redis ruby的版本必须是2.2.2以上) redis-4.0.0.gem 下载 zlib-1.2.11.tar.gz 下载 启动端口:7001 7002 7003 7004 7005 7006 配置文件:/app/redis/redis-cluster/ 本文当中,我们在一台Linux上搭建6个节点的Redis集群(实际生产环境,需要3台Linux服务器分布存放3个Master) 使用root用户安装,因为普通用户没有创建目录及编译等权限,需要授权 以下只讲述离线安装步骤 三.部署redis 第一步:安装gcc环境 查看gcc版本,如果没有安装则需要进行安装 gcc -v gcc version 4.8

Linux环境快速部署Zookeeper集群

狂风中的少年 提交于 2019-12-20 02:11:25
一、部署前准备:    1、下载ZooKeeper的安装包:      http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper-3.4.9。    2、将下载的zookeeper-3.4.9包放到/opt目录下,目录结构如下图所示:   3、在/tmp目录下新建一个zookeeper目录,并在zookeeper目录下新建一个data目录。   4、三台linux系统的ip:       ip1:10.43.98.6       ip2:10.43.98.8       ip3:10.43.98.18       5、安装jdk8:     下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,我选择的是jdk-8u112-linux-i586.tar.gz(Linux x64)。   下载下来后拷贝到/usr/java目录下,然后:tar-zxvf jdk-8u112-linux-i586.tar.gz解压后目录下有一个jdk1.8.0_111文件下。然后通过vi /etc/profile命令来设置环境变量:     export JAVA_HOME=/usr/java/jdk1.8.0_111  

ipvsadm集群

时间秒杀一切 提交于 2019-12-20 01:45:51
集群 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理 将很多服务器集中起来一起,提供同一种服务,在客户端看来就像是只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性,灵活性方面的相对较高的收益 任务调度是集群系统中的核心技术 集群分类 1.高性能计算集群HPC:通过以集群开发的并行应用程序,如计算密集型应用 2.负载均衡(LB)集群:客户端负载在计算机集群中尽可能平均分摊 3.高可用(HA)集群:避免单点故障,当一个系统发生故障时,可以快速迁移 LVS:可以实现高可用的,可伸缩的,web,mail,cache和media等网络服务 最终目标是利用Linux操作系统和LVS集群软件实现一个高可用,高性能,低成本的服务器应用集群 LVS集群组成 前端:负载均衡层 中间:服务器群组层 底端:数据共享存储层 LVS术语 Director Server:调度服务器 Real Server:真实服务器 VIP:虚拟IP地址:调度器对外的IP RIP:真实IP地址:集群节点上使用的IP地址 DIP:调度器连接节点服务器的IP地址:调度器对内的IP LVS与NGINX的区别 Nginx代理服务器需要对请求进行解包的过程,再封装转交给集群,反之也是如此,增加了大量封装解包的过程.ip层次来说,web服务器收到的请求的ip不是直接来自于客户端,而是来自于代理服务器.

nacos集群部署

故事扮演 提交于 2019-12-20 01:30:39
、首先 fork 一份 nacos 的代码到自己的 github 库,然后把代码 clone 到本地。  git地址:https://github.com/alibaba/nacos.git 2、然后将你的项目导入到ideal编辑器中(找到子项目distribution) 3、添加集群节点:找到文件distribution->conf->cluster.conf.example,复制一份去掉后缀.example,编辑cluster.conf,将节点修为   127.0.0.1:8841   127.0.0.1:8842   127.0.0.1:8843 4、修改数据源   在distribution->conf->application.properties中添加数据源(将mysql改成自己服务的链接地址,包括账号密码) 1 2 3 4 5 6 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.url.1=jdbc:mysql://127.0.0.1:3306/nacos

Redis 集群部署

纵然是瞬间 提交于 2019-12-19 23:35:38
一、下载所需软件包 redis         wget http://download.redis.io/releases/redis-4.0.6.tar.gz ruby          wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.5.tar.gz redis的gem包     wget https://rubygems.org/downloads/redis-4.0.0.gem gcc         yum -y install gcc gcc-c++ 二、部署redis(略,见另外一篇博文) 三、安装ruby   解压、编译、安装    tar -xvf ruby-2.5.1.tar.gz    ./configure --prefix=/opt/ruby    make && make install   添加环境变量      echo 'export PATH=$PATH:/opt/ruby-2.5.5/bin' >> /etc/profile    source /etc/profile 四、安装配置相关组件   创建redis集群目录    mkdir -pv /opt/redis-4.0.6/redis-cluster   拷贝文件到目录    cp /opt/redis-4.0.6/src

kubernetes 的 架构 及其 组件:

风格不统一 提交于 2019-12-19 21:53:47
文章目录 kubernetes 的架构: Master 和 Node: kubernetes集群组件: 1、Master 主要组件: 1.1、API Server —— 集群的网关 1.2、Controller —— 控制器 1.2.1、kube-controller-manager 1.2.2、cloud-controller-manager 1.3、Scheduler —— 调度器 2、Node 主要组件: 2.1、kubelet —— Node 核心代理程序 2.2、container runtime —— 容器运行时环境 2.3、 kube-proxy —— iptables规则 3、etcd —— 集群状态存储 4、其他组件: 4.1、kubeDNS(CoreDNS) 4.2、kubernetes Dashboard 4.3、Heapster —— 性能分析与监控 4.4、Ingress Controller —— 应用层负载均衡机制 这里是我自己写的一个 “小白学习 kubernetes” 的一个目录导航!跟我一样的小白可以跟着导航一起进行学习: kubernetes 学习导航: kubernetes 的架构: kubernetes 的架构是典型的 二层架构(c/s 架构) 。 由图可知: master 作为 集群的中枢,它是负责用户和集群内节点之间练习的联络点

MQ常问的问题

夙愿已清 提交于 2019-12-19 16:42:07
1:为什么使用MQ? 主要是:解耦、异步、削峰。 (1)解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。如果使用 MQ,A 系统产生一条数据,发送到 MQ 里面去,哪个系统需要数据自己去 MQ 里面消费。如果新系统需要数据,直接从 MQ 里消费即可;如果某个系统不需要这条数据了,就取消对 MQ 消息的消费即可。这样下来,A 系统压根儿不需要去考虑要给谁发送数据,不需要维护这个代码,也不需要考虑人家是否调用成功、失败超时等情况。 就是一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,如果用 MQ 给它异步化解耦。 (2)异步:A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。最终请求总延时是 3 + 300 + 450 + 200 = 953ms,接近 1s,用户感觉搞个什么东西,慢死了慢死了。用户通过浏览器发起请求。如果使用 MQ,那么 A 系统连续发送 3 条消息到 MQ 队列中

Rabbit安装(单机及集群,阿里云)

不打扰是莪最后的温柔 提交于 2019-12-19 16:12:20
Rabbit安装(单机及集群,阿里云) 前言 虽然我并不是部署人员,但是自己私人测试环境的各类东东还是得自己安装的。 尤其在规模不大的公司,基本安装部署工作都是后端的份内之事。 那么最令人痛苦的,莫过于自己就是安装大佬教程走,但是就是过不去。尤其是初学者,解决问题的能力,还不足,往往就直接卡死了。 其实还有另外一个问题,那就是很多的教程,包括许多视频的教学,大多采用不真实的环境。要么是多台虚拟机实现集群,要么是一台线上服务器走天下。当然作者们也有着诸多考虑,有的是为了学员可以零成本的感受安装,另一方面学员大多都是学习知识,而不是为了实际应用(真的懂得,又不大需要这个东东)。最重要的是,学习阶段,大部分安装都是单机的,可以满足需求了。 但是,我发现在很多的扣扣群,微信群依然存在着那么一批正式环境安装遇到各类问题,苦求无门的朋友。在我回复之后,部分人提议我可以将这部分经验发出来,帮助更多的人。 所以有了这个系列,我会通过真实的阿里服务器集群(三台),搭建各个中间件的集群等。 最后,由于打马赛克太麻烦了。并且我之后可能会开放安装视频,所以有的IP什么的,我并不方便打马赛克。但是希望你们不要做坏事儿哈。 Rabbit安装概述 简介 RabbitMQ是一款消息中间件,其安装分为: 单机安装(只有一台服务器,上面只有一个RabbitMQ的Broker实例) 多主集群转发数据

Redis Cluster 伪集群的搭建

风流意气都作罢 提交于 2019-12-19 09:58:09
简介    为何要搭建Redis集群? Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。   Redis集群搭建的方式有多种,例如使用客户端分片、Twemproxy、Codis等,但从 redis 3.0 之后版本支持redis-cluster集群,它是Redis官方提出的解决方案,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下: 客户端与 redis 节点直连,不需要中间 proxy 层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。 所有的 redis 节点彼此互联(PING-PONG 机制),内部使用二进制协议优化传输速度和带宽. 解决的问题: 1、单击版redis内存容量有限的问题 2、高并发场景下,单击版redis性能不高 3、单击版redis不具有高可用性,不能应用于生产环境 分布存储机制-槽 1, redis-cluster 把所有的物理节点映射到 [0-16383]slot 上 ,cluster 负责维护 node<

GFS分布式文件系统集群——实验

限于喜欢 提交于 2019-12-19 09:09:09
GFS分布式文件系统集群项目 群集环境 卷类型 卷名称 卷类型 空间大小 Brick dis-volume 分布式卷 40G node1(/b1)、node2(/b1) stripe-volume 条带卷 40G node1(/c1)、node2(/c1) rep-volume 复制卷 20G node3(/b1)、node4(/b1) dis-stripe 分布式条带卷 40G node1(/d1)、node2(/d1)、node3(/d1)、node4(/d1) dis-rep 分布式复制卷 20G node1(/e1)、node2(/e1)、node3(/e1)、node4(/e1) 实验准备 1、为四台服务器服务器每台添加4个磁盘 2、修改服务器的名称 分别修改为node1、node2、node3、node4 [ root @localhost ~ ] #hostnamectl set-hostname node1 [ root @localhost ~ ] # su 3、将四台服务器上的磁盘格式化,并挂载 在这里我们使用脚本执行挂载 #进入opt目录 [ root @node1 ~ ] # cd /opt #磁盘格式化、挂载脚本 [ root @node1 opt ] # vim a.sh #! /bin/bash echo "the disks exist list:"