美文网首页面试ElasticSearchDocker
Docker多机集群部署之Elasticsearch集群

Docker多机集群部署之Elasticsearch集群

作者: 小郝三 | 来源:发表于2019-05-05 18:38 被阅读35次

    一、环境说明:

    宿主机:Win10

    虚拟机工具:VMware Workstation 15

    系统及版本:Ubuntu16.04

    Docker版本:18.09.3

    elasticsearch imags:5.6.4

    mobz/elasticsearch-head image :5

    涉及到的虚拟主机:

    192.168.1.101 node1

    192.168.1.102 node2

    192.168.1.103 node3

    二、创建本地目录及配置文件

    mkdir -p /docker/es/conf

    # 创建es.yml

    #集群名(广播形式构建集群,所以集群名称必须一致才会相互发现)

    cluster.name: es-cluster

    #节点名:节点一:es-node1,节点二:es-node2,节点三:es-node3

    node.name: es-node1

    #设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0,

    #指绑定这台机器的任何一个ip

    network.bind_host: 0.0.0.0

    #设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,

    #值必须是个真实的ip地址 节点一:192.168.1.101,节点二:192.168.1.102,节点三:192.168.1.103

    network.publish_host: 192.168.1.101

    #设置对外服务的http端口,默认为9200

    http.port: 9200

    #设置节点之间交互的tcp端口,默认是9300

    transport.tcp.port: 9300

    #是否允许跨域REST请求(配置这个可以解决elasticsearch-head访问)

    http.cors.enabled: true

    #允许 REST 请求来自何处

    http.cors.allow-origin: "*"

    #节点角色设置

    node.master: true

    node.data: true

    #有成为主节点资格的节点列表

    discovery.zen.ping.unicast.hosts: ["192.168.1.101:9300","192.168.1.102:9300","192.168.1.103:9300"]

    #集群中一直正常运行的,有成为master节点资格的最少节点数(默认为1)

    # (totalnumber of master-eligible nodes / 2 + 1)

    discovery.zen.minimum_master_nodes: 2

    # 进入sysctl.conf文件添加一行(解决容器内存权限过小问题)

    vi /etc/sysctl.conf

    sysctl vm.max_map_count=262144

    sysctl -p 立即生效

    三、创建集群

    # 所有节点拉取镜像

    docker pull elasticsearch:5.6.4

    # 需要部署elasticsearch-head的节点拉取即可

    docker pull mobz/elasticsearch-head:5

    # 启动elasticsearch

    # 第一个节点(192.168.1.101)

    docker run -d --name es1 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4

    # 第二个节点(192.168.1.102)

    docker run -d --name es2 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4

    # 第三个节点(192.168.1.103)

    docker run -d --name es3 -p 9200:9200 -p 9300:9300 -v /docker/es/conf/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data elasticsearch:5.6.4

    四、验证集群

    # 启动elasticsearch-head

    docker run --name elasticsearch-head-5 -p 9100:9100 mobz/elasticsearch-head:5

    # 访问地址

    http://192.168.1.101:9100

    # 打开elasticsearch-head的web页面,在连接框连接如下地址查看集群状态(星标为主节点,其他为从节点)

    http://192.168.1.101:9200/

    相关文章

      网友评论

        本文标题:Docker多机集群部署之Elasticsearch集群

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