一、安装前准备

  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、备注:

    相应版本安装包可直接在本人网盘下载,链接:https://pan.baidu.com/s/1cs4IidkSVoMDAdQW93VDYQ

二、开始安装elasticsearch

  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

  4、优化所有主机参数,否则无法启动

    a、vi /etc/sysctl.conf添加:

      vm.max_map_count=655360

      然后执行sysctl -p 生效

    b、 vi /etc/security/limits.conf 和 vi /etc/security/limits.d/20-nproc.conf添加以下内容:

      注意:有两种添加内容的方法,第一种是网上普遍的优化方式,但是在当前版本的elasticsearch中我使用此方式任然无法启动,具体原因不知道是系统原因还是elasticsearch版本原因,因此我使用第二种优化方式使问题得到解决,建议读者先使用第一种优化方式,如果不行请使用第二种优化方式。

      方法一:

        /etc/security/limits.conf中添加如下内容:    

          * soft nofile 65536
          * hard nofile 65536
          * soft nproc 65536
          * hard nproc 65536

        /etc/security/limits.d/20-nproc.conf中添加如下内容:

          * soft nproc 65536
          root soft nproc unlimited

      方法二:

        /etc/security/limits.conf中添加如下内容:    

          * soft nofile 65536
          * hard nofile 131072
          * soft nproc 2048
          * hard nproc 4096
          * hard memlock unlimited
          * soft memlock unlimited

        /etc/security/limits.d/20-nproc.conf中添加如下内容:

          * soft nproc 4096

    c、重启后执行 ulimit -a 查看是否生效

  5、elasticsearch服务相应操作

    a、启动

      /application/elk/elasticsearch/bin/elasticsearch -d

        -d 后台服务的方式启动

        如果启动异常,查看日志/application/elk/elasticsearch/logs/elk-elasticsearch.log

    b、查看进程

      jps

    c、停止

      kill pid

  6、更多elasticsearch操作详见标签下   ELK使用1-elasticsearch使用

三、elasticsearch插件工具head安装

  1、ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。

    a、显示集群的拓扑,并且能够执行索引和节点级别操作
    b、搜索接口能够查询集群中原始json或表格格式的检索数据
    c、能够快速访问并显示集群的状态
    d、有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生有趣的结果;
    e、5.0版本之前可以通过plugin安装,直接解压便可运行,很绿色,5.0之后安装就需要使用nodejs,然后以独立服务的方式启动,不太方便,可以直接通过安装谷歌浏览器插件 elasticsearch-head-chrome。

  2、开始安装(在任意一台主机上安装即可,这儿我选择的192.168.30.41)

    a、首先在es集群所有节点配置文件添加如下内容 vim /application/elk/elasticsearch/config/elasticsearch.yml

      http.cors.enabled: true
      http.cors.allow-origin: "*"

    b、在192.168.30.41上面安装,然后其他主机可以选装,安装方法一样。          

      安装NodeJS

        wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
        tar zxvf node-v4.5.0-linux-x64.tar.gz -C /application/elk/elasticsearch/nodejs/node
        rm -f node-v4.5.0-linux-x64.tar.gz

      添加环境变量 vim ~/.bash_profile

        #node
        export NODE_HOME= /application/elk/elasticsearch/nodejs/node
        export PATH=$PATH:$NODE_HOME/bin
        export NODE_PATH=$NODE_HOME/lib/node_modules

      加载环境变量

        source ~/.bash_profile

      安装npm与grunt

        npm install -g cnpm --registry=https://registry.npm.taobao.org
        npm install -g grunt
        npm install -g grunt-cli --registry=https://registry.npm.taobao.org --no-proxy

      下载head插件并安装

        wget https://github.com/mobz/elasticsearch-head/archive/master.zip
        unzip master.zip
        mv elasticsearch-head-master /application/elk/elasticsearch

        修改配置文件 vim /application/elk/elasticsearch/elasticsearch-head/Gruntfile.js 修改以下内容(也可以不修改,默认监听9100)

          connect: {
          server: {
          options: {
          hostname: '0.0.0.0',
          port: 9100,
          base: '.',
          keepalive: true
          }
          }
          }

        修改配置文件 vim /application/elk/elasticsearch/elasticsearch-head/_site/app.js

          this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.30.41:9200";

          如果不修改,默认会连接192.168.30.41,这里可以修改为集群任一主机

        下载依赖安装(必须在head插件目录中操作)

          cd /application/elk/elasticsearch/elasticsearch-head && npm install

  3、相应操作

    a、启动。有两种启动方式

      方式一:

        cd /application/elk/elasticsearch/elasticsearch-head && npm run start

      方式二:

        cd /application/elk/elasticsearch/elasticsearch-head && grunt server        

    b、注意

      必须在head插件目录中操作
      npm 启动方式本质上都是调用grunt启动
      两种启动方式都不是后台启动,如需后台运行,请使用nohup

    c、访问head

      http://192.168.30.41:9100

    d、停止head

      首先通过 ps aux|grep grunt 查找到进程 pid ,然后 kill pid

ELK 环境搭建1-Elasticsearch的更多相关文章

  1. ELK 环境搭建4-Kafka + zookeeper

    一.安装前准备 1.节点 192.168.30.41 192.168.30.42 192.168.30.43 2.操作系统: Centos7.5 3.安装包 a.java8: jdk-8u181-li ...

  2. ELK 环境搭建2-Kibana

    一.安装前准备 1.节点 192.168.30.41 2.操作系统: Centos7.5 3.安装包 a.java8: jdk-8u181-linux-x64.tar.gz b.Kibana kiba ...

  3. ELK环境搭建完整说明

    ELK环境搭建完整说明 ELK:ElasticSerach.Logstash.Kibana三款产品名称的首字母集合,用于日志的搜集和搜索.简单地理解为我们可以把服务端的日志(nginx.tomcat等 ...

  4. ELK环境搭建

    ELK环境搭建 1. Virtualbox/Vagrant安装 41.1. Virtualbox安装 41.2. Vagrant安装 41.2.1. 简述 41.2.2. Vagrant box 41 ...

  5. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  6. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  7. ELK 环境搭建3-Logstash

    一.Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件或者中间件. 二.搭建 1.因为要涉及到收 ...

  8. ELK 环境搭建总结

    开始动手前的说明 我搭建这一套环境的时候是基于docker搭建的,用到了docker-compose,所以开始前要先安装好docker . docker-compose,并简单的了解docker . ...

  9. Linux日志分析ELK环境搭建

    场景:ELK作为一个日志收集和检索系统,感觉功能还是相当的强大的. ELK是啥, 其实是是三个组件的缩写, 分别是elasticsearch, logstash, kibana. ELK平台可以用于实 ...

  10. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

随机推荐

  1. Android/IOS 微信及浏览器(h5)中唤起本地APP,唤起浮层,然后用外部浏览器打开唤起某本地APP

    1 前言 微信点击链接,点击唤起某APP,在微信点开,默认是微信浏览器,点击button唤起,则会先提示浮层,然后用外部浏览器打开即可. 作为记录使用. 2 代码 相关源码如下: html: < ...

  2. mysql-约束介绍

    一.约束介绍 约束是一种限制,它通过对表的行或列的数据做出限制,来确保数据的完整性.一致性.约束条件与数据类型宽度一样都是可选参数. 常用约束: PRIMARY KEY (PK) 标识该字段为该表的主 ...

  3. Confluence 6 缓存性能优化

    Confluence 的运行状态与缓存状态有这密切的关系.针对 Confluence 的管理员来说,尤其是大型站点的 Confluence 管理员,设置好缓存尤其显得关键. 希望修改缓存的大小: 进入 ...

  4. Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书

    在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2. 你可以创建一个自签名的证书,或者从信任的 Certificate Autho ...

  5. Confluence 6 重构查找索引

    查找索引是自动维护的,但是你有时候可能会因为你在查找的时候或查看者邮件主题出现了异常,或者你的 Confluence 实例升级到了新的版本,你可能需要手动重构索引. 进行搜索索引重构: 在屏幕的右上角 ...

  6. java常用实用类

    1.String类概念 java程序中默认导入java.lang包的,像java.lang.String等String类属于final类,用户不能扩展String类,String 类没有子类.Stri ...

  7. Pychram 在model中修改class属性值后更新到Navicat Premium中

    一.pycharm数据更新的问题bug问题 1.在更改user_email字端属性后出现数据库信息无法更新到数据库,出现的bug原因是数据库修改了属性之后没有做migrate 和 makemigrat ...

  8. java----static关键字(包括final)

    static修饰字段: 使用static关键字修饰一个字段:声明的static变量实际上就是一个全局变量 使用static关键字修饰一个方法:可以直接使用类调用方法,和对象没有关系了 使用static ...

  9. git使用diff----git-pull之后如何查看拉下来的文件有那些修改

    git pull拉取 git pull对于拉下来的修改文件自动对其进行git add /rm 及git commit 操作.所以拉下来的文件有那些修改,查看的方式可把它们归结于上一次提交的比较. gi ...

  10. Jmeter-JDBC Request参数化

    一.参数化 1.选择Query Type(查询类型)为Prepared Select Statement 2.写好sql 3.在Parameter Values中输入参数,多个参数用‘,’隔开 4.P ...