美文网首页
在Docker环境中搭建ElasticSearch集群

在Docker环境中搭建ElasticSearch集群

作者: carymao | 来源:发表于2019-08-18 15:53 被阅读0次

    项目升级,把原先的网站数据全部迁移到ElasticSearch中,由于没有上云,所有的安装部署都要做,还好有docker,让一切变得简单。这里就记录一下ElasticSearch集群的搭建过程,实际项目部署了2台物理机,每台物理机部署了2个节点。
    1、拉取ElasticSearch镜像

    docker pull elasticsearch
    

    2、创建数据挂载目录及配置文件
    mkdir -p /usr/local/es/{config,data1,data2}
    在config 目录下创建es1.yml es2.yml两个配置文件
    文件内容是:

    cluster.name: elasticsearch-cluster  #集群唯一名称,所有节点一致
    node.name: es-node1                     #节点名称
    network.bind_host: 0.0.0.0              #设置可以访问的ip,默认为0.0.0.0,这里全部设置通过
    network.publish_host: 192.168.1.25       #设置其它结点和该结点交互的ip地址
    http.port: 9200                     #设置对外服务的http端口,默认为9200
    transport.tcp.port: 9300            #设置节点之间交互的tcp端口,默认是9300
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    node.master: true           #配置该结点是否有资格被选举为主结点(候选主结点),为了防止脑裂,配置奇数个候选主结点
    node.data: true              #配置该结点是数据结点,用于保存数据
    discovery.zen.ping.unicast.hosts: ["192.168.1.25:9300","192.168.1.25:9301","192.168.1.26:9300","192.168.1.26:9301"] #集群个节点IP地址
    discovery.zen.minimum_master_nodes: 2  #自动发现master节点的最小数
    indices.query.bool.max_clause_count: 10240
    

    3、调高JVM线程数限制数量

    打开/etc/sysctl.conf  文件
    vi /etc/sysctl.conf    
    加入如下内容:
    vm.max_map_count=262144 
    启用配置:
    sysctl -p
    

    3、运行容器
    分别启动本机及另外一台机器的4个节点,修改配置文件的相应端口和数据挂载的目录即可

    docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d  --restart=always -p 9200:9200 -p 9300:9300 -v /usr/local/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/es/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:5.6.16
    

    注意生产环境-Xms256m -Xmx256m的配置,否则会发生内存溢出的错误

    搭建成功可在在浏览器地址栏访问http://192.168.1.25:9200/_cat/nodes?pretty 查看各节点状态
    192.168.1.26 73 12 0 0.01 0.10 0.16 di - es-node4
    192.168.1.26 69 12 0 0.01 0.10 0.16 mdi - es-node3
    192.168.1.25 62 6 0 0.42 0.21 0.23 mdi * es-node2
    192.168.1.25 79 6 0 0.42 0.21 0.23 mdi - es-node1

    4、elasticsearch-head前端框架的搭建

    //拉取镜像
    docker pull mobz/elasticsearch-head:5
    //运行容器
    docker run -d  --restart=always -p 9100:9100 --name es-manager  mobz/elasticsearch-head:5
    //浏览器访问
    http://192.168.1.26:9100/
    

    相关文章

      网友评论

          本文标题:在Docker环境中搭建ElasticSearch集群

          本文链接:https://www.haomeiwen.com/subject/rqirsctx.html