I would suggest the following;
double your number of ndbd processes and run 2 on each machine, i.e.
total of 8, 2 on each machine;
and with DataMem 1024G and IndexMem 512M
You will then be able to store the same amount of data as in your
original setup.
Also, any particular reson your running 4 replicas? Decreasing it to 2
will double your storage capacity in the cluster.
Config file would read something like:
[ndbd]
HostName= a;
[ndbd]
HostName= b;
[ndbd]
HostName= c;
[ndbd]
HostName= d;
[ndbd]
HostName= a;
[ndbd]
HostName= b;
[ndbd]
HostName= c;
[ndbd]
HostName= d;
T
Paul Gardner wrote:
>Tomas
>
>Yes, 4 different machines run ndbd - those machines have 8GB each,
>totalling 32GB across the cluster.
>
>So, it should be working right?
>
>Cheers
>Paul
>
>
>On Fri, 08 Oct 2004 15:07:50 +0000, Tomas Ulin <tomas@stripped> wrote:
>
>
>>Paul,
>>
>>Are you running on 4 different machines each with 8GB?
>>
>>Each ndbd will allocate 3GB+ memory, so total of 4x3GB+ = 12GB+
>>
>>T
>>
>>
>>
>>Paul Gardner wrote:
>>
>>
>>
>>>Hi again
>>>
>>>This one is freaking me out.
>>>
>>>My storage nodes have 8GB of RAM each (4 of).
>>>
>>>In config.ini:
>>>
>>>[NDBD DEFAULT]
>>>NoOfReplicas: 4
>>>DataMemory: 2048M
>>>IndexMemory: 1024M
>>>
>>>When starting ndbd, I get:
>>>
>>>Type of error: error
>>>Message: Memory allocation failure
>>>Fault ID: 2327
>>>Problem data: DBTUP could not allocate memory for Page
>>>Object of reference: Requested: 32768x65536 = 2147483648 bytes
>>>ProgramName: NDB Kernel
>>>ProcessID: 5007
>>>TraceFile: /usr/local/mysql/data/ndb_3_trace.log.8
>>>***EOM***
>>>
>>>Plenty of RAM available:
>>>
>>>[root@cl-mn-1 data]# free
>>> total used free shared buffers cached
>>>Mem: 8258764 392100 7866664 0 93660 106052
>>>-/+ buffers/cache: 192388 8066376
>>>Swap: 2040244 0 2040244
>>>
>>>A bit of code to use malloc() to allocate 2GB of RAM succeeds:
>>>
>>>#cat testmem.c
>>>#include <stdlib.h>
>>>main(int argc, char** argv) {
>>> size_t n=atoll(argv[1]);
>>> if (malloc(n)) printf("%lld allocated\n",(long long)n);
>>> else perror("");
>>>}
>>>#gcc testmem.c
>>>#./a.out 2147483648
>>>2147483648 allocated
>>>
>>>I'm running the mysql-max-4.1.5-gamma binary distribution.
>>>
>>>Is this a bug or am I doing something idiotic?
>>>
>>>Please help - very nearly there!
>>>
>>>One other question - will Mysql support the cluster through a support
>>>contract (which I'm about to buy anyway) or will they insist on
>>>waiting for it to be declared production ready?
>>>
>>>Thanks
>>>Paul
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>