MyCat-集群-HAProxy 安装配置 | 学习笔记

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 快速学习 MyCat-集群-HAProxy 安装配置

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(三):MyCat-集群-HAProxy 安装配置 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/757/detail/13288


MyCat-集群-HAProxy 安装配置

安装

首先先回顾下图:

image.png

最初是安装完成了 MySQL,并且配置了 MySQL 的主从复制,接下来安装了两台 MyCat ,并对 MyCat 中的服务进行了配置,在 MyCat 中配置了逻辑库、逻辑表以及通过 MyCat 来实现 MySQL 的读写分离,图中下半部分的操作以及安装并且配置完成,接下来要进行剩下两部分的操作,第一部分是 HAPRoxy 负载均衡软件的安装,另一部分是 Keepalived 的安装,先安装 HAPRoxy ,而 HAPRoxy 的安装根据服务器的规划,需在两台服务器上都安装 HAPRoxy ,分别是 159 和 160,

1).准备好 HAPRoxy 安装包,传到 /root 目录下,借助 stp 软件

1 haproxy-1.5.16.tar.gz

image.png

2).解压到 /usr/local/src 目录下

1 执行指令tar-zxvf haproxy-1.5.16.tar.gz

image.png

3).解压完成后,切换到解压目录下,HAProxy 是 C 语言开发的,需要对 C 语言的源码进行编译,进入解压后的目录,查看内核版本,进行编译,编译内容如下:

cd/usr/1oca1/src/haproxy-1.5.16

uname -r

make TARGET=1inux2632 PREFIX=/usr/1oca1/haproxy ARCH=x86_64

# ARGET=1inux310,内核版本,使用 uname-r 查看内核,如: 2.6.32-431.e16.x86 64,此时该参数就为 1inux2632

#ARCH=x86_64,系统位数;

# PREFIX=/usr/1oca1/haprpxy#/usr/1ocal/haprpxy,为 haprpxy 安装路径。

image.png

通过 PREFIX=/usr/1oca1/  指定安装地址,操作系统的版本是通过 uname -r 进行查看的,操作系统的位数指的是 32 位或 64 位,x86_64 指的是 64 位。

image.png

执行此条指令时要将服务器改成自己的版本,需要通过 uname -r 进行查看的,然后去修改此条指令。下图是开始编译:

image.png

4).编译完成后,进行安装,直接执行此条指令,

make install PREFIX=/usr/local/haproxy

5).安装完成后,创建目录

mkdir -p/usr/date/hoproxy

6).创建 HAProxy 配置文件

Vim/usr/local/haproxy/haproxy.conf

1 g1oba1

2 1og 127.0.0.1 loca10

3 maxconn 4096

4 chroot /usr/1ocal/haproxy

5 pidfile /usr/data/haproxy/haproxy.pid

6 uid 99

7 gid 99

8 daemon

9 node mysql-haproxy-01

10 description mysq1-haproxy-01

11 defaults

12 1og globa1

13 mode tcp

14 option abortonclose

15 option redispatch

16 retries 3

17 maxconn 2000

18 timeout connect 50000ms

19 timeout client 50000ms

20 timeout server 50600ms

21 listen proxy_status

22 bind 0.0.0.0:48066

23 mode tcp

24 balance roundrobin

25 server mycat_1 192.168.192.157:8066 check

26 server mycat_2 192.168.192.158:8066 check

27 frontend adminstats

28 bind 0.0.0.0:8888

29 mode http

30 stats enable

31 option httplog

32 maxconn 10

33 stats refresh 30s

34 stats uri /admin

35 stats auth admin:123123

36 stats hide-version

37 stats admin if true

说明:图中上部分是 HAPRoxy 全局的配置,比如日志的配置,以及运行时用户 id ,主 id 以守护进程的方式运行,图中的 node 指的是节点名称,图中中间部分是连接的从事次数,最大的连接数,以及超时时间的配置。

重点说明:图中下面两部分的配置是重点

image.png

第一部分是使用 HAProxy 这个负载均衡服务,其在此处代理的服务是 157:8066 和158:8066,因为计划安装的 HAProxy 要担任 Mycat 的负载均衡,因此 HAProxy 就相当于是一个代理服务器,代理的是后端的 MyCat ,(配置时需具体指定是哪一台 MyCat ),共有两台 MyCat ,一台是 157:8066,另一台是 158:8066,此处需修改成自己的 ip,接下来的端口绑定了 8888,上面的端口绑定了 48066,实际上是指当前 HAProxy 对外暴露的端口是 48066,8888 是其管理端口,其中有一个管理的访问路径( /admin ),以及访问用户名( /admin ),以及密码 123123。

注意:需要修改的地方注意有三处,如下:

image.png

配置保存完成之后进行下一步操作

启动访问

1).启动 HAProxy

1/usr/1oca1/haproxy/sbin/haproxy-f/usr/1oca1/haproxy/haproxy.conf

2).查看 HAProxy 进程

1 ps -eflgrep haproxy

3).访问

http://192.168.192.162:8888/admin

界面:

image.png

HAProxy 的负载均衡策略:

策略

含义

roundrobin

表示简单的轮循,即客户端美访问一次,请求轮循跳转到后端不同的节点机器上

Static-rr

基于权重轮循,根据权重轮循调度到后端不同节点

leastconn

加权最少连接,表示最少流量计者优先处理

source

表示根据请求源 IP,这个跟IP_hash 机制类似,使用其作为解决 session 问题的一种方法

uri

表示根据请求的 URL ,调度到后端不同服务器

url_param

表示根据请求的 URL 参数来进行调度

Har(name)

表示根据 HTTP 请求头来锁定每一次 HTTP 请求

Rdp-cookie(name)

表示根据 cookie(naamw)来锁定并哈希每一次 TCP 请求

HAProxy 需要在 159 上进行安装,并且 159  上以及安装并且配置完成,接下来需安装 160,实际上 160 的安装以及配置和 159 基本上是一致的,只需将 node mysql-haproxy-01 改为 node mysql-haproxy-02 其他可不做修改。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8月前
|
存储 关系型数据库 MySQL
使用 MHA 和 HAProxy 部署高可用 MySQL
使用 MHA 和 HAProxy 部署高可用 MySQL
|
4月前
|
负载均衡 监控 前端开发
Mycat【Mycat高可用(安装配置HAProxy、安装配置Keepalived)】(八)-全面详解(学习总结---从入门到深化)
Mycat【Mycat高可用(安装配置HAProxy、安装配置Keepalived)】(八)-全面详解(学习总结---从入门到深化)
23 0
|
12月前
|
NoSQL 关系型数据库 MySQL
分布式部署:第三章:Docker、MySQL、tomcat、Nginx、Redis部署
分布式部署:第三章:Docker、MySQL、tomcat、Nginx、Redis部署
737 0
|
12月前
|
存储 cobar 负载均衡
分布式部署:第二章:MyCat和Nginx部署
分布式部署:第二章:MyCat和Nginx部署
222 0
|
负载均衡 关系型数据库 MySQL
Mycat需要安装在哪台服务器?
Mycat需要安装在哪台服务器?
127 0
|
负载均衡 监控 网络协议
MyCat-集群-HAProxy 启动访问 | 学习笔记
快速学习 MyCat-集群-HAProxy 启动访问
104 0
MyCat-集群-HAProxy 启动访问 | 学习笔记
|
SQL 负载均衡 监控
MyCat-集群-两台 MyCat 的安装配置 | 学习笔记
快速学习 MyCat-集群-两台 MyCat 的安装配置
257 0
MyCat-集群-两台 MyCat 的安装配置 | 学习笔记
|
中间件 Shell 数据库
MyCat-集群-keepalived 安装配置 | 学习笔记
快速学习 MyCat-集群-keepalived 安装配置
124 0
MyCat-集群-keepalived 安装配置 | 学习笔记
|
负载均衡 网络协议 关系型数据库
MyCat-集群-keepalived 启动及 haproxy 的高可用测试 | 学习笔记
快速学习 MyCat-集群-keepalived 启动及 haproxy 的高可用测试
133 0
MyCat-集群-keepalived 启动及 haproxy 的高可用测试 | 学习笔记
|
关系型数据库 MySQL Java
nacos集群+nginx+mysql持久化搭建
nacos集群+nginx+mysql持久化搭建
191 0
nacos集群+nginx+mysql持久化搭建