zoukankan      html  css  js  c++  java
  • 【Linux】Centos7基于docker容器下安装elasticsearch以及可能遇到的错误

    因为ElasticSearch是java开发的 所以我们要先安装java环境

    安装jdk环境https://www.cnblogs.com/donleo123/p/14131743.html

    一、安装

    1、搜索镜像,拉取下载

    docker search elasticsearch

    选择版本号

    docker pull elasticsearch:7.10.1

    2、启动容器

    docker run  -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200  -p 9300:9300   --name 容器名 容器id

    参数说明:

    -e ES_JAVA_OPTS="-Xms256m -Xmx256m"  //配置虚拟机内存参数
    -d     //后台运行
    -p    //端口映射
    --name   //设置名字

    3、在浏览器输入地址http://ip:9200/  ,如果出现以下页面表示安装成功

    二、安装过程中可能遇到的问题:

    1、elasticsearch在服务器启动后过一段时间会自动关闭

    查找文件jvm.options文件

    find / -name jvm.options

    编辑文件

    vi 文件地址

    修改参数,默认是-Xms1g和-Xmx1g,把内存分配小点

    -Xms256m
    -Xmx256m

    2、再次启动报max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    查看启动日志:

    docker logs -f 容器id

    解决:

    切换到root用户

    执行命令:

    sysctl -w vm.max_map_count=262144

    查看结果:

    sysctl -a|grep vm.max_map_count

    显示:

    vm.max_map_count = 262144

    上述方法修改之后,如果重启虚拟机将失效,所以:

    解决办法:

    在   /etc/sysctl.conf文件最后添加一行

    vm.max_map_count=262144

    即可永久修改

    3、启动报错:ERROR: [1] bootstrap checks failed

    [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

    解决方案:

    elasticsearchconfig目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:

    cluster.initial_master_nodes: ["node-1"]

    ip替换host1等,多节点请添加多个ip地址,单节点可写按默认来
    #配置以下三者,最少其一
    #[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
    cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值

     这是我的elasticsearch.yml配置:

    cluster.name: myes
    node.name: node-1
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9300
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true
    node.data: true
    cluster.initial_master_nodes: ["node-1"]

    附:重新启动容器先rm容器后再次启动

    作者:donleo123
    本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正,相互学习,共同进步。
  • 相关阅读:
    6 【程序6 最大公约数和最小公倍数】
    5 【程序5 判断分数等级】
    4 【程序4 分解质因数】
    3 【程序3 水仙花数】
    2【程序2 输出素数】
    1 【程序1 不死神兔】
    终极解决傻X阿里钱盾新手开店及老卖家复核身份证照片模糊无法对焦问题
    struct和typedef struct彻底明白了
    CentOS 6.5 编译安装 LNMP环境
    Another MySQL daemon already running with the same unix socket
  • 原文地址:https://www.cnblogs.com/donleo123/p/14133535.html
Copyright © 2011-2022 走看看