您现在的位置是:主页 > news > 乐享校园网站建设策划书/微博推广价格表
乐享校园网站建设策划书/微博推广价格表
admin2025/5/20 13:22:21【news】
简介乐享校园网站建设策划书,微博推广价格表,上饶做网站,筑巢网站推广怎么样升级到3.0.0时的迁移说明 你应该只需要阅读本节,如果你从旧版本的ZooKeeper升级到3.0.0版本,otw跳下来更改 此版本中的少量更改导致非向后兼容的Zookeeper客户端用户代码和服务器实例数据。以下说明提供有关如何将代码和日期从版本2.2.1迁移到版本3.0.0的…
升级到3.0.0时的迁移说明
你应该只需要阅读本节,如果你从旧版本的ZooKeeper升级到3.0.0版本,otw跳下来更改
此版本中的少量更改导致非向后兼容的Zookeeper客户端用户代码和服务器实例数据。以下说明提供有关如何将代码和日期从版本2.2.1迁移到版本3.0.0的详细信息。
注意:当向源库进行向后不兼容更改时,ZooKeeper会增加主版本号(major.minor.fix)。作为从SourceForge迁移的一部分,我们将包结构(com.yahoo.zookeeper。*更改为org.apache.zookeeper。*),并认为这是一个合并一些我们已拒绝的更改的好时机。因此,当从ZooKeeper的2.2.1版本迁移到3.0.0版本时,将需要以下内容。
-
迁移客户端代码
-
迁移服务器数据
-
迁移服务器配置
迁移客户端代码
底层的客户端 - 服务器协议在3.0版本的ZooKeeper中已经更改。因此,客户端必须与服务群集一起升级,以确保系统正常运行(旧的3.0.0之前的客户端不能保证在升级的3.0.0服务器上运行,反之亦然)。
表管理
在以前的ZooKeeper版本中,如果客户端丢失了与ZooKeeper服务器的连接,则客户端注册的任何监视都会丢失。这意味着开发人员必须跟踪他们感兴趣的手表,如果收到会话断开连接事件,则重新注册它们。在此版本中,客户端库跟踪客户端已注册的监视,并在与新服务器建立连接时重新注册监视。仍然手动重新注册利益的应用程序应该继续正常工作,只要他们能够处理未经请求的手表。例如,旧应用程序可以注册/ foo和/ goo的监视,失去连接,并仅重新注册/ goo。只要应用程序能够接收/ foo的通知,(可能忽略它),它不需要更改。对手表管理的一个警告:
此版本还允许客户端指定呼叫特定的手表功能。这使开发人员能够在不同的手表功能中模块化逻辑,而不是在附加到ZooKeeper句柄的手表功能中填充所有内容。呼叫特定的手表功能接收所有会话事件,只要它们是活动的,但只会接收他们注册的手表回调。
Java API
-
java包结构已从com.yahoo.zookeeper *更改为org.apache.zookeeper *。这可能会影响所有使用ZooKeeper API(通常是import语句)的Java代码,
-
客户端ZooKeeper API中使用的许多常量使用枚举(而不是int)重新指定。见ZOOKEEPER-7,ZOOKEEPER-132和ZOOKEEPER-139的全部细节
-
ZOOKEEPER-18删除了KeeperStateChanged,而改用KeeperStateDisconnected
另请参阅当前的Java API
C API
-
为了减少命名空间冲突,客户端ZooKeeper API中使用的许多常量已重命名,有关完整详细信息,请参阅ZOOKEEPER-6
迁移服务器数据
以下问题导致磁盘数据格式(ZK数据目录中包含的快照和事务日志文件)的更改,并需要运行迁移实用程序。
-
ZOOKEEPER-27服务器和客户端的唯一数据库标识符
-
ZookeePER-32 ZooKeeper数据的CRC
-
ZOOKEEPER-33更好的ACL管理
-
日志/快照文件中的ZOOKEEPER-38标题(版本+)
在将ZooKeeper服务器实例升级到版本3.0.0时,必须运行一次,并且只能运行一次。
下面引用的<dataLogDir>和<dataDir>目录分别由ZooKeeper配置文件中的dataLogDir 和dataDir规范指定。dataLogDir默认为价值DATADIR如果不是在ZooKeeper的服务器配置文件中明确指定的(在这种情况下,提供两个参数来升级实用程序相同的目录)。
-
关闭ZooKeeper服务器集群。
-
备份您的<dataLogDir>和<dataDir>目录
-
使用运行升级
-
bin / zkServer.sh upgrade <dataLogDir> <dataDir>
要么
-
java -classpath pathtolog4j:pathtozookeeper.jar UpgradeMain <dataLogDir> <dataDir>
其中<dataLogDir>是存储所有事务日志(log。*)的目录。<dataDir>是存储所有快照(快照。*)的目录。
-
-
重新启动集群。
如果在升级过程中出现任何故障,请继续阅读以清理数据库。
这是升级在ZooKeeper中的工作原理。这将帮助您进行故障排除,以防您在升级时遇到问题
-
升级将文件从<dataLogDir>和<dataDir>分别移动到<dataLogDir> / version-1 /和<dataDir> / version-1(版本-1子目录由升级实用程序创建)。
-
升级会创建一个新版本子目录<dataDir> / version-2和<dataLogDir> / version-2
-
升级将旧数据库从<dataDir> / version-1和<dataLogDir> / version-1读入内存并创建新的升级快照。
-
升级在<dataDir> / version-2中写入新数据库。
故障排除。
-
如果您在2.0数据库上启动ZooKeeper 3.0而不从2.0升级 - 服务器将以空数据库启动。这是因为服务器假定<dataDir> / version-2和<dataLogDir> / version-2将使数据库开始。因为在没有升级的情况下这将是空的,所以服务器将以空数据库开始。在这种情况下,关闭ZooKeeper服务器,删除版本2目录(记住这将导致更新失败,在您开始3.0之后),然后开始升级过程。
-
如果在尝试将文件重命名为版本1目录时升级失败,则应尝试将<dataDir> / version-1和<dataLogDir> / version-1下的所有文件分别移动到<dataDir>和<dataLogDir>。然后再次尝试升级。
-
如果你不想使用ZooKeeper 3.0运行,喜欢运行ZooKeeper 2.0并且已经升级 - 你可以运行ZooKeeper 2,将<dataDir>和<dataLogDir>目录更改为<dataDir> / version-1和<dataLogDir> / version-1。请记住,您将丢失升级后所做的所有更新。
迁移服务器配置
ZooKeeper服务器配置文件有重大变化。
由electionAlg配置属性指定的默认选择算法已从默认值0更改为默认值3。请参阅 管理员指南的“ 集群选项”部分,特别是electionAlg 和server.X属性。
你要么需要显式设置electionAlg到它的先前的默认值0或更改server.X选项,包括领导人选举端口。