• Elasticsearch_1 搭建


    介绍

    Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

    正向索引

    我爱我的祖国,我爱编程

    我 爱 爱我 祖国 我的祖国 编程 爱编程 我爱编程

    反向索引

    我 html1,html2
    爱 html1,html2
    祖国 html1

    KIBANA 可视化界面

    用于查看 ELASTICSEARCH

    LOGSTASH 集中转化和存储数据

    将其他数据导入 LOGSTASH
    LOGSTASH 导入 ES

    input 数据收集
    filter 数据加工 过滤 改写
    output 数据输出


    搭建es

    下载 ES

    https://www.elastic.co/cn/downloads/?elektra=home&storm=hero

    创建es用户组及es用户:
    groupadd es
    useradd es -g es
    passwd es

    更改es文件夹及内部文件的所属用户及组为es:es(在elasticsearch根目录执行此命令)
    chown -R es:es elasticsearch

    简单优化下 linux

    vim /etc/sysctl.conf

    fs.file-max=655360
    vm.max_map_count=262144
    

    vim /etc/security/limits.conf

    * soft nproc 20480
    * hand nproc 20480
    * soft nofile 65536
    * hard nofile 65536
    * sort memlock unlimited
    * hard memlock unlimited
    

    简单优化下 jvm

    vim config/jvm.options
    -Xms 4g
    -Xmx 4g
    最大堆 最小堆

    配置es

    elasticsearch.yml

    #集群名
    cluster.name: my-elasticsearch 
    #节点名
    node.name: node3                                                                  #数据存放位置 可以不配 默认在运行目录data下
    path.data: [/var/elastic/data]                                                    #数据存放位置 可以不配 默认在运行目录log下
    path.logs: [/var/elastic/logs]
    
    bootstrap.system_call_filter: false
    bootstrap.memory_lock: false                                                     #本机ip
    network.host: 10.0.0.56
    #http端口
    http.host: 10.0.0.56:9100
    #数据传输端口
    transport.bind_host: 192.168.1.3:9300                                           #集群ip地址 各个集群配置都是一样的
    discovery.seed_hosts: ["10.0.0.56:9300","10.0.0.56:9301","10.0.0.56:9302"]
    #集群启动 这个参数对于集群的可靠性来说,是非常重要的。这个设置可以预防脑裂问题,也就是一个集群中存在两个master。 master候选节点数量 / 2 + 1
    discovery.zen.minimum_master_nodes: 2
    #提供集群中符合主机要求的节点的列表 服务发现种子主机
    cluster.initial_master_nodes: ["node1","node2","node3"]                          #能否成为master
    node.master: true                                                               #是否存放数据
    node.data: true                                                                 #跨域是否开启
    http.cors.enabled : true                                                         #跨域允许那些域名
    http.cors.allow-origin : "*"                                                     #最大初始化长度
    http.max_initial_line_length: 12kb                                               #跨域是否支持操作session
    http.cors.allow-credentials: true                                               #跨域允许的头部
    http.cors.allow-headers: WWW-Authenticate,X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
    #开启 xpack 功能,如果要禁止使用密码,请将以下内容注释,直接启动不需要设置密码
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
    

    xpack 生成证书

    集群版 只需要生成一次 再拷贝到其他es即可

    开启xpack 需要 生成证书 直接回车别输入密码
    bin/elasticsearch-certutil ca
    bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

    移到目录下
    mv elastic-certificates.p12 config/
    mv elastic-stack-ca.p12 config/

    /开启xpack 需要生成keystore /
    /
    bin/elasticsearch-keystore create
    /

    设置独立的密码
    bin/elasticsearch-setup-passwords interactive 手动定义密码

    es 初始化时的用户

    Enter password for [elastic]: 
    Reenter password for [elastic]: 
    Enter password for [apm_system]: 
    Reenter password for [apm_system]: 
    Enter password for [kibana]: 
    Reenter password for [kibana]: 
    Enter password for [logstash_system]: 
    Reenter password for [logstash_system]: 
    Enter password for [beats_system]: 
    Reenter password for [beats_system]: 
    Enter password for [remote_monitoring_user]: 
    Reenter password for [remote_monitoring_user]: 
    

    启动elasticsearch

    ./bin/elasticsearch -q
    ./bin/elasticsearch #前台运行

    其他节点

    修改ip 数据端口

    搭建集群 要将其他节点的data目录清空 等主节点同步

    kibana可视化

    kibana

    server.port: 5601
    server.host: "10.0.0.56"
    elasticsearch.hosts: ["10.0.0.56:9300","10.0.0.56:9301","10.0.0.56:9302"]
    elasticsearch.username: "elastic"
    elasticsearch.password: "123456"
    i18n.locale: "zh-CN"

    启动

    sudo nohup ./bin/kibana --allow-root

    查看集群

    http://ip/_cat/health?v
    http://ip/_cat/nodes

  • 相关阅读:
    使用Python通过docker api控制docker容器
    windows 编译 google v8
    Kali下Metasploit自动连接postgresql
    更新Kali中的metasploit
    spring + mybatis 注解式事务不回滚的原因分析 @Transactional
    ListView中使用type需要注意的东西 java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 addScrapView
    Missing artifact com.sun:tools:jar:1.5.0的解决方案
    0919-The Standard of Code Review
    重定向URL乱码问题
    hive学习_01
  • 原文地址:https://www.cnblogs.com/hywhyme/p/14595533.html
Copyright © 2020-2023  润新知