原始环境:tomcat做网站,数据库一主一从,两台调度器(haproxy+keepalived)多台网站服务器,多台(6台以上)ceph文件存储
现在把网站的tomcat平台升级为LNMP架构以及优化网站的速度,添加redis存储(提高用户体验),把mysql集群,升级为PXC集群。,并且在MYSQL实现负载均衡以及高可用的方案。
升级思路:
1:配置三台LNMP的环境(此时用三台服务器代表网站服务器集群)
停止网站服务,
卸载共享存储
配置LNMP环境:编译、安装、配置、起服务、编写脚本测试mysql
一、升级网站运行平台 tomcat(java) ----> LNMP(PHP)
1.1 清除当前环境 1.1.1 停止tomcat服务 1.1.2 卸载当前挂载 1.1.3 禁止开机挂载 1.2 部署LNMP 1.2.1 安装源码的Nginx 1.2.2 安装php 和 php-fpm 、php-devel php-mysql 1.2.3 修改nginx主配置文件 挂载30主机的共享目录 1.2.4 启动nginx 服务 1.2.5 启动php-fpm服务
1.3 测试配置 1.3.1 在30主机 编写PHP脚本连接11 存储数据 [root@nfs30 ~]# vim /sitedir/test2.php <?php $conn=mysql_connect("192.168.4.11","plj","123qqq...A"); mysql_select_db(“gamedb"); $sql = 'insert into user (name,password) values ("jing","123456")'; mysql_query($sql); mysql_close(); echo "save data ok"; ?>
图形页面注册 [root@host30 ~]# vim /sitedir/tx.html <html> <body> <form action="test3.php" method="post" > username:<input type="text" name="username" size="20" maxlength="15" /> <br/> <br/> password:<input type="password" name="password" size="20" maxlength="15" /> <br/><br/> <input type="submit" name="submit" value="zhuche" /> <input type="reset" name="cancel" value="quxiao" /> </form> </body>
vim /sitedir/test3.php <?php $password = $_POST['password']; $username = $_POST['username']; $conn = mysql_connect("192.168.4.11","plj","123qqq...A"); mysql_select_db("gamedb", $conn); $sql = "insert into user values ('$username','$password')"; mysql_query($sql,$conn); echo "save ok" ; ?>
在客户端访问网站 33 http://192.168.4.33/tx.html plja 123456 在 数据库服务器本机查看图形界面输入的用户和密码 [root@mysql11 ~]# mysql -uroot -p123qqq...A -e 'select * from gamedb.user' 二、部署内存存储服务 (实现网站加速,把网站的热点数据,事先存储在内存服务服务器里) 2.1 创建redis集群 1 准备6台redis服务器 2 分别启用6台服务的集群功能 3 配置管理主机 4 创建集群 (6台集群都不允许有数据和连接密码) 5 查看集群信息 时间到11:50 2.2 配置网站可以连接redis集群 1 安装软件提供模块 redis-cluster-4.3.0.tgz 2 调用模块 3 查看Redis模块 2.3 测试集群 2.3.1 在 30主机的共享目录下编写php脚本 #编写存储数据的脚本 ]#vim /sitedir/set.php <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; $client = new RedisCluster(NUll,$redis_list); $client->set("i","tarenaA "); $client->set("j","tarenaB "); $client->set("k","tarenaC "); echo "save data over" ?> :wq
#查询数据脚本 ]# vim /sitedir/get.php <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; $client = new RedisCluster(NUll,$redis_list); echo $client->get("i"); echo $client->get("j"); echo $client->get("k"); ?> :wq 存储+查询 ]# vim /sitedir/sg.php <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; $client = new RedisCluster(NUll,$redis_list); $client->set("school","tarena"); echo $client->get("school"); ?>
2.3.2 在客户端访问33网站服务器执行脚本 ]# curl http://192.168.4.33/set.php
2:先把PXC集群中的其中一台服务器做成原始MYSQL主服务器的从服务器。用热备的方式进行全备,全备完后,停止全备的mysql服务,删除mysql的所有软件包,但不删除关于mysql的所有内容。卸载完成后,开始装PXC软件包,配置PXC内部的信息(此时,在内部有添加集群的信息,请务必不要填写任何集群。为什么不需要填写?),启动PXC服务。此时配置第二台和第三台PXC服务器,在集群的内部填写PXC1的IP以及自身的IP(把PXC1中的数据同步到自生)。此时都同步完成后,在PXC1创建一个表以及添加一个字段在内部添加些许内容(试一下其他两台服务器内容是否同步,如果同步。)。如果同步则在所有PXC机子内的集群配置信息,填写齐所有PXC集群信息的IP。填写完成后,我们在其中PXC1集群创建的表内,添加一个字段并且设置主机且设置为自增长。
以上操作就已经把数据库的所有信息同步到PXC集群中。
3:用两台服务器做成PXC集群的负载均衡以及高可用
我们可以在内部安装HAPROXY和keepalived软件实现PXC集群的负载均衡以及高可用
四、部署集群 4.1 LB集群(带健康检查的LB集群) 使用IP地址ip 192.168.4.99 做调度器 把请求 平均分发给PXC集群中的主机 66 10 88 192.168.4.99做如下配置: 1 安装haproxy软件 yum -y install haproxy 2 修改配置文件 [root@haproxy99 ~]# vim /etc/haproxy/haproxy.cfg listen mysql_3306 *:3306 mode tcp //mysql 使用 tcp 协议 option tcpka //使用长连接 balance roundrobin //调度算法 server mysql_01 192.168.4.66:3306 check server mysql_02 192.168.4.10:3306 check server mysql_03 192.168.4.88:3306 check 3 启动haproxy服务 [root@haproxy99 ~]# systemctl start haproxy [root@haproxy99 ~]# netstat -utnlp | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1271/haproxy 4 web33 连接调度器99 访问mysql服务 [root@web33 ~]# mysql -h192.168.4.99 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc10 | +------------+ [root@web33 ~]# mysql -h192.168.4.99 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc88 | +------------+ [root@web33 ~]# mysql -h192.168.4.99 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | host66 | +------------+ [root@web33 ~]# 4.2 HA集群 (解决调度器99 主机的 单点故障问题) 让192.168.4.98 主机做备用的调度器,具体配置如下: 1. 安装haproxy软件 yum -y install hapxory 2. 修改配置文件 host99]# scp /etc/haproxy/haproxy.conf root@!92.168.4.98:/etc/haproxy/ 3. 启动haprxoy服务 systemctl start haproxy netstat -utnlp | grep 3306 测试备用的调度器98 [root@web33 ~]# mysql -h192.168.4.98 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc10 | +------------+ [root@web33 ~]# mysql -h192.168.4.98 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc88 | +------------+ [root@web33 ~]# mysql -h192.168.4.98 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | host66 | +------------+ 4. 配置ha集群 4.1 分别在 99 和 98 主机 安装kepalived软件 ]# yum -y install keepalived 4.2 分别修改99 和 98 主机 配置文件目录) host99]# ]# vim /etc/keepalived/keepalived.conf #删除文件中37行开始的下方所有行 vrrp_iptables } vrrp_instance VI_1 { state MASTER 角色 interface eth0 vip 部署的网卡口 virtual_router_id 51 priority 150 优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.4.100 vip地址 } } :wq [root@haproxy99 ~]# scp /etc/keepalived/keepalived.conf root@192.168.4.98:/etc/keepalived/ host98]# vim /etc/keepalived/keepalived.conf vrrp_iptables } vrrp_instance VI_1 { state BACKUP 角色 interface eth0 virtual_router_id 51 priority 100 优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.4.100 } } 4.3 分别启动99 和 98 主机keepalived服务 [root@haproxy99 ~]# systemctl start keepalived [root@haproxy98 ~]# systemctl start keepalived 4.4 查看vip 地址 [root@haproxy99 ~]# ip addr show | grep 192.168.4.100 inet 192.168.4.100/32 scope global eth0 5.测试高可用集群 5.1 在99主机停止keepalived服务 5.2 在98 可以查看到 Vip 地址 6 网站33主机 连接vip地址 访问数据库服务 [root@web33 ~]# mysql -h192.168.4.100 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc10 | +------------+ [root@web33 ~]# mysql -h192.168.4.100 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | pxc88 | +------------+ [root@web33 ~]# mysql -h192.168.4.100 -uplj -p123qqq...A -e 'select @@hostname' +------------+ | @@hostname | +------------+ | host66 | +------------+ [root@web33 ~]#
4:设置redis集群,提高用户的体验
准备七台服务器:其中六台作为redis服务器,一台作为redis集群的管理机。
三、数据迁移 (在线迁移) 3.1 把66主机配置为11的slave 服务器,具体操作如下: 1 安装软件mysql-5.7.17.tar 2 修改配置文件 (指定server_id=66) 3 启动mysqld服务 4 确保数据一致 (使用innobackupex命令) 4.1 配置11主机 具体操作如下 : ]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm ]# yum -y install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm ]# innobackupex --user root --password 123qqq...A --slave-info /allbak --no-timestamp //--slave-info 记录日志信息 ]# scp -r /allbak root@192.168.4.66:/root/ 4.2 配置66主机,具体操作如下 : ]# rpm -ivh libev-4.15-1.el6.rf.x86_64.rpm ]# yum -y install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm #使用备份文件恢复数据 325 innobackupex --apply-log /root/allbak 326 innobackupex --copy-back /root/allbak 327 ls /var/lib/mysql 328 ls /var/lib/mysql -l 329 chown -R mysql:mysql /var/lib/mysql 330 ls /var/lib/mysql -l 331 systemctl start mysqld 332 mysql -uroot -p123qqq...A mysql> select * from gamedb.user; mysql> select user from mysql.user; 5 指定主服务器 (change master to) [root@host66 ~]# grep "master11" /root/allbak1/xtrabackup_info binlog_pos = filename 'master11.000003', position '966' ]#mysql -uroot -p123qqq...A mysql> change mater to master_host="192.168.4.11", master_user="repluser",master_password="123qqq...A", master_log_file="master11.000003",master_log_pos=966; mysql> start slave; 6 查看状态信息 show slave statusG; Slave_IO_Running: Yes Slave_SQL_Running: Yes Master_Host: 192.168.4.11 7 在33主机,命令行连接11 存储数据 [root@web33 ~]# mysql -h192.168.4.11 -uplj -p123qqq...A -e ' insert into gamedb.user values("jerry","787878")' 8 在66主机可以查看到同样的数据 [root@web33 ~]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user where user="jerry"' 3.2 创建PXC集群 3.2.1 在pxcnode66主机,做如下配置: 停止mysqld服务 systemctl stop mysqld 卸载mysqld服务软件 ]# rpm -qa | grep mysql ]# rpm -e --nodeps mysql-community-common mysql-community-devel mysql-community-test mysql-community-minimal-debuginfo mysql-community-libs mysql-community-server mysql-community-embedded mysql-community-embedded-devel mysql-community-embedded-compat mysql-community-client mysql-community-libs-compat 安装PXC软件 ]# cd pxc ]# rpm -q libev || yum -y install libev-4.15-1.el6.rf.x86_64.rpm ]# yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm ]# yum -y install qpress-1.1-14.11.x86_64.rpm ]# tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar ]# yum -y install Percona-XtraDB-Cluster-*.rpm 修改配置文件 [root@host66 pxc]# cd /etc/percona-xtradb-cluster.conf.d/ ]# vim mysqld.cnf [mysqld] server-id=66 :wq ]# vim wsrep.cnf wsrep_cluster_address=gcomm:// wsrep_node_address=192.168.4.66 wsrep_cluster_name=pxc-cluster wsrep_node_name=pxc-cluster-node-66 wsrep_sst_auth="sstuser:123qqq...A" :wq 启动mysql服务 ]# ls /var/lib/mysql/ [root@host66 ~]# systemctl start mysql [root@host66 ~]# netstat -utnlp | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 3342/mysqld [root@host66 ~]# [root@host66 ~]# netstat -utnlp | grep 4567 tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 3342/mysqld [root@host66 ~]# 数据库管理员登录 [root@host66 ~]# mysql -uroot -p123qqq...A 用户授权 mysql> grant all on *.* to sstuser@"localhost" identified by "123qqq...A"; 查看状态信息 [root@host66 ~]# mysql -uroot -p123qqq...A mysql> show slave status G Slave_IO_Running: Yes Slave_SQL_Running: Yes mysql> show status like "%wsrep%" ; wsrep_incoming_addresses | 192.168.4.66:3306 wsrep_cluster_status | Primary 测试66主机: 1 网站主机在命令行连接11 主机存储数据 [root@web33 ~]# mysql -h192.168.4.11 -uplj -p123qqq...A -e ' insert into gamedb.user values("lili","120120")' [root@web33 ~]# 2 网站主机在命令行连接66 主机 也可以查看到存储的数据 [root@web33 ~]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lili"' +------+----------+ | name | password | +------+----------+ | lili | 120120 | +------+----------+ [root@web33 ~]# 3.2.2 配置 88主机,如下配置: 1 安装pxc软件 ]# cd pxc ]# rpm -q libev || yum -y install libev-4.15-1.el6.rf.x86_64.rpm ]# yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm ]# yum -y install qpress-1.1-14.11.x86_64.rpm ]# tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar ]# yum -y install Percona-XtraDB-Cluster-*.rpm 2 修改配置文件 [root@host88 pxc]# cd /etc/percona-xtradb-cluster.conf.d/ ]# vim mysqld.cnf [mysqld] server-id=88 :wq ]# vim wsrep.cnf wsrep_cluster_address=gcomm://192.168.4.66 wsrep_node_address=192.168.4.88 wsrep_cluster_name=pxc-cluster wsrep_node_name=pxc-cluster-node-88 wsrep_sst_auth="sstuser:123qqq...A" :wq 启动mysql服务 ]# ls /var/lib/mysql/ [root@host88 ~]# systemctl start mysql [root@host88 ~]# netstat -utnlp | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 3342/mysqld [root@host88 ~]# netstat -utnlp | grep 4567 tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 3342/mysqld 管理员root 本机登录查看数据 mysql> select * from gamedb.user; mysql> mysql> show status like "%wsrep%"; wsrep_incoming_addresses | 192.168.4.88:3306,192.168.4.66:3306 | 测试88主机: 1 网站主机在命令行连接11 主机存储数据 [root@web33 ~]# mysql -h192.168.4.11 -uplj -p123qqq...A -e ' insert into gamedb.user values("lucy","120120")' [root@web33 ~]# 2 网站主机在命令行连接66和88 主机 也可以查看到存储的数据 [root@web33 ~]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lcuy"' +------+----------+ | name | password | +------+----------+ | lcuy | 120120 | +------+----------+ [root@web33 ~]# [root@web33 ~]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lcuy"' +------+----------+ | name | password | +------+----------+ | lcuy | 120120 | +------+----------+ [root@web33 ~]# 3.2.3 配置 10主机 1 安装pxc软件 ]# cd pxc ]# rpm -q libev || yum -y install libev-4.15-1.el6.rf.x86_64.rpm ]# yum -y install percona-xtrabackup-24-2.4.13-1.el7.x86_64.rpm ]# yum -y install qpress-1.1-14.11.x86_64.rpm ]# tar -xvf Percona-XtraDB-Cluster-5.7.25-31.35-r463-el7-x86_64-bundle.tar ]# yum -y install Percona-XtraDB-Cluster-*.rpm 2 修改配置文件 [root@host10 pxc]# cd /etc/percona-xtradb-cluster.conf.d/ ]# vim mysqld.cnf [mysqld] server-id=10 :wq ]# vim wsrep.cnf wsrep_cluster_address=gcomm://192.168.4.66,192.168.4.88 wsrep_node_address=192.168.4.10 wsrep_cluster_name=pxc-cluster wsrep_node_name=pxc-cluster-node-10 wsrep_sst_auth="sstuser:123qqq...A" :wq 启动mysql服务 ]# ls /var/lib/mysql/ [root@host10 ~]# systemctl start mysql [root@host10 ~]# netstat -utnlp | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 3342/mysqld [root@host18 ~]# netstat -utnlp | grep 4567 tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 3342/mysqld 管理员root 本机登录查看数据 mysql> select * from gamedb.user; mysql> mysql> show status like "%wsrep%"; wsrep_incoming_addresses | 192.168.4.88:3306,192.168.4.66:3306,192.168.4.10:3306 | 测试88主机: 1 网站主机在命令行连接11 主机存储数据 [root@web33 ~]# mysql -h192.168.4.11 -uplj -p123qqq...A -e ' insert into gamedb.user values("lilei","120120")' [root@web33 ~]# 2 网站主机在命令行连接66和88及10 主机 也可以查看到存储的数据 [root@web33 ~]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lilei"' +------+----------+ | name | password | +------+----------+ | lilei | 120120 | +------+----------+ [root@web33 ~]# [root@web33 ~]# mysql -h192.168.4.10 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lilei"' +------+----------+ | name | password | +------+----------+ | lilei | 120120 | +------+----------+ [root@web33 ~]# [root@web33 ~]# mysql -h192.168.4.88 -uplj -p123qqq...A -e 'select * from gamedb.user where name="lilei"' +------+----------+ | name | password | +------+----------+ | lilei | 120120 | +------+----------+ [root@web33 ~]#
3.2.4 三台数据库服务器的公共配置 host66]# vim wsrep.cnf wsrep_cluster_address=gcomm://192.168.4.66,192.168.4.88,192.168.4.10 host88]# vim wsrep.cnf wsrep_cluster_address=gcomm://192.168.4.66,192.168.4.88,192.168.4.10 host10]# vim wsrep.cnf wsrep_cluster_address=gcomm://192.168.4.66,192.168.4.88,192.168.4.10 3.2.5 给表添加主键字段 mysql_11]# mysql -uroot -p123qqq...A mysql> alter table gamedb.user add id int primary key auto_increment first; mysql> select * from gamedb.user; 3.2.6 网站服务器连接集群中的任意1台服务器存储数据, 另外2台服务器会自动同步数据。 web33]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'insert into gamedb.user(name,password)values("a","a")' web33]# mysql -h192.168.4.88 -uplj -p123qqq...A -e 'select * from gamedb.user' web33]# mysql -h192.168.4.10 -uplj -p123qqq...A -e 'insert into gamedb.user(name,password)values("b","b")' web33]# mysql -h192.168.4.66 -uplj -p123qqq...A -e 'select * from gamedb.user'
配置网站服务器
1:安装依赖,php-devel
[root@web33 ~ ]# yum -y install php-devel //安装依赖
[root@web33 ~]# tar -zxvf redis-cluster-4.3.0.tgz //解压 [root@web33 ~]# cd redis-4.3.0/ //进入源码目录 [root@web33 redis-4.3.0]# phpize //创建configure命令及配置信息文件/usr/bin/php-config Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 [root@web33 redis-4.3.0]# [root@web33 redis-4.3.0]# ./configure --with-php-config=/usr/bin/php-config …… …… configure: creating ./config.status config.status: creating config.h config.status: config.h is unchanged config.status: executing libtool commands [root@web33 redis-4.3.0]# [root@web33 redis-4.3.0]# make //编译 …… …… Build complete. Don't forget to run 'make test'. [root@web33 redis-4.3.0]# [root@web33 redis-4.3.0]# make install //安装 Installing shared extensions: /usr/lib64/php/modules/ //提示模块安装目录 [root@web33 redis-4.3.0]# [root@web33 redis-4.3.0]# ls /usr/lib64/php/modules/ //查看目录列表 curl.so fileinfo.so json.so mysqli.so mysql.so pdo_mysql.so pdo.so pdo_sqlite.so phar.so redis.so sqlite3.so zip.so
修改配置文件
[root@web33 redis-4.3.0]# vim /etc/php.ini 728 extension_dir = "/usr/lib64/php/modules/" //模块目录 730 extension = "redis.so" //模块名 :wq [root@web33 redis-4.3.0]# systemctl restart php-fpm //重启php-fpm服务 [root@web33 redis-4.3.0]# php -m | grep -i redis //查看模块 redis
测试配置
1)在存储服务器共享目录下,创建连接集群PHP脚本
nfs30~ ]# vim /sitedir/set_data.php //存储数据脚本 <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; //定义redis服务器列表 $client = new RedisCluster(NUll,$redis_list); //定义连接redis服务器变量 $client->set("i","tarenaA "); //存储数据 变量名 i $client->set("j","tarenaB "); //存储数据 变量名 j $client->set("k","tarenaC "); //存储数据 变量名 k ?> :wq nfs30~ ]# vim /sitedir/get_data.php //获取数据脚本 <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; //定义redis服务器列表 $client = new RedisCluster(NUll,$redis_list); //定义连接redis服务器变量 echo $client->get("i"); //获取变量i 的数据 echo $client->get("j"); //获取变量j 的数据 echo $client->get("k"); //获取变量k 的数据 ?> :wq nfs30~ ]# vim /sitedir/test3.php //存/取数据脚本 <?php $redis_list = ['192.168.4.51:6379','192.168.4.52:6379','192.168.4.53:6379','192.168.4.54:6379','192.168.4.55:6379','192.168.4.56:6379']; $client = new RedisCluster(NUll,$redis_list); $client->set(“name“,”panglijing”); //存数据 echo $client->get(“name”); //取数据 ?> :wq
2)访问网站执行脚本(在任意主机访问网站服务器都可以)
]# curl http://192.168.4.33/set_data.php ]# curl http://192.168.4.33/get_data.php ]# curl http://192.168.4.33/test3.php
3)命令行连接任意一台redis服务器查看数据(在任意主机连接redis服务器都可以)
]# redis-cli -c -h 192.168.4.51 -p 6379 192.168.4.51:6379> keys * 1) i 192.168.4.51:6379> exit ]# redis-cli -c -h 192.168.4.52 -p 6379 192.168.4.52:6379> keys * 1) j 192.168.4.52:6379> exit ]# redis-cli -c -h 192.168.4.53 -p 6379 192.168.4.52:6379> keys * 1) k 192.168.4.52:6379> exit
要准备的服务器及架构
192.168.4.51 redis服务器 redisA redis 是 启用集群功能 不需要设置连接密码 使用6351端口 192.168.4.52 redis服务器 redisB redis 是 启用集群功能 不需要设置连接密码 使用6352端口 192.168.4.53 redis服务器 redisC redis 是 启用集群功能 不需要设置连接密码 使用6353端口 192.168.4.54 redis服务器 redisD redis 是 启用集群功能 不需要设置连接密码 使用6354端口 192.168.4.55 redis服务器 redisE redis 是 启用集群功能 不需要设置连接密码 使用6355端口 192.168.4.56 redis服务器 redisF redis 是 启用集群功能 不需要设置连接密码 使用6356端口 192.168.4.57 redis集群管理主机 MGM57 无 无 创建redis-trib.rb脚本(也可用77主机做管理主机) 192.168.4.66 pxc集群主机 host66 mysql-5.7.17 是 无 192.168.4.10 pxc集群主机 pxc10 PXC集群软件 否 无 192.168.4.88 pxc集群主机 pxc88 PXC集群软件 否 无 192.168.4.99 LB集群调度器 haproxy99 haproxy软件 否 如果硬件配置低,可以在77主机配置 192.168.4.98 LB集群备用调度器 haproxy98 haproxy软件 否 如果硬件配置低,可以在30主机配置
未改善完待续........