如何实现集群技术
1)强扩展能力
其他扩展技术,通常仅能支持儿十个CPU 的扩展,扩展能力有限。而采用集群技术的集群系统则可以扩展到包括成百上千个CPU的多台服务穗,扩展能力具有明显优势。集群服务还可不断进行调整,以满足不断增长的应用需求。当集群的整体负荷超过集群的实际能力时,还可以添加额外的节点。
2)实现方式容易
服务器集群技术相对其他扩展技术来说更加容易实现,主要是通过软件进行的。在硬件上可以把多台性能较低、价格便宜的服务器,通过集群服务集中连接在一起即可实现整个服务器系统成倍,甚至几十、几百倍地增长。无论是从软硬件构成成本上来看,还是从技术实现成本上来看都较其他扩展方式低。
3)高可用性
使用集群服务拥有整个集群系统资源的所有权。如磁盘驱动器和IP地址将自动地从有故障的服务器上转移到可用的服务器上。当集群中的系统或应用程序出现故障时,集群软件将在可用的服务器上,重启失效的应用程序,或将失效节点上的工作分配到剩余的节点上。在切换过程中,用户只是觉得服务暂时停顿了一下。
4)易管理性
可以使用集群管理器来管理集群系统的所有服务器资源和应用程序,就像它们都运行在同一个服务器上一样。可以通过拖放集群对象,在集群里的不同服务器间移动应用程序,也可以通过同样的方式移动数据,还可以通过这种方式来手工地平衡服务器负荷、卸载服务器,从而方便地进行维护。同时,还可以从网络的任意地方的节点和资源处,监视集群的状态。当失效的服务器连回来时,将自动返回工作状态,集群技术将自动在集群中平衡负荷,而不需要入工干预。
确定下你的集群提供哪个协议服务,比如TCP服务。(当然也可以多协议混搭,我的就是HTTP提供主服务,TCP提供命令管理)。然后选择一个消息格式用于RPC通信(JSON,XML,ProtocolBuffer等),这个很关键,(encode,decode)直接影响你集群的处理速度。当这些都确定后,你可以用mina写一个Slave,比如就是很简单的HelloWorld,消息格式为JSON。测试ok后将这个Slave复制多份,那么这就是一个Slave群了。
CentOS 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。
环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192168122168 ,主机名node2的IP为192168122169 。
一、安装集群软件必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件
二、配置防火墙
1、禁止防火墙和selinux
修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效
2、设置防火墙规则
三、各节点之间主机名互相解析分别修改2台主机名分别为node1和node2,在centos 7中直接修改/etc/hostname加入本机主机名和主机表,然后重启网络服务即可。
配置2台主机的主机表,在/etc/hosts中加入
四、各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。
五、各节点之间配置ssh的无密码密钥访问。下面的操作需要在各个节点上操作。
两台主机都要互相可以通信,所以两台主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都要解析对方的主机名, 192168122168 node1 192168122169 node2
六、通过pacemaker来管理高可用集群
1、创建集群用户
一、主从服务器
1、两台服务器。主服务器Master复制数据的更新、插入、删除等操作; 从服务器Slave负责查询(读写分离,减缓服务器压力)
2、主服务器更新数据的同时更新从服务器的数据(数据备份)
3、当主服务器出现文件时,可用从服务器代替主服务器,保证网站的正常运行,同时检测主服务器存在的问题。注意:从服务器仍然只有查询功能,如银行系统更新时只能查询余额,不能存取款。(服务器可用性)
4、当把从服务器真正设置为主服务器时(即主从服务器设置调换),拥有更新数据的功能。
5、MyISAM不支持事务,但查询性能比InnoDB强;InnoDB支持事务,更新操作性能比MyISAM强。因此,主服务器可以设置成MyISAM存储引擎,从服务器可以设置成InnoDB存储引擎(灵活设置存储引擎)
二、负载均衡
1、多台服务器。一个域名映射到多台服务器IP。
2、用户发出请求,提交到负载均衡服务器,由负载均衡服务器发送请求到不同的服务器。
3、负载均衡服务器选取服务器方法(负载均衡算法):
1、轮询:每台服务器轮换
2、加权轮询:为了应对某些服务器性能好,可以让他们的权重高一点,被选中的几率大一些。
3、最少连接:哪台服务器处理的连接少,就发给哪台服务器。
4、随机
4、存在的问题:客户端存在缓存,如果服务器出现故障,客户端报错。
5、分类:DNS负载均衡、HTTP负载均衡、IP负载均衡、反向代理负载均衡。
三、服务器集群
1、多台服务器协同工作,每台服务器叫做集群的一个“节点”,每个节点都提供相同的服务。
2、优点:高性能、高可用性、可伸缩性
3、分类:负载均衡集群、高可用性集群、高性能集群
四、分布式架构
1、按照业务功能,将一个完整的系统拆分成一个个独立的子系统,每个子系统成为“服务”。子系统可以独立运行在web容器中,它们之间通过RPC方式通信。
五、微服务架构
六、消息队列
七、RPC
八、分布式、集群和微服务之间的联系:
1、分布式、集群分散压力
2、微服务分散功能
3、集群:每台服务器提供相同的服务
4、分布式:按照功能拆分服务器,每台服务器可以独立运行,依赖一个中心运用。
5、微服务:按照功能拆分服务器,每台服务器应用独立运行。
-+-+-+-+-+-+-+-+-+-+-+-
-+-+mysql的主从配置+-+-
-+-+-+-+-+-+-+-+-+-+-+-
#############################################################################
常用命令
1安装一个mysqld服务
mysqld install
2开启mysql服务 关闭mysql服务
net start mysql net stop mysql
2开启一个 mysql 的 3307端口
命令行 进入解压目录\bin目录下
解压目录\bin> mysql -uroot -p -P3307 -h127001
-u 用户名
-p密码
-P端口
-h网址
#启动从库
Start slave
#停止从库
Stop slave
#############################################################################
开始
用一台电脑测试
先在本电脑上安装一个mysql(集成的也行)
解压文件
然后解压另一个mysql到电脑目录
》》》》》1
在解压目录创建一个mysqlini
把一下文档写进去配置一个端口号为3307
#mysqld
[mysqld]
port=3307
basedir=D:\mysqlsever #D:\mysqlsever 改成你解压目录
datadir=D:\mysqlsever\data #D:\mysqlsever 改成你解压目录
安装一个mysqld服务 mysqld install
开启mysql服务 net start mysql
不能正常启动请查看配置
》》》》2
#主库3306
在命令行或者
grant 权限 on 数据库对象 to 用户
GRANT all privileges REPLICATION SLAVE,RELOAD,SUPER ON
TO mysql_backup1@''
IDENTIFIED BY '123456'with grant option;
flush privileges;
》》》3
在主库运行 SHOW MASTER STATUS //运行后查看File和Postion
如 File mysql-bin000002 Postion 120
在从库运行
CHANGE MASTER TO master_host = '127001',
master_user = 'mysql_backup',
master_password = '123456',
master_log_file = 'mysql-bin000001',#看上面的File 从库对照主库写
master_log_pos = 4791;#看上面的Postion 从库对照主库写
如果报错就停止就重新运行
#启动从库
Start slave
#停止从库
Stop slave
在从库运行 Show slave status
Slave_IO_Running
Slave_SQL_Running
两个字段全部是是Yes基本上就成功了
测试
在主库上建立一个表 在从库上刷新
############################################################################
0条评论