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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
6月前
|
存储 监控 数据可视化
ELK与Fluentd的结合
【6月更文挑战第18天】构建Python分布式日志系统,结合ELK(Elasticsearch、Logstash、Kibana)与Fluentd,用于日志收集、存储和分析。Fluentd作为数据收集器,接收Python应用日志,通过Logstash转发至Elasticsearch索引,Kibana提供可视化界面。流程包括安装配置ELK,配置Fluentd输入输出插件,Python中使用`fluent-logger`发送日志,Kibana查看分析数据。系统可扩展、优化,涉及数据格式化、性能调优、安全性和监控。
89 7
ELK与Fluentd的结合
|
7月前
|
Java 索引
ELK搭建指南
ELK搭建指南
80 0
|
NoSQL 应用服务中间件 Redis
elk-2
elk-2
59 0
|
JSON 应用服务中间件 开发工具
elk-1
elk-1
82 0
|
XML JSON 缓存
ELK日志(1)
ELK日志(1)
124 0
|
NoSQL Redis
ELK日志(4)
ELK日志(4)
|
监控 调度 索引
ELK日志(2)
ELK日志(2)
|
存储 JSON 监控
ELK日志(3)
ELK日志(3)
132 0
|
自然语言处理 安全 网络安全
|
Java 编译器 Linux