kylin集群反向代理(健康检查)

        前面一篇文章提到了使用nginx来对kylin集群进行反向代理,

kylin集群使用nginx反向代理-CSDN博客文章浏览阅读349次,点赞8次,收藏9次。由于是同一个集群的,元数据没有变化,所以,直接将原本的kylin使用scp的方式发送到其他节点即可。说明一下,192.168.200.12是我nginx的安装的节点,192.168.200.11、192.168.200.12、192.168.200.13是我3台kylin安装的节点,7070是kylin端口。对于多个节点的查询,我需要进行一下优化,所以我最终选用了nginx,对3台kylin进行了反向代理。分别运行这段代码3次,发现两次成功,成功访问到了kylin的数据,一次失败。https://blog.csdn.net/qq_40209679/article/details/135526638

        我3个节点,有一个是不能查询的,通过查阅资料,有两种处理方式。

  1. 健康检查
  2. 故障转移

        通过自己实际情况,我选择了节点健康检查的方式。通过查阅资料,网上说有现成的插件。所以,我直接在github上搜:nginx健康检查。出现了:

kylin集群反向代理(健康检查)_第1张图片

        这里,我选择了Star多的一个,来进行了下载。下载后,将包放在我得nginx节点上任意一个目录,怎么安装在那里面都写好了,只需要运行下面红色的部分

kylin集群反向代理(健康检查)_第2张图片

        要注意的是,红色部分里面要选择和自己nginx对应的版本的patch。

        下面进入nginx目录,运行:

./configure --prefix=/usr/local/nginx-1.16 --with-stream --with-http_stub_status_module --with-http_ssl_module --add-module=/usr/local/ngx_healthcheck_module-master

        接下来编译:

make && make install

        成功后,我的nginx配置如下(我只截取修改部分):

	server {
			listen       81;
			server_name  localhost;
			location /status {
				healthcheck_status json;
			}
			location / {
				 proxy_pass http://192.168.200.12;
			}
			error_page   500 502 503 504  /50x.html;
			location = /50x.html {
				root   html;
			}
		}
	upstream 192.168.200.12 {
		server 192.168.200.11:7070;
		server 192.168.200.12:7070;
		server 192.168.200.13:7070;
		check interval=3000 rise=2 fall=5 timeout=5000 type=tcp;
    }

打开网页,输入

http://192.168.200.12:81/status?format=html

发现了:

kylin集群反向代理(健康检查)_第3张图片

健康状态检成功。下面进行测试,我去关闭那台设置为job的kylin(第一台)。

再次刷新网页,发现了:

kylin集群反向代理(健康检查)_第4张图片

那么再次回答上一章的问题,使用相同命令进行测试呢:

curl -X POST -H "Content-Type: application/json" -u admin:KYLIN -d '{"project": "test1","sql": "select * from ods.KKTEST2;"}' http://192.168.200.12:81/kylin/api/query

结果如下:kylin集群反向代理(健康检查)_第5张图片

可以看到无论测试几次都成功。任务完成。

你可能感兴趣的:(kylin,kylin,大数据)