zoukankan      html  css  js  c++  java
  • Elasticsearch 集群搭建

    Elasticsearch 集群搭建

    环境及软件

    • centos7
    • elasticsearch 7.4.0

    因为ES7已经内置了所需的java的JDK版本,因此在此不再介绍java安装

    ES7安装方式使用RPM安装方式。

    es节点列表

    ip 节点名
    192.168.1.100 es-node-master-01
    192.168.1.101 es-node-master-02
    192.168.1.102 es-node-master-03
    192.168.1.103 es-node-data-01
    192.168.1.104 es-node-data-02
    192.168.1.105 es-node-data-03

    安装es7

        wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm
        wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-x86_64.rpm.sha512
        shasum -a 512 -c elasticsearch-7.4.0-x86_64.rpm.sha512 
        sudo rpm --install elasticsearch-7.4.0-x86_64.rpm
    

    通过以上命令安装的elasticsearch安装路径为:/etc/elasticsearch

    使用systemd设置自动启动

        sudo systemctl daemon-reload
        sudo systemctl enable elasticsearch.service 
    

    启动/停止 elasticsearch

        sudo systemctl start elasticsearch.service
        sudo systemctl stop elasticsearch.service
    

    参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/rpm.html

    修改系统配置

    • 修改文件描述符数量

    elasticsearch对文件描述符的限制至少为65536,因此需要修改此配置。

        echo '* soft nofile 65536' >> /etc/security/limits.conf
        echo '* hard nofile 65536' >> /etc/security/limits.conf
    
        #查看配置,如果未生效重启配置
        ulimit -n
    
    • 修改max_map_count

    临时修改:

        sysctl -w vm.max_map_count=655360
    

    永久设置:

        echo 'vm.max_map_count=655360' >> /etc/sysctl.conf
    

    elasticsearch基本配置

    • cluster.name

    ES通过集群名称区分集群,因此集群内所有节点的节点名称必须保持一致。如:

        cluster.name: es-cluster
    
    • node.name

    集群内节点的名称,同一集群内的节点名称必须保持唯一。如:

        node.name: es-master-01
    
    • node.master

    标记节点可以选举为master节点。如果集群内的master节点停止,则该节点就会参与选举,可以成为master节点。如:

        node.master: true
    
    • node.data

    允许该节点存储索引数据(默认).如:

        node.data: true
    
    • path.data

    此路径是存放es数据的目录,可以任意指定。如果是生产环境建议设置的路径有足够的存储空间,如:

        path.data: /datadrive/elasticsearch/data
    
    • path.logs

    此路径存储es产生的日志,生产环境建议与path.logs分开设置。如:

        path.data: /datadrive/elasticsearch/logs
    
    • network.host

    es绑定的地址,支持IPv4和IPv6。是es的监听地址。如果设置具体的地址,则只能通过改地址访问,也可设置0.0.0.0则不限制访问地址.如:

        network.host: 0.0.0.0
    
    • http.port

    外部访问es的http端口,默认9200。如:

        http.port: 9200
    
    • transport.tcp.port

    集群节点通讯的tcp的端口,默认9300。如:

        transport.tcp.port: 9300
    
    • discovery.seed_hosts

    集群搜索的主机列表。由discovery.zen.ping.unicast.hosts:参数改变而来。如:

       discovery.seed_hosts:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300","192.168.1.103:9300","192.168.1.104:9300","192.168.1.105:9300"] 
    
    • cluster.initial_master_nodes

    集群主节点初始化列表,master选举列表。

        cluster.initial_master_nodes:["192.168.1.100:9300","192.168.1.101:9300","192.168.1.102:9300"]
    

    启动elasticsearch

    elasticsearch集群的其他节点通过transport.tcp.port端口访问elasticsearch实例。对外提供服务通过http.port端口。因此需要确保这两个端口开放。

    centos7开放端口

        firewall-cmd --zone=public --add-port=9300/tcp --permanent
        firewall-cmd --zone=public --add-port=9200/tcp --permanent
        firewall-cmd --reload
    

    配置完成所有节点后分别启动elasticsearch服务。

        systemctl start elasticsearch.service
    

    所有节点都启动后可以访问任一节点查看集群状态,可以通过浏览器或curl节点地址。如:

        curl -XGET 'http://192.168.1.100:9200/_cluster/state?pretty'
    

    安装kibana

    kibana可用于可视化管理elasticsearch。kibana在任一个节点安装即可。kibana只需要能访问到elasticsearch集群中的一个节点就能管理整个集群。

    未完待续...

  • 相关阅读:
    maven+spark2.0.0最大连通分量
    Eclipse+maven+scala2.11.8+spark2.0.0的环境部署
    杀死mapreduce
    filter-自己的理解
    JS变量声明提升
    js==运算符强制转换规则
    html 文字间距
    如你所见,我开始用微博
    vue数据模拟
    vue项目目录介绍
  • 原文地址:https://www.cnblogs.com/chiikin/p/11626145.html
Copyright © 2011-2022 走看看