ELK 环境搭建1-elasticsearch

一、安装前准备

  1、节点

    192.168.30.41

    192.168.30.42

    192.168.30.43

  2、操作系统: Centos7.5

  3、安装包

    a、java8:  jdk-8u181-linux-x64.tar.gz

    b、elasticsearch  elasticsearch-6.4.3.tar.gz

  4、备注:

    相应版本安装包可直接在本人网盘下载,链接:

扫描二维码关注公众号,回复: 4393833 查看本文章

二、开始安装

  1、安装java环境,因为elk所有插件都需要用到java环境因此建议将java环境安装到系统环境变量中。

      mkdir -p /application/java8

      tar  -zxvf jdk-8u181-linux-x64.tar.gz -C /application/java8

      修改环境变量:vi /etc/profile.d/java.sh   

          export JAVA_HOME=/application/java8

          export PATH=$PATH:$JAVA_HOME/jre/bin:$JAVA_HOME/bin

          export JRE_HOME=$JAVA_HOME/jre

          export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

      修改权限:chmod 644 /etc/profile.d/java.sh

      加载环境变量: source  /etc/profile && source /etc/profile.d/java.sh

      查看是否生效: 执行java,javac命令

  2、安装elasticsearch

    useradd -s /sbin/nologin elasticsearch

    mkdir -p /application/elk/elasticsearch && chown -R elasticsearch:elasticsearch  /application/elk/elasticsearch

    su - elasticsearch  && cd /application/elk/elasticsearch

    然后上传elasticsearch包

    tar -zxvf elasticsearch-6.4.3.tar.gz -C /application/elk/elasticsearch && rm -rf  elasticsearch-6.4.3.tar.gz

    配置elasticsearch环境变量:  vim  ~/.bash_profile添加如下内容:

      export ELASTICSEARCH_HOME=/application/elk/elasticsearch
      export PATH=$PATH:$ELASTICSEARCH_HOME/bin

      source ~/.bash_profile

    添加配置文件: vim /application/elk/elasticsearch/config/elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------
#集群的名称
cluster.name: elk-elasticsearch

# ------------------------------------ Node ------------------------------------
#节点名称,其余2个节点分别为elasticsearch2,elasticsearch3
node.name: elasticsearch1

#指定该节点是否有资格被选举成为master节点,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master
node.master: true

#允许该节点存储数据(默认开启)
node.data: true
##实际生产可以master节点和data数据分离


# ----------------------------------- Paths ------------------------------------

#索引数据的存储路径,多个目录使用 , 分割
path.data: /application/elk/elasticsearch/data/esdata

#日志文件的存储路径
path.logs: /application/elk/elasticsearch/logs

# ----------------------------------- Memory -----------------------------------
#设置为true来锁住内存。因为内存交换到磁盘对服务器性能来说是致命的,当jvm开始swapping时es的效率会降低,所以要保证它不swap
bootstrap.memory_lock: true

# ---------------------------------- Network -----------------------------------
#绑定的ip地址
network.host: 0.0.0.0

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

# 设置节点间交互的tcp端口,默认是9300 
transport.tcp.port: 9300

#Elasticsearch将绑定到可用的环回地址,并将扫描端口9300到9305以尝试连接到运行在同一台服务器上的其他节点。

# --------------------------------- Discovery ----------------------------------

##这提供了自动集群体验,而无需进行任何配置。数组设置或逗号分隔的设置。每个值的形式应该是host:port或host
###(如果没有设置,port默认设置会transport.profiles.default.port 回落到transport.tcp.port)。
###请注意,IPv6主机必须放在括号内。默认为127.0.0.1, [::1]
#
discovery.zen.ping.unicast.hosts: ["192.168.30.41:9300", "192.168.30.42:9300", "192.168.30.43:9300"]


#如果没有这种设置,遭受网络故障的集群就有可能将集群分成两个独立的集群 - 分裂的大脑 - 这将导致数据丢失,一般设置(N/2)+1
discovery.zen.minimum_master_nodes: 3

#为了使新加入的节点快速确定master位置,可以将data节点的默认的master发现方式有multicast修改为unicast:选择性配置
# Prevent the "split brain" by configuring the majority of nodes (total number of nodes / 2 + 1):
# ---------------------------------- Gateway -----------------------------------
# ---------------------------------- Various -----------------------------------
http.cors.enabled: true
http.cors.allow-origin: "*"

      注意:

        a、其中的 node.name 配置每个节点必须不一样

    设置启动时节点分配内存量: vim /application/elk/elasticsearch/config/jvm.options 修改:     

      -Xms512m
      -Xmx512m

      注意:

        a、最小与最大必须设置一样

        b、由于jvm内存回收的原因,当内存使用超过32G时,性能会降低,故每个节点推荐最高设置31G

        c、elasticsearch 2.x 版本设置内存使用在 $ELASTICSEARCH_HOME/bin/elasticsearch.in.sh中 ES_MIN_MEM=512m 与 ES_MAX_MEM=512m

    创建所需目录:

      mkdir -p /application/elk/elasticsearch/data/esdata

      mkdir -p /application/elk/elasticsearch/logs

  3、至此elasticsearch已经安装完成,在其它两个相应节点上分别按照此安装方法安装elasticsearch

    注意:

      a、其它两个节点上elasticsearch.yml中cluster.name参数都设置为elk-elasticsearch

      b、剩余两个节点上elasticsearch.yml中node.name分别为 elasticsearch2 和 elasticsearch3

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/10076251.html