[
https://issues.apache.org/jira/browse/HBASE-4391?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104074#comment-13104074
]
Todd Lipcon commented on HBASE-4391:
------------------------------------
I've put an initial implementation of a JVMTI agent that accomplishes this here:
https://github.com/toddlipcon/mlockall_agent
It can be compiled using the "compile.sh" script in the repo, and then
configured like so in hbase-env.sh:
{code}
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS
-agentpath:/home/todd/git/libmlockall_agent/libmlockall_agent.so=user=todd"
{code}
After which point you must run the regionserver as root:
{code}
todd@todd-w510:~/git/hbase$ ./bin/hbase regionserver
mlockall_agent: Unable to boost memlock resource limit: Operation not permitted
mlockall_agent: (this may be because java was not run as root!)
Error occurred during initialization of VM
agent library failed to init:
/home/todd/git/libmlockall_agent/libmlockall_agent.so
todd@todd-w510:~/git/hbase$ sudo ./bin/hbase regionserver
mlockall_agent: Successfully locked memory and setuid to todd
{code}
Perhaps some other people can check this out, and if it looks generally useful
we could either build it along with HBase or at least point to it from docs?
> Add ability to start RS as root and call mlockall
> -------------------------------------------------
>
> Key: HBASE-4391
> URL: https://issues.apache.org/jira/browse/HBASE-4391
> Project: HBase
> Issue Type: New Feature
> Components: regionserver
> Affects Versions: 0.94.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Fix For: 0.94.0
>
>
> A common issue we've seen in practice is that users oversubscribe their
> region servers with too many MR tasks, etc. As soon as the machine starts
> swapping, the RS grinds to a halt, loses ZK session, aborts, etc.
> This can be combatted by starting the RS as root, calling mlockall(), and
> then setuid down to the hbase user. We should not require this, but we should
> provide it as an option.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira