Elasticsearch自从升级到2.x之后便有提示“谨慎使用root用户启动”,但是我们通过简单的配置还是可以使用root启动的。以Elasticsearch 2.3源码为例,Elasticsearch在启动时需要初始化Native资源,Native资源的初始化是通过Bootstrap中initializeNatives方法进行的,下面是源码:
/** initialize native resources */
public static void initializeNatives(Path tmpFile, boolean mlockAll, boolean seccomp, boolean ctrlHandler) {
final ESLogger logger = Loggers.getLogger(Bootstrap.class);
// check if the user is running as root, and bail
if (Natives.definitelyRunningAsRoot()) {
if (Boolean.parseBoolean(System.getProperty("es.insecure.allow.root"))) {
logger.warn("running as ROOT user. this is a bad