本文介绍: 由于是同一个集群的,元数据没有变化,所以,直接将原本的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的数据,一次失败。
前面一篇文章提到了使用nginx来对kylin集群进行反向代理,
我3个节点,有一个是不能查询的,通过查阅资料,有两种处理方式。
- 健康检查
- 故障转移
通过自己实际情况,我选择了节点健康检查的方式。通过查阅资料,网上说有现成的插件。所以,我直接在github上搜:nginx健康检查。出现了:
这里,我选择了Star多的一个,来进行了下载。下载后,将包放在我得nginx节点上任意一个目录,怎么安装在那里面都写好了,只需要运行下面红色的部分。
要注意的是,红色部分里面要选择和自己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
发现了:
健康状态检成功。下面进行测试,我去关闭那台设置为job的kylin(第一台)。
再次刷新网页,发现了:
那么再次回答上一章的问题,使用相同命令进行测试呢:
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
结果如下:
可以看到无论测试几次都成功。任务完成。
原文地址:https://blog.csdn.net/qq_40209679/article/details/135536471
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_55718.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。