Wed Aug 15, 2018 4:43 pm
Login Register Lost Password? Contact Us


Increasing or Decreasing the cluster size

Topics related to recommendations or questions on the design for HPCC Systems clusters

Wed Mar 30, 2016 5:56 am Change Time Zone

Hi,

I like to know, how to perform below operations in a existing HPCC cluster without data loss.
1. Add a node
2. Remove a node

Thanks,
Ramesh
rameshpachamuthu
 
Posts: 9
Joined: Tue Dec 29, 2015 1:02 pm

Wed Mar 30, 2016 5:35 pm Change Time Zone

Ramesh,
I like to know, how to perform below operations in a existing HPCC cluster without data loss.
HPCC clusters are always pre-configured, so changing the number of nodes always implies bringing the cluster down, re-configuring, then bringing it back up in the new configuration.
1. Add a node
Since HPCC data files are always distributed across the nodes and the DFU keeps track of where all the data file parts are, changing a 4-node cluster to a 5-node simply means adding the new node. The new configuration will still have all the data (as 4 file parts instead of 5) and all you need to do is use the files on the new configuration, redistributing the data to make use of all 5 nodes.
2. Remove a node
This is the tough one. You would need to despray the data, reconfigure your cluster, then spray the files again to the new configuration.

HTH,

Richard
rtaylor
Community Advisory Board Member
Community Advisory Board Member
 
Posts: 1368
Joined: Wed Oct 26, 2011 7:40 pm

Thu Mar 31, 2016 4:17 am Change Time Zone

Hi Richard,

Thanks for your response. It is helpful.

Regards,
Ramesh
rameshpachamuthu
 
Posts: 9
Joined: Tue Dec 29, 2015 1:02 pm

Tue Sep 26, 2017 9:23 pm Change Time Zone

Just happened on this -
For future reference, this ECL will write a dataset to only selected nodes in a cluster:
OUTPUT(ds, , '~thor::myfile', CLUSTER('thor[1-4]'));

I.e., the file could be re-written to only the first 4 nodes, before node 5 is removed.
jwilt
 
Posts: 50
Joined: Wed Feb 27, 2013 7:46 pm

Wed Sep 27, 2017 1:46 pm Change Time Zone

Jim,

FYI, this code DOES run on my 6.4, 3-node training cluster:
Code: Select all
OUTPUT(ds,,'~RTTEST::test::fileparts2',CLUSTER('mythor[1-2]'));

It DOES limit the number of nodes the data is written to, but it does NOT change the total number of file parts written. IOW, on my 3-node cluster I get file part 1 on node 1, and parts 2 & 3 both on node 2.

That means, running the above code on a 400-node cluster would put file part 1 on node 1, and all the rest of the parts on node 2 (possibly running out of disk space).

Therefore I have to score this workaround as "works, but dangerous" ;)

HTH,

Richard
rtaylor
Community Advisory Board Member
Community Advisory Board Member
 
Posts: 1368
Joined: Wed Oct 26, 2011 7:40 pm


Return to Clustering

Who is online

Users browsing this forum: No registered users and 1 guest