Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

CM enforces max locked memory on datanode process

avatar
Explorer

Hello,

 

When setting the parameter "dfs.datanode.max.locked.memory" to a value other than 0, it is supposed to be the user's responsibility to set the MEMLOCK limits accordingly. CM does not leave that for the user and enforces it. (as seen on /proc/<pid>/limits)

 

This parameter is used by HDFS only to limt cache resources, so there is no real reason for CM to enforce this limit on an OS level. By doing so, CM does not allow external libraries (non-cache related) on the datanode to allocate memory past this limit. 

 

To make a long story short, I'd like to cancel CM's enforcement of this limit and set the limits myself. Is there any way I could do so?

 

Thanks,

Elad

1 ACCEPTED SOLUTION

avatar
Hi Elad,

You can set probably dfs.datanode.max.locked.memory to the value you want to enforced by the OS, then use the Advanced Configuration Snippet for hdfs-site.xml to change the value that HDFS actually sees for this parameter in hdfs-site.

If CM didn't set memlock, then HDFS caching would be at the mercy of the default memlock setting and could fail unexpectedly, with essentially no workaround. So it's pretty important that CM sets this limit to something that will make caching work.

Thanks,
Darren

View solution in original post

2 REPLIES 2

avatar
Hi Elad,

You can set probably dfs.datanode.max.locked.memory to the value you want to enforced by the OS, then use the Advanced Configuration Snippet for hdfs-site.xml to change the value that HDFS actually sees for this parameter in hdfs-site.

If CM didn't set memlock, then HDFS caching would be at the mercy of the default memlock setting and could fail unexpectedly, with essentially no workaround. So it's pretty important that CM sets this limit to something that will make caching work.

Thanks,
Darren

avatar
Explorer

Thanks a lot Darren, a very simple solution 🙂