elasticsearch外网IP无法访问

今天在虚拟机上安装了一个ES 6.2.4

ES要求必须有jdk环境:

1. 查找删除系统自带的jdk版本

    #rpm -qa |grep java      #查找jdk

2. 删除自带的jdk

    rpm -e --nodeps  jdk相关        #注意:这里的jdk相关指的是上个步骤中用查询命令 查出来的jdk的相关

3. 上传安装自己的jdk1.8

    #vim /etc/profile

    在profile文件中添加如下内容

    #set java environment
    JAVA_HOME=/usr/local/server/jdk/jdk1.8.0_112
    JRE_HOME=$JAVA_HOME/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH

    从新加载资源文件   

    #source /etc/profile

新增用户:es为安全考虑不建议使用root账户启动服务

groupadd elsearch                   #新建elsearch组
useradd elsearch -g elsearch -p topsec  #新建一个elsearch用户
chown -R elsearch:elsearch /usr/local/server/elasticsearch/    #指定elasticsearch所属elsearch组,授权给elsearch的权限为指定目录

elasticsearch外网IP无法访问_第1张图片

切换到elsearch账户下,

./bin/elasticsearch   #启动es

或:守护进程启动 ./bin/elasticsearch -d

查找杀死进程:ps aux|grep elasticsearch   #显示所有关于es包含其他使用者的进程         kill -9  进程号

结果curl "http://127.0.0.1:9200" 能够正常访问,可是使用外网ip就提示拒绝链接

解决办法:vim config/elasticsearch.yml

增加:network.host: 0.0.0.0

抛出

elasticsearch外网IP无法访问_第2张图片

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

然后,重新启动 Elasticsearch

抛出:


ERROR: [1] bootstrap checks failed
[1]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解决:vim config/elasticsearch.yml

把注释放开改为:bootstrap.memory_lock: false

在其后添加: bootstrap.system_call_filter: false

重启抛出:


[2]max number of threads [1024] for user [elsearch] is too low, increase to at least [4096]

vim /etc/security/limits.d/90-nproc.conf 



修改:

* soft nproc 1024
  • 1

修改为:

* soft nproc 4096

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

关闭防火墙:

    


后续

    后台启动:

最后还有一个小问题,如果你在服务器上安装Elasticsearch,而你想在本地机器上进行开发,这时候,你很可能需要在关闭终端的时候,让Elasticsearch继续保持运行。最简单的方法就是使用nohup。先按Ctrl + C,停止当前运行的Elasticsearch,改用下面的命令运行Elasticsearch

nohup./bin/elasticsearch&

这样,你就可以放心地关闭服务器终端,而不用担心Elasticsearch也跟着关闭了。






你可能感兴趣的:(es)