elk-1

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: elk-1

Elasticsearch:

   开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,

索引副本机制,restful 风格接口,多数据源,自动搜索负载等


官方网站:

  https://www.elastic.co

中文社区:

  https://elasticsearch.cn

 

官方参考文档:

  https://www.elastic.co/guide/en/elasticsearch/reference/6.6/setup-configuration-memory.html

 

下载地址:

  https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/

   elasticsearch-6.6.0.rpm

   filebeat-6.6.0-x86_64.rpm

   kibana-6.6.0-x86_64.rpm

   logstash-6.6.0.rpm

1.安装elasticsearch:

   前提:jdk-1.8.0 (yum -y install java-1.8.0-openjdk )

   复制elasticsearch-6.6.0.rpm到虚拟机

rpm -ivh elasticsearch-6.6.0.rpm

2.elasticsearch目录和文件:

/etc/elasticsearch/elasticsearch.yml    #配置文件

/etc/elasticsearch/jvm.options            #java虚拟机

/etc/init.d/elasticsearch                #服务启动脚本

/etc/sysconfig/elasticsearch            #elasticsearch服务变量

/usr/lib/sysctl.d/elasticsearch.conf    #设置elasticsearch用户使用的内存大小

/usr/lib/systemd/system/elasticsearch.service      #添加系统服务文件

/var/log/elasticsearch/elasticsearch.log         #日志文件路径


3.修改配置文件:


vim /etc/elasticsearch/elasticsearch.yml

node.name: node-1                        #群集中本机节点名

path.data: /data/elasticsearch            #数据目录

path.logs: /var/log/elasticsearch        #日志目录

bootstrap.memory_lock: true                #锁定内存,需要和/etc/elasticsearch/jvm.options关联

network.host: 192.168.8.10,127.0.0.1    #监听的ip地址

http.port: 9200                            #端口号


4.创建数据目录,并修改权限


mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


5.分配锁定内存:


vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


6.修改锁定内存后,无法重启,解决方法如下:


systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch


7.查看单主机


  http://192.168.8.10:9200/

 查看群集健康状态

  http://192.168.8.10:9200/_cluster/health?pretty

 查看整个群集状态信息

  http://192.168.8.10:9200/_cluster/state?pretty


8.下载es-head插件


  https://github.com/mobz/elasticsearch-head

   下载后,解压,复制crx目录下es-head.crx到桌面

   改名es-head.crx为es-head.crx.zip

   解压es-head.crx.zip到es-head.crx目录,把目录es-head.crx,上传到谷歌浏览器开发工具--扩展程序里

 

9.创建索引:vipinfo,类型:users,序号:1,数据部分:...


curl -XPUT '192.168.8.10:9200/vipinfo/users/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"name": "guofucheng","age": "45","job": "mingxing"}'


 选项说明:

   XPUT       创建

   XDELETE  删除

 

###############################################################################################

elasticsearch群集:

   状态颜色:

       灰色:未连接

       绿色:数据完整态

       黄色:副本不完整

       红色:数据分片不完整

       紫色:数据分片复制过程

   群集主机角色:

       主节点master:负责管理调度

       工作节点:       负责处理数据

       默认情况,所有节点都是工作节点,即主节点也处理数据


################################################################################

往群集中添加第二台主机:192.168.8.20

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-2

path.data: /data/elasticsearch                  

path.logs: /var/log/elasticsearch              

bootstrap.memory_lock: true                            

network.host: 192.168.8.20,127.0.0.1  

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.8.10", "192.168.8.20"]

discovery.zen.minimum_master_nodes: 2   #添加的值=节点数/2 + 1


2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


3.分配锁定内存:

vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch

################################################################################

往群集中添加第三台主机:192.168.8.30

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-3

path.data: /data/elasticsearch                  

path.logs: /var/log/elasticsearch              

bootstrap.memory_lock: true                            

network.host: 192.168.8.30,127.0.0.1  

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.8.10", "192.168.8.30"]

discovery.zen.minimum_master_nodes: 2  


2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


3.分配锁定内存:

vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch

##############################################################################

常见群集管理监控命令

(1)查看索引信息

   curl -XGET '192.168.8.10:9200/_cat/indices?pretty'

(2)查看群集健康状态

   curl -XGET '192.168.8.10:9200/_cluster/health?pretty'

(3)统计群集节点

   curl -XGET '192.168.8.10:9200/_cat/nodes?human&pretty'

(4)查看群集所有节点详细信息

   curl -XGET '192.168.8.10:9200/_nodes/_all/info/jvm.process?human&pretty'

注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警

(5)创建索引index1时,修改分片为3和副本数为2

curl -X PUT 192.168.8.10:9200/index1  -H 'Content-Type: application/json' -d '{

   "settings" : {

       "index" : {

           "number_of_shards" : 3,

           "number_of_replicas" : 2

       }

   }

}'



(6)针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1

curl -X PUT '192.168.8.10:9200/index1/_settings?pretty'  -H 'Content-Type: application/json' -d '{

 "settings": {

   "number_of_replicas": "1"

 }                          

}'


============================================

1.另开一台centos,安装nginx

复制nginx-rpm包到虚拟机/root下

cd /root/nginx-rpm

yum -y localinstall *.rpm

systemctl start nginx



2.安装filebeat,收集nginx的日志,传输到elasticsearch

复制filebeat包到虚拟机

rpm -ivh filebeat-6.6.0-x86_64.rpm


vim /etc/filebeat/filebeat.yml

删除已有内容,添加:

filebeat.inputs:

- type: log

 enabled: true

 paths:

   - /var/log/nginx/access.log


output.elasticsearch:

 hosts: ["192.168.8.10:9200"]

保存退出


systemctl start filebeat


3.测试访问nginx,产生日志,查看elastsearch


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
2月前
|
存储 监控 数据可视化
ELK与Fluentd的结合
【6月更文挑战第18天】构建Python分布式日志系统,结合ELK(Elasticsearch、Logstash、Kibana)与Fluentd,用于日志收集、存储和分析。Fluentd作为数据收集器,接收Python应用日志,通过Logstash转发至Elasticsearch索引,Kibana提供可视化界面。流程包括安装配置ELK,配置Fluentd输入输出插件,Python中使用`fluent-logger`发送日志,Kibana查看分析数据。系统可扩展、优化,涉及数据格式化、性能调优、安全性和监控。
43 7
ELK与Fluentd的结合
|
3月前
|
消息中间件 NoSQL 应用服务中间件
|
3月前
|
Java 索引
ELK搭建指南
ELK搭建指南
62 0
|
11月前
|
应用服务中间件 nginx 索引
elk-1
elk-1
51 0
|
11月前
|
NoSQL 应用服务中间件 Redis
elk-2
elk-2
47 0
|
存储 监控 安全
【Elastic Stack-初识篇】 ELK介绍、搭建最新 ELK 日志分析系统
【Elastic Stack-初识篇】 ELK介绍、搭建最新 ELK 日志分析系统
894 0
|
自然语言处理 安全 网络安全
|
Java 编译器 Linux
|
存储 算法 安全
|
消息中间件 监控 数据可视化
elk学习一:ELK架构图
elk学习一:ELK架构图
254 0
elk学习一:ELK架构图