Просто некоторые дополнительные мысли:
Для Шаг # 6 , вам на самом деле не нужно сразу запускать upgradesstables
. На самом деле, если вы модернизируете производственную систему, вероятно, лучше не делать этого, пока команда приложений не проверит, что они могут нормально подключиться. Помните, что старые версии драйверов, которые работают в 2.2, могут не работать с 3.11.4.
С этой целью я бы подождал, пока весь кластер не будет работать в новой версии , прежде чем запустит upgradesstables
на каждом узле.
Нужно ли вводить команду upgradedesstables?
Поскольку каждая версия Cassandra способна считывать свой собственный формат SSTable, а также предыдущую основную версию, я думаю, что это не обязательный . Но это определенно то, что вы должны хотеть сделать. Особенно при обновлении до 3.x.
Cassandra 3 содержит существенное обновление до механизма хранения, в результате чего значительно меньше места на диске. В одном обновленном кластере потребности в дисках сократились на 90% .
Кроме того, вы будете испытывать дополнительные задержки при чтении записей, которые могут распространяться как на старые файлы SSTable, так и на новые. Чтение записей в нескольких файлах достаточно плохо Но теперь вы заставляете Кассандру читать и сопоставлять результаты в двух форматах.
Так что, хотя я бы не сказал, что это «обязательно», я бы определенно сказал, что это квалифицируется как «хорошая идея».