提问参考模版:
-
nebula 版本:3.4.0
-
部署方式: 分布式
-
安装方式: RPM
-
是否上生产环境:Y
扩容之后,除了 BALANCE DATA
命令,是否有其他方案均衡数据?目前增加机器后,原有图空间相当于只扩了graph 服务,分片数据迁移不到新的storaged上,无法利用新的节点。
提问参考模版:
nebula 版本:3.4.0
部署方式: 分布式
安装方式: RPM
是否上生产环境:Y
扩容之后,除了 BALANCE DATA
命令,是否有其他方案均衡数据?目前增加机器后,原有图空间相当于只扩了graph 服务,分片数据迁移不到新的storaged上,无法利用新的节点。
balance leader 会做数据均衡吗,直接执行balance leader 会将原有三台机器的数据均衡到其他三台,然后再执行leader的执行吗
不会,当前主要是add hosts后balance data, 如果balance data不方便可以考虑重新导入数据;
通过这里面的enable_data_balance=true,是不是就可以执行 balance data了
参考配置文件中的说明,这个功能是可以打开的,但不是特别稳定,执行前做好数据备份,以及执行报错可以贴在这里我们一起查看。
备份数据失败了…
使用BR 备份数据到本地,报错:E_LIST_CLUSTER_NO_AGENT_FAILURE
Agent 信息:
三台机器启动Agent 命令:
sudo nohup ./agent --agent=“10.152.2.95:8888” --meta=“10.152.2.95:9559” > nebula_agent.log 2>&1 &
sudo nohup ./agent --agent=“10.128.5.244:8888” --meta=“10.152.2.95:9559” > nebula_agent.log 2>&1 &
sudo nohup ./agent --agent=“10.151.1.223:8888” --meta=“10.152.2.95:9559” > nebula_agent.log 2>&1 &
BR 备份命令:
./br backup full --meta “10.152.2.95:9559” --storage “local:///data1/nebula/backup/” --spaces test_1
报错信息:
分布式应该不支持本地存储的 br 吧?可以用 minio 作为 s3 后端试试?
看文档还有论坛里的介绍,是可以的,只是恢复数据麻烦点。
这里预设了所有的服务的 host 部分都要有一个 agent,你那里不止3个吧?
如果空间足够的话,允许停机的话,可以原样copy目录。这样也是一种意义上的备份~
直接copy storage 数据目录吗?这么暴力,如果balance data 失败后,再迁移回来是可行的吗?
执行一下 show hosts meta,show hosts graph 看看呢,有没有少部署agent。br备份要求每个服务所在的节点上都要有一个agent,包括了graph和meta服务
目前在 balance 中了,但是速度太慢了,貌似每个partition都要被迁移,看了下文档,目前分片算法用的静态 Hash,后面是不是可以用一致性 Hash 算法。
目前看要停服 balance data 30个小时。
目前除了 BALANCE DATA
没有其他的官方方案来均衡数据。但你可以考虑重新导入数据来达到均衡数据的目的。