ES报错Native controller process has stopped - no new native processes can be started

一、问题描述

在Linux中启动ES发现如下错误: Native controller process has stopped - no new native processes can be started,问题如下所示:

  1. 问题代码

    [2022-01-30T23:37:59,659][INFO ][o.e.x.m.p.NativeController] [node-1] Native controller process has stopped - no new native proces  ses can be started
    [2022-01-30T23:37:59,663][INFO ][o.e.n.Node               ] [node-1] stopping ...
    [2022-01-30T23:37:59,668][INFO ][o.e.x.w.WatcherService   ] [node-1] stopping watch service, reason [shutdown initiated]
    [2022-01-30T23:37:59,669][INFO ][o.e.x.w.WatcherLifeCycleService] [node-1] watcher has stopped and shutdown
    [2022-01-30T23:38:00,010][INFO ][o.e.n.Node               ] [node-1] stopped
    [2022-01-30T23:38:00,011][INFO ][o.e.n.Node               ] [node-1] closing ...
    [2022-01-30T23:38:00,030][INFO ][o.e.n.Node               ] [node-1] closed
    
  2. 问题截图

    在这里插入图片描述

二、解决办法

产生这个问题的原因是因为ES的安全机制问题,解决办法如下所示(注意:ES禁止Linux使用root用户启动,因此必须使用非root用户启动):

  1. 新增内容

    vi /etc/security/limits.conf
    

    然后

    xxx(你的非root用户名) soft nofile 65536
    xxx(你的非root用户名) hard nofile 65536
    xxx(你的非root用户名) soft nproc 4096
    xxx(你的非root用户名) hard nproc 4096
    
  2. 修改内容

    cd /etc/security/limits.d
    

    然后

    ##这两行是原本的内容
    *          soft    nproc     4096
    root       soft    nproc     unlimited
    
    ## 修改
    #将*号改成用户名
    xxx(你的非root用户名)   soft    nproc     4096
    root       soft    nproc     unlimited
    
  3. 添加内容

    vi /etc/sysctl.conf 
    

    然后在文末添加如下内容

    vm.max_map_count = 655360
    

    保存退出以后再在 root用户状态下 执行一下内容:

    sysctl -p
    

    接下来切换到非root用户就可以启动了

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值