zoukankan      html  css  js  c++  java
  • elastic search&logstash&kibana 学习历程(一)es基础环境的搭建

    elastic search 6.1.x

    常用框架:

    1Lucene

    Apache下面的一个开源项目,高性能的、可扩展的工具库,提供搜索的基本架构;

    如果开发人员需用使用的话,需用自己进行开发,成本比较大,但是性能高 

    2solr

    Solr基于Lucene的全文搜索框架,提供了比Lucene更为丰富的功能,

    同时实现了可配置、可扩展并对查询性能进行了优化

    建立索引时,搜索效率下降,实时索引搜索效率不高

    数据量的增加,Solr的搜索效率会变得更低,适合小的搜索应用,对应java客户端的是solrj

     3elasticSearch

    基于Lucene的搜索框架, 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口

    上手容易,拓展节点方便,可用于存储和检索海量数据,接近实时搜索,海量数据量增加,搜索响应性能几乎不受影响;

    分布式搜索框架,自动发现节点,副本机制,保障可用性

    新特性讲解

     16.1.x版本基于Lucene 7.1.0,更快,性能进一步提升,对应的序列化组件,升级到Jackson 2.8

     2、自适应副本选择

      今天在Elasticsearch中,对同一分片的一系列搜索请求将以循环方式转发到主要和每个副本。如果一个节点启动了长时间的垃圾收集,这可能会出现问题 - 搜索请求仍将被转发到缓慢的节点,并且会影响搜索延迟。6.1中,我们添加了一个称为自适应副本选择的实验性功能。每个节点跟踪并比较搜索请求到其他节点的时间,并使用这些信息来调整向特定节点发送请求的频率。在我们的基准测试中,这样可以大大提高搜索吞吐量,降低99%的延迟。这个选项在默认情况下是禁用的

    3、推荐使用5.0版本推出的Java REST/HTTP客户端,依赖少,比Transport使用更方便,在基准测试中,性能并不输于Transport客户端,5.06.0版本中,每次有对应的API更新, 文档中也说明,推荐使用这种方式进行开发使用,所有可用节点间的负载均衡,在节点故障和特定响应代码的情况下进行故障转移,失败的连接处罚(失败的节点是否重试取决于失败的连续次数;失败的失败次数越多,客户端在再次尝试同一节点之前等待的时间越长

    在centos7下安装elastic search

    安装java环境:

    我的java安装目录是/usr/local/java  所以修改/etc/profile文件
    vim /etc/profile
     JAVA_HOME=/usr/local/java
     PATH=$JAVA_HOME/bin:$PATH
     export JAVA_HOME PATH
    修改完文在当前终端生效命令 source /etc/profile

    测试java环境是否正常命令   java -version   显示如下(正常)

    安装elasticsearch:

    官网是:www.elastic.co   下载

    mkdir /temp   #新建安装elastic目录
    cd /temp
    tar -xvf elasticsearch-6.2.4.tar.gz   #解压elastic文件
    cd ..
    chmod -R 777 /temp    #给目录权限
    useradd -m elastic -G wheel   #因为elastic不能用root用户去启动,创建新用户
    su - elastic     #切换用户
    注意事项:
    修改系统参数,确保系统有足够资源启动ES
    设置内核参数
    vim /etc/sysctl.conf
    #增加以下参数
    vm.max_map_count = 655360
    执行以下命令,确保生效配置生效:
    sysctl –p
     
    设置资源参数
    vim /etc/security/limits.conf
    #修改
    * soft nofile 65536   #警告设定所有用户最大打开文件数
    * hard nofile 131072  #严格设定所有用户最大打开文件数
    * soft nproc 65536   #警告设定所有用户最大打开进程数为65535
    * hard nproc 131072 #严格设定所有用户最大打开进程数为131072
    
    
    vim /etc/security/limits.d/20-nproc.conf #设置elk用户参数 elk soft nproc 65536

    es集群配置参数

    vim /etc/elasticsearch
    cluster.name: aubin-cluster                                 # 集群名称
    node.name: els1                                             # 节点名称,仅仅是描述名称,用于在日志中区分
    
    path.data: /var/lib/elasticsearch                           # 数据的默认存放路径
    path.logs: /var/log/elasticsearch                           # 日志的默认存放路径
    
    network.host: 192.168.0.1                                   # 当前节点的IP地址
    http.port: 9200                                             # 对外提供服务的端口,9300为集群服务的端口
    
    discovery.zen.ping.unicast.hosts: ["172.18.68.11", "172.18.68.12","172.18.68.13"]       
    # 集群个节点IP地址,也可以使用els、els.shuaiguoxia.com等名称,需要各节点能够解析
    
    discovery.zen.minimum_master_nodes: 2                       # 为了避免脑裂,集群节点数最少为 半数+1

    注意:集群所用的端口是9300防火墙要打开
  • 相关阅读:
    阿里巴巴公布合伙人名单,董建华成为独董,俞永福未进入合伙人
    android cookie
    在Android的webview中定做js的alert,confirm和prompt对话框的方法
    浅谈WebView的使用 js alert
    Android的移动存储之SharedPreferences
    [android]-如何在向服务器发送request时附加已保存的cookie数据
    layout_weight
    我们是如何认识世界的
    挣钱和花钱
    时刻牢记“我是谁、为了谁、依靠谁” 始终践行党的群众观点和群众路线
  • 原文地址:https://www.cnblogs.com/both/p/9067803.html
Copyright © 2011-2022 走看看