Centos7中ELK集群安装流程
 
说明:三个版本必须相同,这里安装5.1版。
一、安装Elasticsearch5.1
 
  1. hostnamectl set-hostname elk
  2. vim /etc/sysconfig/network修改HOSTNAME=elk
  3. 安装Java环境:yum install java-1.8.0-openjdk.x86_64
  4. 添加JAVA环境:vim /etc/profile,添加下列行,保存后执行source /etc/profile
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin
  5. 配置网络:/etc/hosts中添加10.1.3.4 elk
  6. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpm
  7. rpm -ivh elasticsearch-5.1.1.rpm
  8. chkconfig --add elasticsearch
  9. 安装目录:/usr/share/elasticsearch
    配置文件:/etc/elasticsearch/elasticsearch.yml
    日志路径:/var/log/elasticsearch/
  10. 使用vim命令修改配置文件/etc/elasticsearch/elasticsearch.yml,按:set number,显示行号,并修改如下行内容:
    17:cluster.name: my-application  #判别节点是否是统一集群,多台统一集群的名称要一致
    23:node.name: elk #节点的hostname
    54:network.host: 0.0.0.0  允许访问的ip
    58:http.port: 9200  端口
    69:discovery.zen.ping.unicast.hosts: [elk]# 手动发现节点
  11. 配置文件中添加下面两行,允许跨域,主要是5.1版的head插件和老版本不同:
    http.cors.enabled: true
    http.cors.allow-origin: "*"
  12. 修改权限:执行 chmod 555 /tmp/elasticsearch 和 chmod 555 /tmp/elasticsearch/*
  13. 启动服务:systemctl start elasticsearch 并查看服务状态。服务启动后,可以访问网址:http://IP:9200来访问。
  14. 如果启动失败,查看/var/log/elasticsearch下的日志,有如下错误:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536],则可如下解决:
    编辑/etc/security/limits.conf,末尾添加:
    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 4096
  15. 如果启动失败,找不到任何日志,请检查/etc/elasticsearch/elasticsearch.yml中配置的日志目录和数据目录的访问权限,或者注释掉目录的配置。
  16. 如果启动失败,日志中有如下错误:max number of threads [1024] for user [lishang] likely too low, increase to at least [2048],则可以如下 解决:
    vi /etc/security/limits.d/90-nproc.conf修改如下内容:
    * soft nproc 1024
    #修改为
    * soft nproc 2048
 
二、安装Elasticsearch-Head
  1. 安装Nodejs,cd /usr/local/
  2. wget https://nodejs.org/dist/v4.6.0/node-v4.6.0-linux-x64.tar.gz
  3. tar xf node-v4.6.0-linux-x64.tar.gz
  4. ln -s /usr/local/node-v4.6.0-linux-x64/bin/node /usr/sbin/node
  5. ln -s /usr/local/node-v4.6.0-linux-x64/bin/npm /usr/sbin/npm
  6. 更换安装源:npm config set registry https://registry.npm.taobao.org
  7. 安装grunt:npm install -g grunt
  8. ln -s /usr/local/node-v4.6.0-linux-x64/lib/node_modules/grunt/bin/grunt /usr/sbin/grunt
  9. cd /usr/local/
  10. yum install git.x86_64
  11. git clone git://github.com/mobz/elasticsearch-head.git
  12. cd elasticsearch-head-master
  13. vim ./_site/app.js的第4354行,中把locahost换成ip地址:
    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
    this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://elk51.chinanorth.cloudapp.chinacloudapi.cn:9200";
  14. vim ./Gruntfile.js,在约93行处的port:9100前面添加hostname:'0.0.0.0', 保存并退出。
    connect: {
            server: {
                options: {
                    hostname: '0.0.0.0',
                    port: 9100,
                    base: '.',
                    keepalive: true
                }
            }
        }
  15. 运行 npm install ./ 进行安装。
  16. 修改/etc/elasticsearch/elasticsearch.yml在末尾添加下面两行(如果有就不用不加了):
    http.cors.enabled: true
    http.cors.allow-origin: "*"
  17. 重启elasticsearch:systemctl restart elasticsearch
  18. 启动elasticsearch-head:在head插件目录中执行 grunt server ,也可以后台启动:nohup grunt server &
  19. 因为grunt server命令必须在head插件目录下执行,因此可以新建一个sh角本/usr/local/elasticsearch-head/autostart.sh,角本内空是:
    #!/bin/bash
    cd /usr/local/elasticsearch-head/
    nohup grunt server &
  20. 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加刚刚的角本全路径到末尾,然后执行chmod +x /etc/rc.d/rc.local
  21. 访问head:http://ip:9100
 
三、安装Logstash5.1
  1. cd /usr/local
  2. wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.tar.gz
  3. tar xf logstash-5.1.1.tar.gz
  4. cd logstash-5.1.1
  5. vim conf/elastic.conf
  6. input {
        file {
            path => "var/log/nginx/access.log"
        }
    }
    output {
        elasticsearch {
            hosts => "elk51.chinanorth.cloudapp.chinacloudapi.cn"
            index => "logstash-nginx-access"
        }
        stdout {
            codec => rubydebug
        }
    }
  7. 启动:/usr/local/logstash-5.1.1/bin/logstash -f /usr/local/logstash-5.1.1/config/elastic.conf
  8. 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加启动命令到末尾,然后执行chmod +x /etc/rc.d/rc.local
 
四、安装Kibana5.1
    1. wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpm
    2. rpm -ivh kibana-5.1.1-x86_64.rpm
    3. 编辑/etc/kibana/kibana.yml修改如下信息:
      server.port: 5601
      server.host: "0.0.0.0"
      elasticsearch.url: "http://elk:9200";
    4. 执行:nohup /usr/share/kibana/bin/kibana &后台启动。
    5. 设置开机自动运行:编缉/etc/rc.d/rc.local文件,并添加刚刚的角本全路径到末尾,然后执行chmod +x /etc/rc.d/rc.local

Centos7中ELK集群安装流程的更多相关文章

  1. Filebeat-1.3.1安装和设置(图文详解)(多节点的ELK集群安装在一个节点就好)(以Console Output为例)

    前期博客 Filebeat的下载(图文讲解) 前提 Elasticsearch-2.4.3的下载(图文详解) Elasticsearch-2.4.3的单节点安装(多种方式图文详解) Elasticse ...

  2. Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

    Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...

  3. Kibana安装(图文详解)(多节点的ELK集群安装在一个节点就好)

    对于Kibana ,我们知道,是Elasticsearch/Logstash/Kibana的必不可少成员. 前提: Elasticsearch-2.4.3的下载(图文详解) Elasticsearch ...

  4. centos7下zookeeper集群安装部署

    应用场景:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为分布式应用提供一致性服务的软 ...

  5. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  6. Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置

    RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一 ...

  7. Centos7 zookeeper单机/集群安装详解和开机自启

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...

  8. CentOS7 citus9.5 集群安装及管理

    1 所有节点配置 #------服务安装 服务yum update -y #------扩展依赖安装yum install -y epel-release && yum update ...

  9. centos7下kafka集群安装部署

    应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...

随机推荐

  1. 5日均线MACD

    1.5日均线: 5日均线是股市术语,就是股票5天的成交价格或指数的平均值,所对应的是股价的5日均线和指数的5日均线(5MA).均线指标实际上是移动平均线指标的简称. 一般在K 线图中会有3 条或4 条 ...

  2. Getting OS version with NDK in C c++获得版本号

    http://stackoverflow.com/questions/19355783/getting-os-version-with-ndk-in-c #include <cutils/pro ...

  3. SOA:A note on RPC

    原文地址:http://www.rabbitmq.com/tutorials/tutorial-six-dotnet.html. Although RPC is a pretty common pat ...

  4. ExtJS 4.2 教程-06:服务器代理(proxy)

    转载自起飞网,原文地址:http://www.qeefee.com/extjs-course-6-server-proxy ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4.2 ...

  5. 自定义PreferenceActivity和PreferenceFragment的样式

    感谢:http://blog.csdn.net/luck_apple/article/details/7064004 这篇文章讲的是如何定义fragment的样式,基本布局都是从源码中弄过来的.通过设 ...

  6. ASP.NET Core 中间件 中间件(Middleware)和过滤器(Filter)的区别

    https://www.cnblogs.com/savorboard/p/5586229.html 前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的, ...

  7. Gflags 简明使用

    简介 Google 的 gflags 是一套命令行参数处理的开源库.比 getopt 更方便,更功能强大,从 C++的库更好的支持 C++(如 C++的 string 类型).包括 C++的版本和 p ...

  8. Go语言之进阶篇连接mysql

    一.Go连接mysql 1.mysql驱动 地址:https://github.com/Go-SQL-Driver/MySQL 说明: sql.Open()函数用来打开一个注册过的数据库驱动,Go-M ...

  9. 使用DebugView小工具调试已部署的.net程序 (转)

    DebugView for Windows能够捕捉Debug输出的信息在本地的操作系统上.如何你需要调试程序有网络访问推荐使用Wireshark和监听HTTP的工具Fiddler. 下载下来是一个ZI ...

  10. iOS开发-UIScreenEdgePanGestureRecognizer实战

    UIScreenEdgePanGestureRecognizer名字很长,而且关于其文档也是少的的可怜,苹果官方给的唯一的一个属性是edges,文档中的解释是这样的: A UIScreenEdgePa ...