美文网首页
搭建 Elasticsearch 集群

搭建 Elasticsearch 集群

作者: 接着奏乐接着舞S | 来源:发表于2019-05-27 16:10 被阅读0次
    操作系统:centos 7.2
    Elasticsearch版本:Elasticsearch-6.2.4
    JDK:Oracle-jdk 1.8

    配置JDK

    vi /etc/profile
    #添加
    export JAVA_HOME=/opt/jdk/
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    
    #执行source 使配置生效
    source  /etc/profile
    

    安装Elasticsearch

    解压

    tar -zxvf elasticsearch-6.2.4.tar.gz
    

    创建es目录

    mkdir /usr/local/elk
    

    将es挪到新目录下

    mv elasticsearch-6.2.4 /usr/local/elk/elasticsearch
    

    创建数据存放路径

    mkdir /usr/local/elk/elasticsearch/data
    

    建立用户并授权(es不能用root运行)

    #添加用户
    useradd es
    #赋予文件夹权限
    chown -R es:es /usr/local/elk/elasticsearch
    

    修改elasticsearch配置文件

    #集群的名称
    cluster.name: es6
    #节点名称,其余两个节点分别为node-2 和node-3
    node.name: node-1
    #指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
    node.master: true
    #允许该节点存储数据(默认开启)
    node.data: true
    #索引数据的存储路径
    path.data: /usr/local/elk/elasticsearch/data
    #日志文件的存储路径
    path.logs: /usr/local/elk/elasticsearch/logs
    #设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
    bootstrap.memory_lock: true
    #绑定的ip地址
    network.host: 0.0.0.0
    #设置对外服务的http端口,默认为9200
    http.port: 9200
    # 设置节点间交互的tcp端口,默认是9300 
    transport.tcp.port: 9300
    #Elasticsearch将绑定到可用的环回地址,并将扫描端口9300到9305以尝试连接到运行在同一台服务器上的其他节点。
    #这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host
    #(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。
    #请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1]
    discovery.zen.ping.unicast.hosts: ["192.168.3.101:9300", "192.168.3.102:9300", "192.168.3.103:9300"]
    #如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失
    discovery.zen.minimum_master_nodes: 2
    

    修改完之后使用命令查看具体修改了哪些值

    grep '^[a-z]' /usr/local/elk/elasticsearch/config/elasticsearch.yml
    

    调整jvm内存

    vim /usr/local/elk/elasticsearch/config/jvm.options 
    #默认是1g官方建议对jvm进行一些修改,不然很容易出现OOM,参考官网改参数配置最好不要超过内存的50% 
    -Xms1g
    -Xmx1g
    
    -Djava.io.tmpdir=/usr/local/elk/elasticsearch
    -Djna.tmpdir=/usr/local/elk/elasticsearch
    

    修改系统相关配置

    vim /etc/security/limits.conf
    
    * soft nofile 65536
    * hard nofile 65536
    * soft nproc 2048
    * hard nproc 4096
    #我选择锁住swapping因此需要在这个配置文件下再增加两行代码
    es soft memlock unlimited
    es hard memlock unlimited
    
    vim /etc/sysctl.conf
    vm.max_map_count=655360
    fs.file-max=655360
    

    之后需要执行一句命令sysctl -p使系统配置生效(使用root用户)

    相关文章

      网友评论

          本文标题:搭建 Elasticsearch 集群

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