zoukankan      html  css  js  c++  java
  • ElasticSearch及其插件安装配置

    elasticsearch安装使用


           elasticsearch是支持Linux和window系统的,elasticsearch官网上最新的稳定版本是6,2,4,该版本不支持jdk8以下的,所以需要在你的系统下安装好jdk8
    安装步骤:

    1、下载elasticsearch的rpm包:

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-x86_64.rpm

    2. 安装elasticsearch

    rpm install -y elasticsearch-7.4.2-x86_64.rpm

    3. 启动

    systemctl start elasticsearch
    或者
     /etc/init.d/elasticsearch start

    4. 验证是否启动

    运行
    curl http://localhost:9200/ 
    在PowerShell运行
    Invoke-RestMethod http://localhost:9200

    5.配置elasticsearch

    [root@linux-node1 elasticsearch]# grep '^[a-Z]' /etc/elasticsearch/elasticsearch.yml 
    cluster.name: elk-cluster1 #集群名称
    path.data: /elk/data/     # 配置路径
    path.logs: /elk/logs/
    node.name: elk-node1      #节点名称
    network.host: 192.168.1.1 #配置本地IP地址获域名
    http.port: 9200  
    discovery.zen.ping.unicast.hosts: ["192.168.1.1", "192.168.1.2"] #配置广播范围

    6. 配置路径 问题解决

    mkdir /elk
    chown elasticsearch.elasticsearch /elk 给elk目录授权给elasticsearch
    重启 systemctl restart elasticsearch

    elasticsearch-head 配置使用

    git clone git://github.com/mobz/elasticsearch-head.git
    cd elasticsearch-head
    npm install
    npm run start &  or grunt server &
    open http://localhost:9100/

    配置elasticsearch 允许elasticsearch-head连接elasticsearch

    http.cors.enabled: true   # 开启http访问
    http.cors.allow-origin: “*”   # 可访问的IP地址

    elasticsearch内存优化

    查看elasticsearch状态

    [root@linux-node1 ~]# ps -ef |grep elasticsearch
    elastic+   3964      1  2 10:58 ?        00:00:53 /bin/java -Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+Us
    eCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -Djdk.io.permissi
    onsUseCanonicalPath=true -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dlog4j.shutdo
    wnHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j.skipJansi=true -XX:+HeapDumpOnOutOfMemoryError -Des.path.home=/usr/share/elasticsearch -cp
    /usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch -p /var/run/elasticsearch/elasticsearch.pid --quiet -Edefault.path.logs=
    /var/log/elasticsearch -Edefault.path.data=/var/lib/elasticsearch -Edefault.path.conf=/etc/elasticsearch root 4083 1539 0 11:40 pts/0 00:00:00 grep --color=auto elasticsearch

    可以看到elasticsearch可使用的最小和最大内存都是2G

    官方文档

    https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

    修改启动脚本

    vim /usr/lib/systemd/system/elasticsearch.service
    # 最下面添加
    LimitMEMLOCK=infinity
    
    systemctl daemon-reload
    systemctl restart elasticsearch

    修改elastic配置文件锁定内存,这样在后期数据量比较大的时候,运行速度会比较快

    vim /etc/elasticsearch/elasticsearch.yml
    
    bootstrap.memory_lock: true

    更改jvm.options 根据自己电脑的配置增加运行内存  最大32G

    vim /etc/elasticsearch/jvm.options
    
    # add code
    
    -Xms3g
    -Xmx3g

    获取节点状态值

    curl -sXGET http://192.168.56.12:9200/_cluster/health?pretty=true

    使用脚本获取节点状态值  然后可以和zabbix结合报警

    import json
    import subprocess
    false = "false"
    obj = subprocess.Popen(("curl -sXGET http://192.168.56.12:9200/_cluster/health?pretty=true"),shell=True,st
    dout=subprocess.PIPE)
    data = obj.stdout.read()
    data1 = json.loads(data)
    status=data1.get("status")
    if status == "green":
        print("50")
    else:
        print("100")
  • 相关阅读:
    按钮-全选复选框 PENGHAO
    ASP.NET技术内幕的电子书中文版 PENGHAO
    hotmail和gmail 邮件中背景图片无效不显示的解决办法
    Silverlight之DataGrid的列格式化日期
    MS SQL基础
    JS获得当前地址栏url
    Javascript实现复制到剪贴板
    C#.NET画验证码与Cookie验证
    网站部署与定制
    操作SQL数据库常用语句
  • 原文地址:https://www.cnblogs.com/richiewlq/p/11941103.html
Copyright © 2011-2022 走看看