原因:
双副本,三个数据节点,如果设置了同一台物理机不能存储两个两个副本的话,整个集群至少需要两个数据节点才能有一个完整的副本。所以造成上述问题的原因是,目前整个集群只启动了1个数据节点,所以导致有的CHUNK的副本缺失了。
解决方法:
至少再启动集群中的1个数据节点(A或B物理机的数据节点),然后执行上述函数,就可以成功了。
触发场景如下:
(1)A、B、C三台物理机,普通集群,双副本,控制节点配置在物理机A,每台物理机配置1个数据节点
(2)启动控制节点、代理节点,1个数据节点(C物理机上的数据节点)
(3)执行dropDatabase函数和loadTable函数,报错信息如下:
dropDatabase报错:
Can't drop partition Table…… because no replica is available.
loadTable报错:
returned from name node didn't contain any site.
请问是什么原因?
原因:
双副本,三个数据节点,如果设置了同一台物理机不能存储两个两个副本的话,整个集群至少需要两个数据节点才能有一个完整的副本。所以造成上述问题的原因是,目前整个集群只启动了1个数据节点,所以导致有的CHUNK的副本缺失了。
解决方法:
至少再启动集群中的1个数据节点(A或B物理机的数据节点),然后执行上述函数,就可以成功了。