大数据学习:haproxy实现impala的负载均衡

这篇具有很好参考价值的文章主要介绍了大数据学习:haproxy实现impala的负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HAProxy实现Impala的负载均衡

1.HAProxy安装及启停

1.1 在集群中选择一个节点,使用yum方式安装HAProxy服务

[root@data01-dev ~]# yum -y install haproxy

1.2 启动与停止HAProxy服务,并将服务添加到自启动列表

[root@data01-dev ~]# service haproxy start
[root@data01-dev ~]# service haproxy stop
[root@data01-dev ~]# chkconfig haproxy on
[root@data01-dev ~]#  service haproxy status
Redirecting to /bin/systemctl status haproxy.service
● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-10-20 19:29:46 CST; 19h ago
 Main PID: 27994 (haproxy-systemd)
   CGroup: /system.slice/haproxy.service
           ├─27994 /usr/sbin/haproxy-systemd-wrapper -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
           ├─27995 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds
           └─27996 /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds

Oct 20 19:29:46 data01-dev systemd[1]: Started HAProxy Load Balancer.
Oct 20 19:29:46 data01-dev haproxy-systemd-wrapper[27994]: haproxy-systemd-wrapper: executing /usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid -Ds

3.HAProxy配置Impala负载均衡

1.将/etc/haproxy目录下的haproxy.cfg文件备份,新建haproxy.cfg文件,添加如下配置

#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    #option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main *:5000
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    use_backend static          if url_static
    default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check
	
listen status
	bind data01-dev:1080
	mode http
	option httplog
	maxconn 5000
	stats refresh 30s
	stats uri /haproxy
	stats enable
	stats realm Global\ statistics
	stats auth admin:admin
	
listen impala_shell data01-dev:25003
    mode tcp
    option tcplog
    balance leastconn
    #主机列表
    server impala1 impala01-dev:21000
    server impala2 impala02-dev:21000
    server impala3 impala03-dev:21000
    server impala4  data01-dev:21000
    server impala5  data02-dev:21000
    server impala6  data03-dev:21000

listen impala_jdbc data01-dev:25004
    mode tcp
    option tcplog
    balance roundrobin
    #主机列表
    server impala1 impala01-dev:21050
    server impala2 impala02-dev:21050
    server impala3 impala03-dev:21050
    server impala4  data01-dev:21050
    server impala5  data02-dev:21050
    server impala6  data03-dev:21050
	
log 127.0.0.1 local0 info


主要配置了HAProxy的http状态管理界面、impalashell和impalajdbc的负载均衡。

2. 重启HAProxy服务

[root@data01-dev haproxy]# service haproxy restart

3.浏览器访问

访问地址: http://{hostname}:1080/stats

4.Impala Shell测试

使用多个终端同时访问,并执行SQL语句,查看是否会通过HAProxy服务自动负载到其它Impala Daemon节点

1.使用Impala shell访问HAProxy服务的25003端口,命令如下

[root@data01-dev ~]# impala-shell -i data01-dev:25003

2.打开第一个终端访问并执行SQL

[root@data01-dev ~]# impala-shell -i data01-dev:25003
Starting Impala Shell without Kerberos authentication
Opened TCP connection to data01-dev:25003
Connected to data01-dev:25003
Server version: impalad version 3.2.0-cdh6.3.2 RELEASE (build 1bb9836227301b839a32c6bc230e35439d5984ac)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v3.2.0-cdh6.3.2 (1bb9836) built on Fri Nov  8 07:22:06 PST 2019)

Want to know what version of Impala you're connected to? Run the VERSION command to
find out!
***********************************************************************************
[data01-dev:25003] default> select * from test_xac_tmp.xichuan_test limit 1;
Connection lost, reconnecting...
Opened TCP connection to data01-dev:25003
Query: select * from test_xac_tmp.xichuan_test limit 1
Query submitted at: 2022-10-21 14:46:20 (Coordinator: http://data02-dev:25000)
Query progress can be monitored at: http://data02-dev:25000/query_plan?query_id=074d7571e7cd831e:c2f9b34300000000
+----+-----------+------+
| id | continent | area |
+----+-----------+------+
| 1  | a         | 1    |
+----+-----------+------+
Fetched 1 row(s) in 5.04s

大数据学习:haproxy实现impala的负载均衡,大数据,大数据,学习,负载均衡

3.同时打开第二个终端访问并执行SQL

[root@master01-dev ~]# impala-shell -i data01-dev:25003
Starting Impala Shell without Kerberos authentication
Opened TCP connection to data01-dev:25003
Connected to data01-dev:25003
Server version: impalad version 3.2.0-cdh6.3.2 RELEASE (build 1bb9836227301b839a32c6bc230e35439d5984ac)
***********************************************************************************
Welcome to the Impala shell.
(Impala Shell v3.2.0-cdh6.3.2 (1bb9836) built on Fri Nov  8 07:22:06 PST 2019)

You can change the Impala daemon that you're connected to by using the CONNECT
command.To see how Impala will plan to run your query without actually executing
it, use the EXPLAIN command. You can change the level of detail in the EXPLAIN
output by setting the EXPLAIN_LEVEL query option.
***********************************************************************************
[data01-dev:25003] default> select * from test_xac_tmp.xichuan_test limit 1;
Connection lost, reconnecting...
Opened TCP connection to data01-dev:25003
Query: select * from test_xac_tmp.xichuan_test limit 1
Query submitted at: 2022-10-21 14:46:26 (Coordinator: http://data03-dev:25000)
Query progress can be monitored at: http://data03-dev:25000/query_plan?query_id=c740bb9f6d8c326f:d585881000000000
+----+-----------+------+
| id | continent | area |
+----+-----------+------+
| 1  | a         | 1    |
+----+-----------+------+
Fetched 1 row(s) in 0.03s

大数据学习:haproxy实现impala的负载均衡,大数据,大数据,学习,负载均衡

通过以上测试可以看到,两个终端执行的SQL不在同一个Impala Daemon,这样就实现了Impala Daemon服务的负载均衡。

5.Impala JDBC测试

这里Java的测试工程就不详细描述如何创建了

配置JDBC的地址为HAProxy服务所在的IP端口为25004文章来源地址https://www.toymoban.com/news/detail-685854.html

到了这里,关于大数据学习:haproxy实现impala的负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Haproxy负载均衡集群

    软件通常使用开源的LVS、Haproxy、 Nginx LVS性能最好,但是搭建相对复杂;Nginx 的upstream模块支持群集功能,但是对群集节点健康检查功能不强,高并发性能没有Haproxy好。 硬件一般使用比较多的是F5、Array,也有很多人使用国内的一些产品,如梭子鱼、绿盟等硬件的效果比软件好

    2023年04月27日
    浏览(29)
  • Haproxy开源负载均衡部署

    centos7服务器    haproxy      192.168.1.107 centos7服务器    nginx(1)              192.168.1.109 centos7服务器    nginx  (2)          192.168.1.110 centos7服务器    nfs+rps         192.168.1.108 yum install haproxy -y  #yum安装haproxy vim   /etc/haproxy/haproxy.cfg        #替换haproxy的配置文

    2024年02月11日
    浏览(39)
  • Haproxy负载均衡群集

    1、常见的Web集群调度器 目前常见的Web集群调度器分为 软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5、Array,也有很多人使用国内的一些产品,如梭子鱼、绿盟等 2、常用集群调度器的优缺点(LVS ,Nginx,Haproxy) 2.1 Nginx 1)工作在网络的7层之上,可以

    2024年02月07日
    浏览(38)
  • HAProxy负载均衡 代理

    1.安装 yum -y install haproxy 2.配置文件 /etc/haproxy 下 global log 127.0.0.1 local2 #日志定义级别 chroot /var/lib/haproxy #当前工作目录 pidfile /var/run/haproxy.pid #进程id maxconn 4000 #最大连接数 daemon #后台形式运行 stats socket /var/lib/haproxy/stats mode 600 level admin # level为admin,否 则使用socat时会提示权限拒

    2024年02月12日
    浏览(36)
  • HAProxy负载均衡架构

    (1)HAProxy 是一款 提供高可用性、负载均衡 以及 基于TCP(第四层)和HTTP(第七层)应用 的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别 适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理 。HAProxy运行在时下的硬件上

    2024年02月01日
    浏览(46)
  • haproxy负载均衡

    目录 一.常见的web集群调度器 二.haproxy的概念  三.特性 四 图解haproxy  五 haproxy的配置文件详解 一.常见的web集群调度器 1.目前常见的web集群调度器分为软件和硬件 2.软件通常使用开源的lvs/haproxy/nginx 3.硬件一般使用比较多的是f5 也有国内的产品 二.haproxy的概念  haproxy是可提供

    2024年02月16日
    浏览(30)
  • 负载均衡--Haproxy

    haproxy 他也是常用的负载均衡软件 nginx 支持四层转发,七层转发 haproxy也可以四层和七层转发 haproxy:法国人开发的威利塔罗在2000年基于C语言开发的一个开源软件 可以支持一万以上的并发请求 高性能的tcp和http负载均衡2.4 1.5.9 haproxy:主要用于高并发的web站点,工作原理和n

    2024年02月08日
    浏览(30)
  • haproxy 负载均衡

    haproxy缺点: 单节点部署,单实例运行。代理服务器出现故障,整个负载集群全部不可用。 正常功能: 1、tcp和http的反向代理 2、https的代理配置 3、可以针对http请求添加cookie,转发到后端服务器(添加缓存) 4、也支持主备切换(keepalive) 5、基于端口的实时监控 6、压缩响应的报

    2024年02月08日
    浏览(33)
  • 七层负载均衡 HAproxy

    (1) 无负载均衡: 没有负载均衡,用户直接连接到 Web 服务器。当许多用户同时访问服务器时,可能无法连接。 (2) 四层负载均衡: 用户访问负载均衡器,负载均衡器将用户的请求平衡转发给后端服务器。 (3) 七层负载均衡: 7层负载均衡是更复杂的负载均衡方法,使用第7层允

    2024年02月08日
    浏览(36)
  • HAProxy+nginx搭建负载均衡群集

    目录 一、常见的Web集群调度器 二、HAProxy群集介绍  1、Haproxy的特性 : 2、Haproxy常用的调度算法  ① 轮询调度(Round Robin) ② 最小连接数(Least Connections) ③ 基于来源访问调度算法(Source Hashing) ④URi ⑤ url_param ⑥ rdp-cookie(name) ⑦ source ⑧ static -rr 3、nginx和LVS和Haproxy有什

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包