ELK简介 es集群部署 es插件应用

Top

NSD ARCHITECTURE DAY03

  1. 案例1:ES集群安装
  2. 案例2:ES集群安装配置
  3. 案例3:练习curl命令
  4. 案例4:练习插件
  5. 案例5:插入,增加,删除查询数据
  6. 案例6:安装Kibana

1 案例1:ES集群安装

1.1 问题

本案例要求:

  • 准备1台虚拟机
  • 部署elasticsearch第一个节点
  • 访问9200端口查看是否安装成功

1.2 方案

1)ELK是日志分析平台,不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,ELK分别代表:

Elasticsearch:负责日志检索和储存

Logstash:负责日志的收集和分析、处理

Kibana:负责日志的可视化

2) ELK组件在海量日志系统的运维中,可用于解决分布式日志数据集中式查询和管理系统监控等,故障排查,安全信息和事件管理,报表功能

部署Elasticsearch分布式集群安装,Kibana作为可视化平台,实时总结流量和数据的图表,Logstash用来收集处理日志,如表-1所示:

表-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:先准备一台虚拟机

1)更改主机名,配置IP,搭建第三方yum源(之前已经搭建过几次,这里不再赘述)

  1. [[email protected] ~]# echo se1 > /etc/hostname
  2. [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  3. # Generated by dracut initrd
  4. DEVICE="eth0"
  5. ONBOOT="yes"
  6. IPV6INIT="no"
  7. IPV4_FAILURE_FATAL="no"
  8. NM_CONTROLLED="no"
  9. TYPE="Ethernet"
  10. BOOTPROTO="static"
  11. IPADDR=192.168.1.61
  12. PREFIX=24
  13. GATEWAY=192.168.1.254
  14. [[email protected] ~]# vim /etc/yum.repos.d/local.repo
  15. [local_repo]
  16. name=CentOS-$releasever - Base
  17. baseurl="ftp://192.168.1.254/system"
  18. enabled=1
  19. gpgcheck=1
  20. [elk]
  21. name=elk
  22. baseurl="ftp://192.168.1.254/elk"
  23. enabled=1
  24. gpgcheck=0

2)部署elasticsearch第一个节点

  1. [[email protected] ~]# vim /etc/hosts
  2. 192.168.1.61 se1
  3. 192.168.1.62 se2
  4. 192.168.1.63 se3
  5. 192.168.1.64 se4
  6. 192.168.1.65 se5
  7. [[email protected] ~]# yum -y install java-1.8.0-openjdk.x86_64
  8. [[email protected] ~]# java -version
  9. openjdk version "1.8.0_131"
  10. OpenJDK Runtime Environment (build 1.8.0_131-b12)
  11. OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
  12. [[email protected] ~]# sestatus     //查看selinux状态
  13. SELinux status: disabled
  14. [[email protected] ~]# yum -y install elasticsearch
  15. [[email protected] ~]# vim /etc/elasticsearch/elasticsearch.yml
  16. 17 cluster.name: myelk        //配置集群名字
  17. 23 node.name: se1        //当前主机名称
  18. 54 network.host: 0.0.0.0     // 0.0.0.0(监听所有地址)
  19. 68 discovery.zen.ping.unicast.hosts: ["se1", "se2","se3"]
  20. //声明集群里的主机成员有谁,不需要全部写进去
  21. [[email protected] ~]# systemctl restart elasticsearch
  22. [[email protected] ~]# systemctl enable elasticsearch
  23. [[email protected] ~]# ss -antup | grep 9200
  24. tcp LISTEN 0 50 :::9200 :::* users:(("java",pid=23231,fd=110))

3)访问9200端口查看是否安装成功,如图-1所示:

图-1

2 案例2:ES集群安装配置

2.1 问题

本案例要求:

  • 一共安装5台虚拟机
  • 在所有机器中部署ES
  • 启动服务查看验证集群状态

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装elasticsearch和java-1.8.0-openjdk,同步配置文件

备注:在步骤一已经安装了一台elasticsearch,这里只需再准备四台即可

1)更改对应的主机名、 ip地址以及搭建yum源(以案例1为例子)

2)安装elasticsearch四台主机同样操作(以se2为例子)

  1. [[email protected] ~]# yum -y install java-1.8.0-openjdk.x86_64
  2. [[email protected] ~]# yum -y install elasticsearch

3)同步配置/etc/hosts和/etc/elasticsearch/elasticsearch.yml, 修改node.name字段(以se2为例子)

  1. [[email protected] ~]# for i in {62..65} ; do scp /etc/hosts 192.168.1.$i:/etc/hosts; done
  2. [[email protected] ~]# for i in {62..65} ; do scp \
  3. /etc/elasticsearch/elasticsearch.yml \
  4. 192.168.1.$i:/etc/elasticsearch/elasticsearch.yml; done
  5. [[email protected] ~]# vim /etc/elasticsearch/elasticsearch.yml
  6. node.name: se2 //另外三台修改为对应se3,se4,se5
  7. [[email protected] ~]# systemctl restart elasticsearch
  8. [[email protected] ~]# systemctl enable elasticsearch

4)访问测试,如图-2所示:

可以访问61-65的任意一台主机, 集群的节点都是5台,若先启动的是se4或se5,这两个会自动成为各自的集群,解决办法,先启动集群里的se1或se2或se3其中的一台,或者把se4和se5重启,se4和se5会自动加进去

ES 集群验证:返回字段解析:

”status”: ”green“ 集群状态:绿色为正常、黄色表示有问题但不是很严重、红色表示严重故障

”number_of_nodes”: 5, 表示集群中节点的数量

图-2

3 案例3:练习curl命令

3.1 问题

本案例要求:

  • 练习使用curl命令
  • 理解GET POST
  • 使用curl命令访问ES集群

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:curl命令的使用

http的请求方法:

常用方法 GET,POST,HEAD

其他方法 OPTIONS,PUT,DELETE,TRACE和CONNECT

ES常用:

PUT --增

DELETE --删

POST --改

GET --查

系统命令curl:

是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持多种请求模式,自定义请求头等强大功能,是一款综合工具

curl 常用参数介绍:

-A 修改请求 agent

-X 设置请求方法

-i 显示返回头信息

1)索引的分片信息,如图-1所示:

  1. [[email protected] ~]# curl -X GET http://192.168.1.61:9200/_cat

图-1

2)显示health的详细信息,如图-2所示:

  1. [[email protected] ~]# curl -X GET http://192.168.1.62:9200/_cat/health?v

图-2

3)查看nodes的帮助,如图-3所示:

  1. [[email protected] ~]# curl -X GET http://192.168.1.61:9200/_cat/nodes?help

图-3

4 案例4:练习插件

4.1 问题

本案例要求:

  • 在其中一台机器上部署插件
  • 使用bigdesk查看集群状态
  • 使用head创建index
  • 使用kopf查看数据

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:部署插件

插件装在哪一台机器上,只能在哪台机器上使用(这里安装在se5机器上面)

1)使用远程 uri 路径可以直接安装

  1. [[email protected] ~]# cd /usr/share/elasticsearch/bin
  2. [[email protected] bin]# ./plugin install \
  3. ftp://192.168.1.254/elk/elasticsearch-head-master.zip        //安装head插件
  4. [[email protected] bin]# ./plugin install \
  5. ftp://192.168.1.254/elk/elasticsearch-kopf-master.zip        //安装kopf插件
  6. [[email protected] bin]# [[email protected] bin]# ./plugin install \
  7. ftp://192.168.1.254/elk/bigdesk-master.zip
  8. //安装bigdesk插件
  9. [[email protected] bin]# ./plugin list        //查看安装的插件
  10. Installed plugins in /usr/share/elasticsearch/plugins:
  11. - head
  12. - kopf
  13. - bigdesk

2)访问head插件,如图-4所示:

  1. [[email protected] ~]# firefox http://192.168.1.65:9200/_plugin/head

图-4

3)访问kopf插件,如图-5所示:

  1. [[email protected] ~]# http://192.168.1.65:9200/_plugin/kopf

图-5

4)访问bigdesk插件,如图-6所示:

  1. [[email protected] ~]# http://192.168.1.65:9200/_plugin/bigdesk

图-6

步骤二:使用head创建index

  1. [[email protected] bin]# curl -X PUT "http://192.168.1.65:9200/index" -d ‘
  2. > {
  3. > "settings":{
  4. > "index":{
  5. > "number_of_shards":5,        //分片数
  6. > "number_of_replicas":1        //副本数
  7. > }
  8. > }
  9. > }‘
  10. {"acknowledged":true}

步骤三:使用kopf查看数据,如图-7所示:

图-7

5 案例5:插入,增加,删除查询数据

5.1 问题

本案例要求:

  • 使用curl命令连接使用ES数据库
  • 使用PUT方法增加数据
  • 使用POST修改数据
  • 使用GET查询数据
  • 使用DELETE删除数据

5.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:增加数据

  1. [[email protected] ~]# locale
  2. [[email protected] ~]# LANG=en_US.UTF-8 //设置编码
  3. [[email protected] ~]# curl -X PUT "http://192.168.1.65:9200/taindex/teacher/1" -d ‘{
  4. "职业":"诗人",
  5. "名字":"李白",
  6. "称号":"诗仙",
  7. "年代":"唐"
  8. }‘
  9. {"_index":"taindex","_type":"teacher","_id":"1","_version":2,"_shards":{"total":2,"successful":2,"failed":0},"created":false}

步骤二:修改数据

  1. [[email protected] ~]# curl -X PUT "http://192.168.1.65:9200/taindex/teacher/1" -d ‘{
  2. "doc":{
  3. "年代": "唐代"
  4. }
  5. }‘
  6. {"_index":"taindex","_type":"teacher","_id":"1","_version":3,"_shards":{"total":2,"successful":2,"failed":0},"created":false}

步骤三:查询数据

  1. [[email protected] ~]# curl -X GET "http://192.168.1.65:9200/taindex/teacher/3?pretty"
  2. {
  3. "_index" : "taindex",
  4. "_type" : "teacher",
  5. "_id" : "3",
  6. "found" : false
  7. }

步骤四:删除数据

  1. [[email protected] ~]# curl -X DELETE "http://192.168.1.65:9200/taindex/teacher/3?pretty"
  2. {
  3. "found" : false,
  4. "_index" : "taindex",
  5. "_type" : "teacher",
  6. "_id" : "3",
  7. "_version" : 1,
  8. "_shards" : {
  9. "total" : 2,
  10. "successful" : 2,
  11. "failed" : 0
  12. }
  13. }

步骤五:删除索引

  1. [[email protected] bin]# curl -X DELETE http://192.168.1.65:9200/taindex/
  2. //删除索引
  3. {"acknowledged":true}
  4. [[email protected] bin]# curl -X DELETE http://192.168.1.65:9200/*     //删除所有索引
  5. {"acknowledged":true}

6 案例6:安装Kibana

6.1 问题

本案例要求:

  • 安装Kibana
  • 配置启动服务查看5601端口是否正常
  • 通过web页面访问Kibana

6.2 步骤

实现此案例需要按照如下步骤进行

步骤一:安装kibana

1)在另一台主机,配置ip为192.168.1.66,配置yum源,更改主机名

2)安装kibana

  1. [[email protected] ~]# yum -y install kibana
  2. [[email protected] ~]# rpm -qc kibana
  3. /opt/kibana/config/kibana.yml
  4. [[email protected] ~]# vim /opt/kibana/config/kibana.yml
  5. 2 server.port: 5601
  6. //若把端口改为80,可以成功启动kibana,但ss时没有端口,没有监听80端口,服务里面写死了,不能用80端口,只能是5601这个端口
  7. 5 server.host: "0.0.0.0"        //服务器监听地址
  8. 15 elasticsearch.url: http://192.168.1.61:9200
  9. //声明地址,从哪里查,集群里面随便选一个
  10. 23 kibana.index: ".kibana"    //kibana自己创建的索引
  11. 26 kibana.defaultAppId: "discover"    //打开kibana页面时,默认打开的页面discover
  12. 53 elasticsearch.pingTimeout: 1500    //ping检测超时时间
  13. 57 elasticsearch.requestTimeout: 30000    //请求超时
  14. 64 elasticsearch.startupTimeout: 5000    //启动超时
  15. [[email protected] ~]# systemctl restart kibana
  16. [[email protected] ~]# systemctl enable kibana
  17. Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /usr/lib/systemd/system/kibana.service.
  18. [[email protected] ~]# ss -antup | grep 5601 //查看监听端口

3)浏览器访问kibana,如图-8所示:

  1. [[email protected] ~]# firefox 192.168.1.66:5601

图-8

4)点击Status,查看是否安装成功,全部是绿色的对钩,说明安装成功,如图-9所示:

图-9

5)用head插件访问会有.kibana的索引信息,如图-10所示:

  1. [[email protected] ~]# firefox http://192.168.1.65:9200/_plugin/head/

图-10

原文地址:https://www.cnblogs.com/tiki/p/10785537.html

时间: 2024-10-04 16:19:10

ELK简介 es集群部署 es插件应用的相关文章

ES集群部署及调优

系统:Centos6ES版本:6.4.0服务器三台172.16.0.8172.16.0.6172.16.0.22 部署jdk解压jdk放在/data目录,/data/jdk配置环境变量,/etc/proifle里面加入如下 export JAVA_HOME=/data/jdk export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH s

开源Nosql数据库Cassandra3.0实战-集群部署与插件使用

简介 Cassandra是一套开源分布式NoSQL数据库系统,Cassandra的主要特点是无中心的设计,其分布式集群由一堆数据库节点共同构成一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取.对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了. 随着Nosql的火热,Hbase.Mongodb已然成了NoSQL数据库的代表,而Cassandra在国内的使用却不多(

[Update] ELK 6.6.0 集群部署以及体验使用插件X-pack

在之前的文章中已经介绍过如何安装5.5.0的版本,今天我们来讲解下如何使用6.6.0 看看有哪些变化,安装流程参照这里. 新版本对照老版本的安装有哪些不同点: x-pack集成到了ES的目录下 体验x-pack的文件改名为x-pack-core-6.6.0.jar 使用x-pack使用用户管理增强功能后必须打开SSL传输功能(略坑) 大概流程: 正常安装完ES.Kibana.Logstash,启动应用 去官网申请License这里,怎么改这个文件参照之前的文档 关闭elasticsarch应用服

部署带有验证的es集群及创建快照

1?? 环境准备① 关闭防火墙.selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configsetenforce 0systemctl stop firewalldsystemctl disable firewalld ② 修改系统最大打开文件数和进程数cat <<EOF >> /etc/security/limits.conf* soft nofile 65536* hard nofile 6

elk中es集群web管理工具cerebro

cerebo是kopf在es5上的替代者 安装es虽然不能再root下运行,但是cerebro 可以 run as root is ok wget https://github.com/lmenezes/cerebro/releases/download/v0.8.1/cerebro-0.8.1.tgz tar zxvf cerebro-0.8.1.tgz cd cerebro-0.8.1 bin/cerebro #具体新版本查看https://github.com/lmenezes/cereb

Elasticsearch集群 windows下部署ES集群,多台服务器

? 针对于Elasticsearch集群部署基本上就是一些配置就可以解决的,我们这块简单称为(ES). ES下载地址为:https://www.elastic.co/cn/downloads/past-releases 如果不能下载,可以转至https://download.csdn.net/download/weixin_41986096/11635439 进行下载. 下来选择盘符建立es-cluster文件夹,名称可以随意替换,我们将es复制3份,分别如下图所示(伪集群部署方式) ? 然后打

ElasticSearch5.6.5集群部署及调优、Head和Bigdesk插件安装

一.简介: Elasticsearch是一个基于Apache Lucene的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它: ·       分布式的实时文件存储,每个字段都被索引并可被搜索 ·        分布式的实时分析搜索引擎 ·        可以扩展到上百台服务器,处理PB级结构化或非结构化数据 二.环境准备 主机 系统 配置 IP nod

ELK集群部署及收集nginx日志

一.ELK说明 二.架构图 三.规划说明 四.安装部署nginx+logstash 五.安装部署redis 六.安装部署logstash server 七.安装部署elasticsearch集群 八.安装kibana 一.ELK说明 ELK Stack 是 Elasticsearch.Logstash.Kibana 三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称. ELK Stack 在最近两年迅速崛起,成为机器数据

ES集群性能调优链接汇总

ES集群稳定性: 1. 集群稳定性的一些问题(一定量数据后集群变得迟钝) https://elasticsearch.cn/question/84 2.ELK 性能(2) - 如何在大业务量下保持 Elasticsearch 集群的稳定 http://www.cnblogs.com/richaaaard/p/6117089.html