5.3. OS Limits

If you get the error "Cannot start datanode because the configured max locked memory size... is more than the datanode's available RLIMIT_MEMLOCK ulimit," that means that the operating system is imposing a lower limit on the amount of memory that you can lock than what you have configured. To fix this, you must adjust the ulimit -l value that the DataNode runs with. This value is usually configured in /etc/security/limits.conf, but this may vary depending on what operating system and distribution you are using.

You will know that you have correctly configured this value when you can run  ulimit -l from the shell and get back either a higher value than what you have configured with dfs.datanode.max.locked.memory, or the string "unlimited", which indicates that there is no limit. Note that it is typical for  ulimit -l to output the memory lock limit in kilobytes (KB), but dfs.datanode.max.locked.memory must be specified in bytes.


loading table of contents...