[置顶] Aerospike数据库实战(六) -- 踩坑&经验总结
来源:程序员人生 发布时间:2017-02-21 08:09:25 阅读次数:8083次
问题1:Aerospike集群同时扩容两个节点时,集群可能会出现意外情况。
经验教训:从Aerospkie社区找到官方回复,Aerospike扩容时每次只能扩容1个节点。
扩容方法是将新增节点UDP组播地址和端口配置成跟现有集群组播地址1致。同时扩容1个以上节点时,会出现意想不到的情况。
问题2:Aerospike集群扩容进程中需要5分钟左右的时间同步节点信息、重启分配Partition,此进程中可能会出现集群停止服务的情况。
经验教训:集群扩容之前需要评估aerospike集群几分钟停止对外服务的影响,提早做好预案,例如:用小的Redis集群作为Aerospkie的备,Aerospkie集群升级之前暂时切入Redis集群读取数据。
问题3:Aerospike集群扩容成功后各节点之间会有大量的数据迁移,数据迁移会和客户端竞争读写资源从而影响到线上读写性能。
经验教训:需要在迁移之前配置好公道的数据迁移相干参数,控制数据迁移进度,避免出现数据迁移占用过量资源、乃至服务重启的情况。
问题4:Aerospike数据库在启动前需要将全部的1级索引、2级索引load到内存中。当节点数据量比较大时候全部load进程非常耗时。
经验教训:2级索引只是聚合场景下会被使用到,如果没有聚合使用处景,可以关闭2级索引,以加快Aerospike服务启动进度。
问题5:正常的重启流程是,1个节点1个节点的重启,如果直接重启所有节点会出现备份数据被删除的情况。
经验教训:为了保证数据不丢失,严格依照标准的重启流程来,每一个节点重启完后等待数据迁移完成后,再重启下1个节点
问题6:access-address 参数配置成内网ip还是配置成外网ip适合?不配的话会出现甚么情况?
经验教训:
access-address 用来配置集群ip参数列表提供给客户端使用。如果既需要外网访问,有需要内网访问,那末就不用配置这个参数。只需要内网访问配置成内网IP,只需要外网访问的话配置成外网IP.
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠