Posts: 35
Registered: ‎12-13-2013
Accepted Solution

How to specify memory allocation to Kudu in CM Static Service Pools?

[ Edited ]

For Impala, hbase, hdfs and yarn services, I can specify memory allocation in static service pools UI in Cloudera Manager.  Not so for Kudu.


So do I manually under-allocate all the others to leave open whatever I want for Kudu, and then config Kudu's "Tablet Server Hard Memory Limit"?


CDH 5.15.1  CM 5.15.1

Cloudera Employee
Posts: 38
Registered: ‎11-12-2013

Re: How to specify memory allocation to Kudu in CM Static Service Pools?

Yes, unfortunately this was an oversight, and will be corrected in a future release. For now you can either do the workaround you suggested (manually underallocating for the others, then manually configuring Kudu's memory limit).


Or, if you want to roll up your sleeves a bit:

  1. ssh to the CM server machine.
  2. For each file named KUDU*.jar (in /usr/share/cmf/common_jars, I believe):
  3. Extract the JAR file using the 'jar' utility.
  4. Modify descriptor/service.sdl by finding the memory_limit_hard_bytes entry, adding a comma after "default" :  4294967296, and adding a new line with the contents "autoConfigShare" : 100
  5. Recreate the JAR around the extracted files (including the modified service.sdl)
  6. Overwrite the existing KUDU*.jar files with the new ones you created in step #5.
  7. Restart the CM server.

You should now see an entry in he static service pools UI for Kudu's Tablet Server Hard Memory Limit.