美文网首页
几台服务器的架构的故事。

几台服务器的架构的故事。

作者: EchoBallon | 来源:发表于2017-11-03 17:12 被阅读0次

Hello,今天领导叫我们架构服务器,也给我们画了一些图告诉我们应该怎么架设。

不多说先上图,这里使用的阿里云的2台经典网络和2台专有网络进行搭建的。大概架构如下图。




一.这里简单的说明下,经典网络和专有网络的区别。


1.经典网络:阿里云统一分配的内网地址和公网地址,不能绑定弹性IP。

2.专有网络:能够绑定弹性IP,自己分配路由和交换机,隔离阿里网段,更加安全。

大概的购买配置是下面这样滴。


关于ClassicLink的配置问题,也就是解决经典网络和专有网络互通的问题,自己去阿里云学习下。这里就不多介绍。

这里贴出一个链接:help.aliyun.com/openSearchKnowledgeList.html


二.配置过程。

这里我们的4台服务器采用的是ubuntu 16.04.

1.我们的预期,是想做到master 为主,slave为从数据库,master里面也加一个redis,web走mater进行客户端交互,console读写分离。

2.redis的安装过程超级简单。

sudo apt-get install redis-server                              

3.现在来配置主从数据库

这里的列子.

(1).主从配置。

masterIP:192.168.1.22

slaveIP:192.168.2.33

(2).主数据库。

编辑 etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.1.22 #your master ip

server-id = 1 #在master-slave架构中,每台机器节点都需要有唯一的

server-id log_bin = /var/log/mysql/mysql-bin.log #开启binlog

重新service mysql restart

登录到数据库。

mysql> CREATE USER 'slave1'@'192.168.2.33' IDENTIFIED BY 'slavepass';

Query OK, 0 rows affected (0.00 sec)

##为slave1赋予REPLICATION SLAVE权限。

mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'192.168.2.33';

Query OK, 0 rows affected (0.00 sec)

先加上读锁。

。mysql> FLUSH TABLES WITH READ LOCK;

Query OK, 0 rows affected (0.00 sec)

再查看状态信息

mysql> SHOW MASTER STATUS;

如下图


然后再关闭读锁。

UNLOCK TABLES;

再把主数据库的数据dump下来保持主从数据库一直。

mysql -u root -p < /home/ubuntu/dbdump.sql

接着我用filezilla导入slave数据库。

(3).从数据库配置。

编辑 etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 192.168.2.33 #your slave ip

server-id = 2 #master-slave结构中,唯一的

server-id log_bin = /var/log/mysql/mysql-bin.log #开启binlog

然后再重启Mysql   service mysql restart

然后再导入刚才从master导入的数据库。

mysql -u root -p < /home/ubuntu/dbdump.sql

(4).建立连接。

 mysql> STOP SLAVE;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CHANGE MASTER TO

-> MASTER_HOST='192.168.1.22',

-> MASTER_USER='slave1',

-> MASTER_PASSWORD='slavepass',

-> MASTER_LOG_FILE='mysql-bin.000001',

-> MASTER_LOG_POS=613;

Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> START SLAVE;

Query OK, 0 rows affected (0.00 sec)

(5).一些解释。

MASTER_LOG_FILE='mysql-bin.000001'与MASTER_LOG_POS=613的值,是从上面的SHOW MASTER STATUS得到的。

OK了。

(6).最后可以把从数据库里面slave1这个权限设置成只读权限。

msyql>grant select on laravel.*  to slave1@ 192.168.1.22 ’’

这里的laravel就是主数据库建立过来,然后从数据库用slave1进行只能select查询就OK了。

(7).附上原文链接。

www.opsdash.com/blog/mysql-replication-howto.html

相关文章

  • 几台服务器的架构的故事。

    Hello,今天领导叫我们架构服务器,也给我们画了一些图告诉我们应该怎么架设。 不多说先上图,这里使用的阿里云的2...

  • 从0开始学架构 - 复杂度来源:低成本、安全、规模

    低成本 当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几...

  • 复杂度来源:低成本、安全、规模

    笔记 当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几百...

  • 43-MySQL-逻辑架构

    一、逻辑架构 1、MySQL服务器处理客户端请求 2、MySQL服务器架构MySQL服务器架构.png 2.1、C...

  • 01 服务器虚拟化介绍

    1. 物理基础架构 最基础的服务器物理架构图。 物理架构存在的问题: 难以移动和复制:在服务器迁移和新建服务器时需...

  • tcp_tw_recycle和tcp_timestamps导致c

    问题现象 一个搭建好的几台云服务器上面配置好了SNAT,其中某些通过公网访问A服务器通,而同样网络环境下的服务器访...

  • B端产品的心得

    1,硬件选型2,服务器买几台,硬件配置,可以管理的硬件配比情况,需要多少台服务器。 硬件施工安装。 B端 业务处理...

  • hbase的shell应用v2.0

    1.HBase体系架构 HBase的服务器体系结构遵循简单的主从服务器架构,它由HRegion服务器(HRegio...

  • Docker搭建Hadoop集群

    在学习Hadoop过程中,想要搭建Hadoop分布式集群,往往需要几台服务器或者再一台机器上搭建几台虚拟机;这两种...

  • IT: Zabbix手记

    Why 工作中需要管理一些服务器,相对之前几台服务器的量级,现在管理的服务器的数量会上升到几十台。这个时候,之前简...

网友评论

      本文标题:几台服务器的架构的故事。

      本文链接:https://www.haomeiwen.com/subject/uxwzpxtx.html