高级运维工程师教你银河麒麟V10SP1部署Nginx实现clickhouse数据库双活高可用实战

高级运维工程师教你银河麒麟V10SP1部署Nginx实现clickhouse数据库双活高可用实战

前言说明

高可用(High Availability,简称 HA)是指系统经过专门的设计,从而减少停工时间,保持其服务的高度可用性。

高可用的主要目标是尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,提高系统和应用的可用性。

例如,在一个网站的架构中,如果只有一个服务器来处理所有的请求,那么当这个服务器出现故障时,网站将无法正常提供服务。为了避免这种情况,可以采用高可用架构,使用多个服务器来共同承担服务请求。当其中一个服务器出现故障时,其他服务器可以自动接管其工作,从而保证网站的持续可用。

再比如,在数据库系统中,通过使用主从复制、数据备份和故障转移等技术,可以实现数据库的高可用性。当主数据库出现故障时,从数据库可以迅速切换为主数据库,继续提供服务,减少数据丢失和服务中断的风险。

总之,高可用是一种通过冗余和故障转移等技术手段,来提高系统和服务可靠性和可用性的设计理念和方法。

笔者要实现2个clickhouse数据库服务器双活,A挂机,自动跳转到B接管,A活了,B再自动切回A!实现永不宕机双活!

在这里插入图片描述

服务器IP端口角色
192.168.3.1015000nginx代理服务器
192.168.3.448123主clickhouse服务器
192.168.3.468123备clickhouse服务器

注意下方是在192.168.3.101服务器上进行操作安装!

一、核实操作系统信息

uname -a
Linux localhost.localdomain 4.19.90-23.8.v2101.ky10.x86_64 #1 SMP Mon May 17 17:08:34 CST 2021 x86_64 x86_64 x86_64 GNU/Linux
cat /proc/version
Linux version 4.19.90-23.8.v2101.ky10.x86_64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 17 17:08:34 CST 2021
cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

二、安装nginx2.21版本方法(nginx1.91版本之后支持tcp协议转发)

小伙伴们如果需要nginx2.21版本的离线安装包可以去我的CSDN下载资源直接下载即可

1、仍然要更新这个perl插件

rpm -e --nodeps perl-devel-5.28.0-434.ky10.x86_64   #  卸载命令
rpm -e --nodeps perl-libs-5.28.0-434.ky10.x86_64    #  卸载命令
rpm -e --nodeps perl-5.28.0-434.ky10.x86_64         #  卸载命令

删除干净之后,按顺序安装离线安装包

cd /home/perl_intall
rpm -ivh perl-libs-5.28.3-3.p01.ky10.x86_64.rpm  --nodeps --force 
rpm -ivh perl-devel-5.28.3-3.p01.ky10.x86_64.rpm --nodeps --force
rpm -ivh perl-5.28.3-3.p01.ky10.x86_64.rpm --nodeps --force

2、按顺序安装包

在这里插入图片描述

rpm -ivh mailcap-2.1.49-3.ky10.noarch.rpm  --nodeps --force
rpm -ivh nginx-filesystem-1.21.5-1.p01.ky10.noarch.rpm  --nodeps --force
rpm -ivh gd-2.3.0-4.ky10.x86_64.rpm  --nodeps --force
rpm -ivh gperftools-libs-2.7-7.ky10.x86_64.rpm  --nodeps --force
rpm -ivh nginx-filesystem-1.21.5-1.p01.ky10.noarch.rpm  --nodeps --force
rpm -ivh nginx-mod-http-image-filter-1.21.5-1.p01.ky10.x86_64.rpm  --nodeps --force
rpm -ivh nginx-mod-http-perl-1.21.5-1.p01.ky10.x86_64.rpm  --nodeps --force
rpm -ivh nginx-mod-http-xslt-filter-1.21.5-1.p01.ky10.x86_64.rpm  --nodeps --force
rpm -ivh nginx-mod-mail-1.21.5-1.p01.ky10.x86_64.rpm  --nodeps --force
rpm -ivh nginx-all-modules-1.21.5-1.p01.ky10.noarch.rpm --nodeps --force
rpm -ivh nginx-1.21.5-1.p01.ky10.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-stream-1.21.5-1.p01.ky10.x86_64.rpm --nodeps --force

3、验证安装是否成功

systemctl start nginx.service    #启动服务
nginx -version

在这里插入图片描述
在这里插入图片描述

/var/log/nginx        #日志位置

在这里插入图片描述

4、1.21版本配置文件demo

/etc/nginx/nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

stream {
	upstream cloudsocket {
	server 192.168.3.44:8123 ; #主clickhouse库地址
	server 192.168.3.46:8123 backup ; #备clickhouse库地址
	}
	server {
	listen 5000;#数据库服务器监听端口
	proxy_connect_timeout 10s;
	proxy_timeout 300s;#设置客户端和代理服务之间的超时时间,如果5分钟内没操作将自动断开。
	proxy_pass cloudsocket;
	}
}



http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

}


三、连接测试高可

分别测试如下表格端口IP!应用配置是代理服务器IP端口192.168.3.101 :5000

服务器IP端口角色
192.168.3.1015000nginx代理服务器
192.168.3.448123主clickhouse服务器
192.168.3.468123备clickhouse服务器

下载连接工具地址:

https://dbeaver.io/download/

在这里插入图片描述

打开SQL工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、情节模拟

服务器IP端口服务器
192.168.3.1015000nginx代理服务器
192.168.3.448123主clickhouse服务器
192.168.3.468123备clickhouse服务器
情景操作预期结果
1192.168.3.44 服务器关机模拟宕机192.168.3.101 :5000正常访问,自动转向192.168.3.46:8123
2192.168.3.44 服务器模拟主库恢复192.168.3.101 :5000正常访问,自动转向192.168.3.44:8123

主库宕机备库自动接管业务正常,主库恢复,自动转发跳回主库,永不宕机!双活高可用HA实现!

笔者简介
国内某一线知名软件公司企业认证在职员工:任JAVA高级研发工程师,大数据领域专家,数据库领域专家兼任高级DBA!10年软件开发经验!现任国内某大型软件公司大数据研发工程师、MySQL数据库DBA,软件架构师。直接参与设计国家级亿级别大数据项目!并维护真实企业级生产数据库300余个!紧急处理数据库生产事故上百起,挽回数据丢失所造成的灾难损失不计其数!并为某国家级大数据系统的技术方案(国家知识产权局颁布)专利权的第一专利发明人!

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

技术很渣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值