替换 ZooKeeper 服务器
Replace ZooKeeper servers
我想用 3 个新的 ZooKeeper 服务器替换当前的 3 个 ZooKeeper 服务器。我已添加:
- 安巴里的新动物园,
将新动物园添加到变量:
hbase.zookeeper.quorum
ha.zookeeper.quorum
zookeeper.connect
hadoop.registry.zk.quorum
yarn.resourcemanager.zk-address
重新启动服务,重新启动 RM,关闭所有旧 Zoo 服务器后仍然无法连接到任何新 Zoo。
zookeeper-client-server zoo-new1
我收到以下错误:
"Unable to read additional data from server sessionid 0x0, likely server has closed socket"
并且在日志中的新 Zoo 服务器上 (zookeeper.out):
"Exception causing close of session 0x0 due to java.io.IOException: ZooKeeperServer not running"
当我 运行 一个旧的 ZooKeeper 时,一切正常,我也可以连接到新的 ZooKeeper 服务器。
我最好的猜测是这与 zookeeper 中最重要的属性之一有关,即领导者选举。如果您从具有 3 个服务器的 zookeeper quorum 开始,然后再向其中添加 3 个服务器。您必须至少有 4 台服务器 运行 才能访问法定人数。当 zookeeper 节点无法选出领导者时,它看起来好像已关闭。
这也是当您启动其中一个旧动物园管理员时您的设置有效的原因,因为它们现在有 4 个存活,可能有 6 个。如果你想让新的设置工作,你需要从配置中删除旧的服务器,这样 quorum 就只知道三个新的。简单地关闭 zookeeper 服务器不会将其从法定人数中删除。
我想用 3 个新的 ZooKeeper 服务器替换当前的 3 个 ZooKeeper 服务器。我已添加:
- 安巴里的新动物园,
将新动物园添加到变量:
hbase.zookeeper.quorum ha.zookeeper.quorum zookeeper.connect hadoop.registry.zk.quorum yarn.resourcemanager.zk-address
重新启动服务,重新启动 RM,关闭所有旧 Zoo 服务器后仍然无法连接到任何新 Zoo。
zookeeper-client-server zoo-new1 我收到以下错误:
"Unable to read additional data from server sessionid 0x0, likely server has closed socket"
并且在日志中的新 Zoo 服务器上 (zookeeper.out):
"Exception causing close of session 0x0 due to java.io.IOException: ZooKeeperServer not running"
当我 运行 一个旧的 ZooKeeper 时,一切正常,我也可以连接到新的 ZooKeeper 服务器。
我最好的猜测是这与 zookeeper 中最重要的属性之一有关,即领导者选举。如果您从具有 3 个服务器的 zookeeper quorum 开始,然后再向其中添加 3 个服务器。您必须至少有 4 台服务器 运行 才能访问法定人数。当 zookeeper 节点无法选出领导者时,它看起来好像已关闭。
这也是当您启动其中一个旧动物园管理员时您的设置有效的原因,因为它们现在有 4 个存活,可能有 6 个。如果你想让新的设置工作,你需要从配置中删除旧的服务器,这样 quorum 就只知道三个新的。简单地关闭 zookeeper 服务器不会将其从法定人数中删除。