? ? ? ? 前文已经提到,我安装了kylin集群。
????????对于多个节点的查询,我需要进行一下优化,所以我最终选用了nginx,对3台kylin进行了反向代理。
? ? ? ? 下面直接贴nginx新增的配置。
server {
listen 81;
server_name localhost;
#charset koi8-r;
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;
}
????????说明一下,192.168.200.12是我nginx的安装的节点,192.168.200.11、192.168.200.12、192.168.200.13是我3台kylin安装的节点,7070是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
? ? ? ? 上面是我用curl进行kylin的sql访问,下面贴测试结果。
????????分别运行这段代码3次,发现两次成功,成功访问到了kylin的数据,一次失败。这是因为nginx默认使用的轮询进行反向代理。而三台节点中,其中有一台设置的job模式(可以看看前一篇文章kylin集群设置)。
? ? ? ? 那么遇到有不能访问的节点能不能跳到其它节点呢,让我们拭目以待。
? ? ? ? 后面将持续更新和修改这篇文章,喜欢的小伙伴记得点赞哦。