服务器群集怎么搭建
㈠ 如何在LINUX服务器上搭建群集
1.2.并行技术
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2.使用MPICH构建一个四节点的集群系统
这是一个非常简单的建造四节点的小集群系统的例子,它是构建在Linux操作系统上,通过MPICH软件包实现的,希望这个小例子能让大家对集群系统的构建有一个最基本的了解。
2.1
所需设备
1).4台采用Pentium
II处理器的PC机,每台配
置64M内存,2GB以上的硬盘,和EIDE接口的光盘驱动器。
2).5块100M快速以太网卡,如SMC
9332
EtherPower
10/100(其中四块卡用于连接集群中的结点,另外一块用于将集群中的其中的一个节点与其它网络连接。)
3).5根足够连接集群系统中每个节点的,使用5类非屏蔽双绞线制作的RJ45缆线
4).1个快速以太网(100BASE-Tx)的集线器或交换机
5).1张Linux安装盘
2.2
构建说明
对计算机硬件不熟的人,实施以下这些构建步骤会感到吃力。如果是这样,请找一些有经验的专业人士寻求帮助。
1.
准备好要使用的采用Pentium
II处理器的PC机。确信所有的PC机都还没有接上电源,打开PC机的机箱,在准备与网络上的其它设备连接的PC机上安装上两块快速以太网卡,在其它的
PC机上安装上一块快速以太网卡。当然别忘了要加上附加的内存。确定完成后盖上机箱,接上电源。
2.
使用4根RJ45线缆将四台PC机连到快速以太网的集线器或交换机上。使用剩下的1根RJ45线将额外的以太网卡(用于与其它网络相连的那块,这样机构就可以用上集群)连接到机构的局域网上(假定你的机构局域网也是快速以太网),然后打开电源。
3.
使用LINUX安装盘在每一台PC机上安装。请确信在LINUX系统中安装了C编译器和C的LIB库。当你配置TCP/IP时,建议你为四台PC分别指定为192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4。第一台PC为你的服务器节点(拥有两块网卡的那台)。在这个服务器节点上的那块与机构局域网相连的网卡,你应该为其指定一个与机构局域网吻合的IP地址。
4.当所有PC都装好Linux系统后,编辑每台机器的/etc/hosts文件,让其包含以下几行:
192.168.1.1
node1
server
192.168.1.2
node2
192.168.1.3
node3
192.168.1.4
node4
编辑每台机器的/etc/hosts.equiv文件,使其包含以下几行:
node1
node2
node3
node4
$p#
以下的这些配置是为了让其能使用MPICH’s
p4策略去执行分布式的并行处理应用。
1.
在服务器节点
,建一个/mirror目录,并将其配置成为NFS服务器,并在/etc/exports文件中增加一行:
/mirror
node1(rw)
node2(rw)
node3(rw)
node4(rw)
2.
在其他节点上,也建一个/mirror目录,关在/etc/fstab文件中增加一行:
server:/mirror
/mirror
nfs
rw,bg,soft
0
0
3.
/mirror这个目录从服务器上输出,装载在各个客户端,以便在各个节点间进行软件任务的分发。
4.
在服务器节点上,安装MPICH。MPICH的文档可在
5.任何一个集群用户(你必须在每一个节点新建一个相同的用户),必须在/mirror目录下建一个属于它的子目录,如
/mirror/username,用来存放MPI程序和共享数据文件。这种情况,用户仅仅需要在服务器节点上编译MPI程序,然后将编译后的程序拷贝到在/mirror目录下属于它的的子目录中,然后从他在/mirror目录下属于它的的子目录下使用p4
MPI策略运行MPI程序。
㈡ 手把手教你如何搭建Mysql三主集群mysql三主集群搭建
手把手教你:如何搭建MySQL三主集群
MySQL是一个流行的开源数据库管理系统,广泛应用于各种企业应用程序中。但是,对于大型企业来说,单节点MySQL往往无法满足性能和可靠性的要求。这时候,搭建MySQL集群就成为必然选择之一。本文将介绍如何搭建MySQL三主集群,以满足企业级应用的要求。
步骤一:准备MySQL三主集群的环境
1. 安装MySQL:在每个物理服务器上安装MySQL
2. 确认三个MySQL实例都连接到同一个局域网,可以直接通信
3. 确定全部的MySQL实例的设置均相同,只有一个实例需要做修改
步骤二:启动MySQL实例
所有MySQL实例都应该被启动。当有实例崩溃或者强制关闭时,其他实例仍然能够正常工作,于是就可以确保业务连续性。
MySQL服务可以通过如下命令启动:
systemctl start mysqld
步骤三:创建用户账号并分配权限
使用超级管理员(root)账号登录MySQL,然后创建一个新用户,分配所有集群节点的root用户的所有权限,如下:
mysql> CREATE USER ‘cluster_root_user’@’%’ IDENTIFIED BY ‘password’;
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘cluster_root_user’@’%’;
步骤四:创建复制账号并分配权限
在所有节点的MySQL中,如下创建一个专门的需要复制的账号来进行数据同步:
mysql> CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password’;
mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
步骤五:配置主库
在主数据库节点的MySQL配置文件my.cnf中增加如下配置项:
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = db1
binlog_do_db = db2
binlog_do_db = db3
这些配置项包括:
1. server-id:每个节点必须有一个唯一的server-id,1为最好的起点;
2. log_bin:使用binlog进行同步的话,则要记录日志;
3. binlog_do_db:All的代替语句,主要过滤掉一些数据;
步骤六:获取主库状态
启动主库后, 执行如下SQL命令,获取主库的状态:
mysql> SHOW MASTER STATUS;
输出如下:
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 | 107 | mysql | |
+——————+———-+————–+——————+
需要关注的主要是File和Position两个字段的值。
步骤七:配置从库
在从数据库节点的my.cnf文件中增加如下配置项:
server-id = 2
relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index = /var/lib/mysql/mysql-relay-bin.index
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = db1
binlog_do_db = db2
binlog_do_db = db3
这些配置项包括:
1. server-id:每个节点必须有一个唯一的server-id,此处设为2;
2. relay_log:中转文件,记录主库的binlog日志,从库重新生成并执行;
3. relay_log_index:relay日志索引;
在MySQL中设置从库的同步过程:
mysql> CHANGE MASTER TO
-> MASTER_HOST=’master_ip’,
-> MASTER_PORT=3306,
-> MASTER_USER=’repl’,
-> MASTER_PASSWORD=’password’,
-> MASTER_LOG_FILE=’mysql-bin.000001′,
-> MASTER_LOG_POS=107;
mysql> START SLAVE;
步骤八:验证从库状态
执行如下两个命令,检查从服务器是否正确连接到主服务器:
mysql> SHOW SLAVE STATUS\G
mysql> SELECT * FROM employees LIMIT 10;
其中,SHOW SLAVE STATUS\G将会返回当前从服务器的状态,可以查看是否有错误。另一个命令可以帮助验证是否从主服务器复制了数据。
步骤九:添加更多的从库
使用相同的步骤,可将更多的从数据库节点添加到集群中。
至此,MySQL三主集群已经搭建成功。大家可以进行测试,看看是否可以实现数据同步功能。不过需要注意的是,在实际情况下,还需要额外考虑如负载均衡和数据备份等问题,以确保集群系统的高可用性和可靠性。
附:相关代码
—————————–在主服务器上的操作—————————–
CREATE USER ‘cluster_root_user’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON *.* TO ‘cluster_root_user’@’%’;
CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password’;
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
# 修改my.cnf文件的配置,让从服务器通过网络连接到主服务器
# 在my.cnf文件末尾增加以下设置:
server-id=1
log_bin=/var/log/mysql-bin.log
binlog_do_db=db1
binlog_do_db=db2
binlog_do_db=db3
# 保存后重启MySQL使设置生效
systemctl restart mysqld
# 查看主服务器状态
mysql> SHOW MASTER STATUS;
—————————–在从服务器上的操作—————————–
# 修改my.cnf文件的配置,让从服务器通过网络连接到主服务器
# 在my.cnf文件末尾增加以下设置:
server-id=2
relay_log = /var/lib/mysql/mysql-relay-bin
relay_log_index = /var/lib/mysql/mysql-relay-bin.index
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db=db1
binlog_do_db=db2
binlog_do_db=db3
# 保存后重启MySQL使设置生效
systemctl restart mysqld
# 在MySQL中设置从服务器
mysql> CHANGE MASTER TO
-> MASTER_HOST=’master_ip’,
-> MASTER_PORT=3306,
-> MASTER_USER=’repl’,
-> MASTER_PASSWORD=’password’,
-> MASTER_LOG_FILE=’mysql-bin.000001′,
-> MASTER_LOG_POS=107;
mysql> START SLAVE;
# 验证从服务器状态
mysql> SHOW SLAVE STATUS\G
mysql> SELECT * FROM employees LIMIT 10;