一、集群扩分片简介
流程与修改schema基本一致,用户通过hape修改分片数,进而修改了catalog中的信息触发全量build,新版本全量切换后,新的分片数生效。
二、集群扩分片实践
1、过程概述
集群扩分片操作的命令与变更表结构一致,相关命令可查看havenask官网。在havenask官网中找到hape命令(https://havenask.net/#/doc/v0-2-2/sql/petool/command),然后找到update命令,更新全量表。命令中的参数可更新全量表的partition数量(分片数)。首先创建一个分布式的havenask集群,再创建一张全量表,查询这张全量表,然后对该全量表进行扩分片操作,使用的命令与变更schema的命令相同,等待扩分片操作完成之后,再查询集群。
2、扩分片实践
接下来我们在havenask分布式集群上进行一次扩分片操作。
hape命令变更表结构(https://havenask.net/0/doc/sql/petool/command)
准备集群:
- hape start havenask -c /ha3_install/hape_conf/remote
- hape create table -t in1 -p 1 -s /ha3_install/example/cases/normal/in0_schema.json -f hdfs://xxx/test.data -c /ha3_install/hape_conf/remote
- hape gs bs -c /ha3_install/hape_conf/remote
- hape gs havenask -c /ha3_install/hape_conf/remote
查询:
- /ha3_install/sql_query.py --address http://<qrs-ip>:45800 --query "select * from in1"
扩分片:
- hape update table-schema -t in1 -p 2 -s /ha3_install/example/cases/normal/in0_schema.json -f hdfs://xxx/test.data -c /ha3_install/hape_conf/remote
- hape gs bs -c /ha3_install/hape_conf/remote
- hape gs havenask -c /ha3_install/hape_conf/remote
查询:
- /ha3_install/sql_query.py --address http://:45800 --query "select * from in1"
3、具体步骤
- 首先,启动havenask分布式集群;然后,创建一张分片数为1的全量表,触发全量表创建已经完成,在全量表构建期间,可以用gs命令查看,build info表示全量表正在构建中,当有了current的build info信息,表明全量表已经构建完成,集群也处于了ready状态;
- 接下来,查询正常后,进行扩分片操作,把分片数改为2,,执行命令后会触发全量build,build完成且索引切换上线后,查看全量build的状态,当创建完成后,build info当中会有两个分片的信息;
- 最后,再次查询集群的状态,显示集群状态为ready,两个分片状态也为ready,扩分片后的集群也已完成。
三、结尾
具体Havenask集群扩分片的演示视频可以通过链接查看,欢迎各位开发者使用。
视频链接:https://developer.aliyun.com/live/253698?spm=a2c6h.13262185.profile.7.563bee42LdD7By
关注我们:
Havenask 开源官网:https://havenask.net/
Havenask-Github 开源项目地址:https://github.com/alibaba/havenask
阿里云 OpenSearch 官网:https://www.aliyun.com/product/opensearch
钉钉扫码加入 Havenask 开源官方技术交流群: