Cluster extension {#expand_cluster}

  1. Add information about new nodes to NameserviceConfig in the names.txt file

1. Node { 2. NodeId: 1 3. Port: <ic-port> 4. Host: "<existing-host>" 5. InterconnectHost: "<existing-host>" 6. Location { 7. DataCenter: "DC1" 8. Module: "M1" 9. Rack: "R1" 10. Unit: "U1" 11. } 12. } 13. Node { 14. NodeId: 2 15. Port: <ic-port> 16. Host: "<new-host>" 17. InterconnectHost: "<new-host>" 18. Location { 19. DataCenter: "DC1" 20. Module: "M2" 21. Rack: "R2" 22. Unit: "U2" 23. } 24. } 25. ClusterUUID: "<cluster-UUID>" 26. AcceptUUID: "<cluster-UUID>"

Cluster extension - 图1 2. Update the NameserviceConfig via CMS 3. Add new nodes to DefineBox

Sample protobuf for DefineBox

1. Command { 2. DefineHostConfig { 3. HostConfigId: 1 4. Drive { 5. Path: "<device-path>" 6. Type: SSD 7. PDiskConfig { 8. ExpectedSlotCount: 2 9. } 10. } 11. } 12. } 13. Command { 14. DefineBox { 15. BoxId: 1 16. Host { 17. Key { 18. Fqdn: "<existing-host>" 19. IcPort: <ic-port> 20. } 21. HostConfigId: 1 22. } 23. Host { 24. Key { 25. Fqdn: "<new-host>" 26. IcPort: <ic-port> 27. } 28. HostConfigId: 1 29. } 30. } 31. }

Cluster extension - 图2

Using the command

1. kikimr -s <endpoint> admin bs config invoke --proto-file DefineBox.txt

Cluster extension - 图3