美文网首页
ES集群搭建

ES集群搭建

作者: CitizenA_ | 来源:发表于2021-03-06 19:28 被阅读0次

    【摘要】搭建含有2个节点的ES集群,ES版本为,本次搭建是在华为云CCE平台,这里屏蔽平台相关信息。
    注意:安全组策略记得要配置,否则可能无法访问9200和9300端口。
    两个主机IP:

    192.168.0.86
    192.168.0.243
    
    1、安装JDK

    下载JDK,解压,然后在/etc/profile文件最后添加环境变量

    export JAVA_HOME=/home/es/jdk1.8.0_281
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
    
    2、创建ES用户

    因为ES不能使用root启动,所以需要创建一个新用户

    创建用户:useradd es
    设置密码:passwd es
    切换用户:su - es
    
    3、安装ES

    下载ES压缩包,解压然后分别修改两个台机器上的config/elasticsearch.yml文件。配置相关意义:

    属性名 说明
    cluster.name 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
    node.name 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
    path.conf 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch
    path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开
    path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹
    path.plugins 设置插件的存放路径,默认是es根目录下的plugins文件夹
    bootstrap.memory_lock 设置为true可以锁住ES使用的内存,避免内存进行swap
    network.host 设置bind_host和publish_host,设置为0.0.0.0允许外网访问
    http.port 设置对外服务的http端口,默认为9200。
    transport.tcp.port 集群结点之间通信端口
    discovery.zen.ping.timeout 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些
    discovery.zen.minimum_master_nodes 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2

    192.168.0.86中的配置

    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: node-1
    node.master: true
    node.data: true
    #
    # Add custom attributes to the node:
    #
    #node.attr.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    path.data: /home/es/data
    #
    # Path to log files:
    #
    path.logs: /home/es/logs
    network.host: 192.168.0.86
    http.port: 9200
    transport.tcp.port: 9300
    discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
    discovery.zen.minimum_master_nodes: 2
    

    192.168.0.243中的配置

    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: node-2
    node.master: true
    node.data: true
    #
    # Add custom attributes to the node:
    #
    #node.attr.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    path.data: /home/es/data
    #
    # Path to log files:
    #
    path.logs: /home/es/logs
    network.host: 192.168.0.243
    http.port: 9200
    transport.tcp.port: 9300
    discovery.zen.ping.unicast.hosts: ["192.168.0.86:9300","192.168.0.243:9300"]
    discovery.zen.minimum_master_nodes: 2
    
    4、启动ES

    分别在两台机器下面的bin文件下面启动es,启动后访问http://192.168.0.86:9300

    ./elasticsearch
    
    FAQ

    问题

    max file descriptors [65535] for elasticsearch process is too low
    

    解决办法
    切换到root用户修改

    vim /etc/security/limits.conf
    

    在最后面追加下面内容

    es hard nofile 65536
    es soft nofile 65536
    

    相关文章

      网友评论

          本文标题:ES集群搭建

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