Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 1.91 KB

UPGRADE-BTCPool-zhCN.md

File metadata and controls

32 lines (22 loc) · 1.91 KB

升级BTCPool

升级到 BTCPool 2.3.0

为了更好的可扩展性,BTCPool 2.3.0 改为在传输和存储 share 的过程中使用 ProtoBuf。

这是一个与之前的部署不兼容的更新。所以为了升级到该版本,你需要做一些额外的操作。

有什么问题?

BTCPool 2.3.0 在以下方面与之前的部署不兼容:

  1. 新的sserver将产生 ProtoBuf 格式的 share,旧的shareloggerstatshttpd无法处理。
  2. 旧版本的sharelog文件格式与新版本的不兼容。如果你直接升级sharelogger,不清理掉以前的sharelog文件,文件就会以新的格式继续写入。这将导致旧版本和新版本的slparser都无法读取该文件。
  3. 如果简单的移除旧版本的sharelog文件,新产生的sharelog文件将是不完整的。因为kafka中记录了share_topic的消费进度。只有更改sharelogger.cfg中的kafka_group_id才能重置该进度。

BTCPool 2.3.0 在以下方面与旧的部署兼容:

  1. 新版本的statshttpdsharelogger可以处理kafka中旧版本的share。
  2. 因为原因1,你可以混用新旧两个版本的sserver,不会出问题。
  3. 除了share_topic中消息和sharelog文件格式的更改之外,该版本不存在其他不兼容更改。

推荐的升级步骤

  1. 运行一个新的statshttpd,写入和旧版相同的数据库。确认新版工作正常后停止旧版。
  2. 运行一个新的sharelogger,注意要给它一个完全不同的kafka_group_id,并指定一个新的data_dir。它会从share_topic中的第一个消息开始重建sharelog二进制文件。
  3. 等待今天的sharelog文件创建好后,运行新的slparser来读取它。
  4. 确认新的slparser工作正常后,停止旧版。
  5. 现在可以开始部署新版的sserver,或者把旧版sserver升级为新版了。