mysql+mycat+keepalive+haproxy高可用集群搭建(六)

Mysql部署高可用-haproxy安装

在192.168.1.150节点上执行,添加proxy用户

[root@mysql-150-master ~]# useradd haproxy
[root@mysql-150-master ~]# 

在192.168.1.151节点上执行,添加proxy用户

[root@mysql-151-master ~]# useradd haproxy
[root@mysql-151-master ~]# 

下载haproxy

[root@mysql-150-master ~]# cd /usr/local/src
[root@mysql-150-master src]# wget https://github.com/haproxy/haproxy/archive/v1.8.0.tar.gz
    [              <=>                                                                     ] 2,048,221    682KB/s 用时 2.9s   
​
2021-03-03 01:22:12 (682 KB/s) - “v1.8.0.tar.gz” 已保存 [2048221]
​
[root@mysql-150-master src]# 

解压haproxy源代码

​
[root@mysql-150-master src]# cd /usr/local/src/
[root@mysql-150-master src]# ll
总用量 2004
-rw-r--r--. 1 root root 2048221 3月   3 01:22 v1.8.0.tar.gz
[root@mysql-150-master src]# tar -zxvf v1.8.0.tar.gz
​
​
[root@mysql-150-master src]# ll
总用量 2008
drwxrwxr-x. 10 root root    4096 11月 27 2017 haproxy-1.8.0
-rw-r--r--.  1 root root 2048221 3月   3 01:22 v1.8.0.tar.gz
[root@mysql-150-master src]# 

HAProxy源码编译和安装

编译前需要查看centos 系统内核版本

[root@mysql-150-master src]# uname -a
Linux mysql-150-master 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@mysql-150-master src]# 

本操作系统内核为3.10x86_64

[root@mysql-150-master src]# ll
总用量 2008
drwxrwxr-x. 10 root root    4096 11月 27 2017 haproxy-1.8.0
-rw-r--r--.  1 root root 2048221 3月   3 01:22 v1.8.0.tar.gz
[root@mysql-150-master src]# cd /usr/local/src/haproxy-1.8.0/
[root@mysql-150-master haproxy-1.8.0]# 

编译

[root@mysql-150-master haproxy-1.8.0]# make TARGET=linux310 PREFIX=/usr/local/haproxy ARCH=x86_64
gcc -Iinclude -Iebtree -Wall -m64 -march=x86-64 -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement            -DENABLE_POLL  -DCONFIG_HAPROXY_VERSION=\"1.8.0\" -DCONFIG_HAPROXY_DATE=\"2017/11/26\" -c -o src/ev_poll.o src/ev_poll.c
make: gcc:命令未找到
make: *** [src/ev_poll.o] 错误 127
[root@mysql-150-master haproxy-1.8.0]# 
​
###报错是因为没有安装gcc,先安装gcc
[root@mysql-150-master haproxy-1.8.0]# yum -y install gcc
​
###继续编译
[root@mysql-150-master haproxy-1.8.0]# make TARGET=linux310 PREFIX=/usr/local/haproxy ARCH=x86_64

安装

[root@mysql-150-master haproxy-1.8.0]# make install PREFIX=/usr/local/haproxy
install -d "/usr/local/haproxy/sbin"
install haproxy  "/usr/local/haproxy/sbin"
install -d "/usr/local/haproxy/share/man"/man1
install -m 644 doc/haproxy.1 "/usr/local/haproxy/share/man"/man1
install -d "/usr/local/haproxy/doc/haproxy"
for x in configuration management architecture peers-v2.0 cookie-options lua WURFL-device-detection proxy-protocol linux-syn-cookies network-namespaces DeviceAtlas-device-detection 51Degrees-device-detection netscaler-client-ip-insertion-protocol peers close-options SPOE intro; do \
        install -m 644 doc/$x.txt "/usr/local/haproxy/doc/haproxy" ; \
done

赋权限,修改配置文件

[root@mysql-150-master haproxy-1.8.0]# cd /usr/local/haproxy
[root@mysql-150-master haproxy]# ll
总用量 0
drwxr-xr-x. 3 root root 21 3月   3 01:34 doc
drwxr-xr-x. 2 root root 21 3月   3 01:34 sbin
drwxr-xr-x. 3 root root 17 3月   3 01:34 share
[root@mysql-150-master haproxy]# pwd
/usr/local/haproxy
[root@mysql-150-master haproxy]# chown -R haproxy.haproxy *
[root@mysql-150-master haproxy]# ll
总用量 0
drwxr-xr-x. 3 haproxy haproxy 21 3月   3 01:34 doc
drwxr-xr-x. 2 haproxy haproxy 21 3月   3 01:34 sbin
drwxr-xr-x. 3 haproxy haproxy 17 3月   3 01:34 share
[root@mysql-150-master haproxy]# 

创建配置文件haproxy.cfg

[root@mysql-150-master haproxy]# cd /usr/local/haproxy
[root@mysql-150-master haproxy]# touch haproxy.cfg
[root@mysql-150-master haproxy]# vi /usr/local/haproxy/haproxy.cfg
global
    ##记日志的功能
    log 127.0.0.1 local0
    ## 设定每个haproxy进程所接受的最大并发连接数
    maxconn 4096
    ## 修改HAProxy的工作目录至指定的目录并在放弃权限之前执行
    chroot/usr/local/haproxy
    user haproxy
    group haproxy
    ## 设置haproxy后台守护进程形式运行
    daemon
defaults
	## 继承global中log的定义
    log global
    option dontlognull
    retries 3
    option redispatch
    maxconn 2000
    contimeout 5000
    clitimeout 50000
    srvtimeout 50000
## HAProxy的状态信息统计页面##VIP 
listen admin_status 192.168.1.155:48800 
    stats uri/admin-status 
    ##统计页面 
    ## 设置统计页面认证的用户和密码,如果要设置多个,另起一行写入即可
    stats auth admin:ruanjie@0511
    mode http
    ## 启用日志记录HTTP请求
    option httplog
## 用于定义通过关联“前端”和“后端”一个完整的代理,通常只对TCP流量有用
listen allmycat_service 192.168.1.155:8096 ##转发到 mycat 的 8066 端口,即 mycat 的服务端口
    mode tcp 
    option tcplog
    ## 后端服务状态检测
    option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www
    ## 定义负载均衡算法,可用于"defaults"、"listen"和"backend"中,默认为轮询方式
    balance roundrobin
    server mycat_150 192.168.1.150:8066 check port 48700 inter 5s rise 2 fall 3
    server mycat_151 192.168.1.151:8066 check port 48700 inter 5s rise 2 fall 3
    srvtimeout 20000
listen allmycat_admin 192.168.1.155:8097 ##转发到 mycat 的 9066 端口,及 mycat 的管理控制台端口 
    mode tcp 
    option tcplog
    option httpchk OPTIONS * HTTP/1.1\r\nHost:\ www
    balance roundrobin
    server mycat_150 192.168.1.150:9066 check port 48700 inter 5s rise 2 fall 3
    server mycat_151 192.168.1.151:9066 check port 48700 inter 5s rise 2 fall 3
    srvtimeout 20000

开启rsyslog的haproxy日志记录功能

### 检查rsyslog是否安装
[root@mysql-150-master haproxy]# yum –y install rsyslog
已加载插件:fastestmirror
[root@mysql-150-master haproxy]# cd /etc/rsyslog.d/
[root@mysql-150-master haproxy]# touch haproxy.conf
[root@mysql-150-master haproxy]# vi /etc/rsyslog.d/haproxy.conf
##内容如下:
vi /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
local0.* /var/log/haproxy.log

1、在#### RULES ####上面一行的地方加入以下内容:

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
#### RULES ####

2、在 local7.* /var/log/boot.log 的下面加入以下内容(增加后的效果如下):

# Save boot messages also to boot.log
local7.* /var/log/boot.log
local0.* /var/log/haproxy.log

保存,重启 rsyslog 服务

keepalived 安装

下载keepalived

[root@mysql-150-master home]# wget https://www.keepalived.org/software/keepalived-1.2.24.tar.gz

安装 keepalived 需要用到 openssl

[root@mysql-150-master home]# yum install gcc gcc-c++ openssl openssl-devel

解压,编译

###cpoer keepalived 安装包到/usr/local/src
[root@mysql-150-master home]# cp keepalived-1.2.24.tar.gz /usr/local/src

[root@mysql-150-master home]# cd /usr/local/src
[root@mysql-150-master src]# ll
drwxrwxr-x. 10 root root    4096 3月   3 01:34 haproxy-1.8.0
-rw-r--r--.  1 root root  601873 3月   3 12:55 keepalived-1.2.24.tar.gz
-rw-r--r--.  1 root root 2048221 3月   3 01:22 v1.8.0.tar.gz
##解压
[root@mysql-150-master src]# tar -zxvf keepalived-1.2.24.tar.gz 
[root@mysql-150-master src]# cd keepalived-1.2.24
###编译前,环境检查
[root@mysql-150-master keepalived-1.2.24]# ./configure --prefix=/usr/local/keepalived
### 编译并且安装
[root@mysql-150-master keepalived-1.2.24]# make && make installvrrp_iproute.c:42:33: 致命错误:linux/mpls_iptunnel.h:没有那个文件或目录
 #include <linux/mpls_iptunnel.h>
                                 ^
编译中断。
make[2]: *** [vrrp_iproute.o] 错误 1
make[2]: 离开目录“/usr/local/src/keepalived-1.2.24/keepalived/vrrp”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/keepalived-1.2.24/keepalived”
make: *** [all-recursive] 错误 1
[root@mysql-150-master keepalived-1.2.24]# 

安装出现致命错误,安装中断

vrrp_iproute.c:42:33: 致命错误:linux/mpls_iptunnel.h:没有那个文件或目录 #include <linux/mpls_iptunnel.h> ^ 编译中断。 make[2]: * [vrrp_iproute.o] 错误 1 make[2]: 离开目录“/usr/local/src/keepalived-1.2.24/keepalived/vrrp” make[1]: * [all-recursive] 错误 1 make[1]: 离开目录“/usr/local/src/keepalived-1.2.24/keepalived” make: *** [all-recursive] 错误 1 [root@mysql-150-master keepalived-1.2.24]#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

畅游未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值