注意:当 server 升级到某个版本后,使用的插件也应升级到与此对应的版本。
本例中,需要将版本为 2.00.7.4 的高可用集群升级到 2.00.8.12 版本
以下为 controller.cfg 文件仅供参考:
mode=controller
localSite=10.10.11.2:8920:HActl44
dfsHAMode=Raft
dfsReplicationFactor=2
dfsReplicaReliabilityLevel=1
dataSync=1
workerNum=4
maxConnections=512
maxMemSize=8
lanCluster=0
dfsRecoveryWaitTime=30000以下为 cluster.nodes 仅供参考:
localSite,mode
10.10.11.1:8920:HActl43,controller
10.10.11.2:8920:HActl44,controller
10.10.11.3:8920:HActl45,controller
10.10.11.1:8921:agent43,agent
10.10.11.2:8921:agent44,agent
10.10.11.3:8921:agent45,agent
10.10.11.1:8922:node43,datanode
10.10.11.2:8922:node44,datanode
10.10.11.3:8922:node45,datanodepnodeRun(version)
node value
0 node43 2.00.7.4 2022.12.08
1 node44 2.00.7.4 2022.12.08
2 node45 2.00.7.4 2022.12.08DolphinDB 中现有数据库 dfs://stock,库中有分布式表 stock
db = database("dfs://stock",VALUE,2023.01.01..2023.01.10,,'TSDB')
tmp = table(1:0,[`time,`name,`id],[TIMESTAMP,SYMBOL,INT])
pt = db.createPartitionedTable(tmp,`stock,`time,,`name,ALL)执行升级过程中,Python API 始终以高可用的方式向 DFS 表中写入数据
import dolphindb as ddb
import pandas as pd
import datetime
import time
import random
s = ddb.session()
sites = ["192.168.100.43:8922","192.168.100.44:8922","192.168.100.45:8922"]
s.connect(host="192.168.100.43",port=8922,userid="admin",password="123456", highAvailability=True, highAvailabilitySites=sites)
appender = ddb.tableAppender(dbPath="dfs://stock",tableName='stock',ddbSession=s,action="fitColumnType")
x = ['Apple','Microsoft','Meta','Google','Amazon']
i = 1
while i<=10000000:
now = datetime.datetime.now()
name = random.sample(x,1)
data = pd.DataFrame({'time':now,'name':name,'id':i})
appender.append(data)
print(i)
i = i+1
time.sleep(1)如果升级后验证 DFS 表 stock 中的 time 字段延续至当前,且 id 字段是连续正整数,说明升级过程中写入未被中断;否则,说明受到了停机影响。