美文网首页
部署ElasticSearch及组从

部署ElasticSearch及组从

作者: 慕知 | 来源:发表于2021-05-09 19:04 被阅读0次
    ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体,每个软件用于完成不同的功能;
    ELK 又称为 ELK stack,官方域名为 [stactic.co](http://stactic.co/),ELK stack 的主要优点有如下几个: 处理方式灵活:elasticsearch是实时全文索引,具有强大的搜索功能 配置相对简单:elasticsearch全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单;
    
     检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。
     集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展 前端操作绚丽:kibana的前端设计比较绚丽,而且操作简单
    
    
    
    ELK使用场景:
    
     日志平台:利用elasticsearch的快速检索功能,在大量的数据当中可以快速查询需要的日志。
    
     订单平台:利用elasticsearch的快速检索功能,在大量的订单当中检索我们所需要的订单。
    
     搜索平台:利用elasticsearch的快速检索功能,在大量的数据中检索出我们所需要的数据。
    
    
    

    一,部署ElasticSearch

    一般部署elasticsearch有三种方式:
    
     rpm包安装
    
     源码包安装
    
     docker安装
    
    官网下载地址:[https://www.elastic.co/cn/downloads/elasticsearch](https://www.elastic.co/cn/downloads/elasticsearch)
    
    官网其他版本安装包下载地址:[https://www.elastic.co/cn/downloads/past-releases#elasticsearch](https://www.elastic.co/cn/downloads/past-releases#elasticsearch)
    
    
    
    

    1, rpm包安装

    主机名 外网IP    内外IP
    es-01   192.168.15.70   172.16.1.70
    es-02   192.168.15.71   172.16.1.71
    
    
    
    
    1,集群配置
    官方推荐集群配置30G。本地使用2核2G
    
    
    
    2,系统优化
    
    # 关闭selinux
    # 关闭防火墙
    # 设置一下时区
    # 同步时间
    
    
    
    3,设置程序可以打开的文件数
    [root@es-01 /opt]# vim /etc/security/limits.conf
    * soft memlock unlimited
    * hard memlock unlimited
    * soft nofile 131072
    * hard nofile 131072
    
    
    
    4,下载安装包
    [root@es-01]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-x86_64.rpm
    
    
    5,安装
    # elasticsearch是依赖于Java
    [root@es-01 /opt]# yum install java-1.8.0* -y
    [root@es-01 ~]# java -version
    openjdk version "1.8.0_292"
    OpenJDK Runtime Environment (build 1.8.0_292-b10)
    OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
    
    [root@es-01 /opt]# yum install elasticsearch-7.12.1-x86_64.rpm -y
    
    
    
    
    
    6,elastcsearch设置内存锁定
    
    [root@es-01 /opt]# vim /usr/lib/systemd/system/elasticsearch.service
    LimitMEMLOCK=infinity 
    #在[service]下面的下面的任意一处都可以)  或者LimitAS=infinity下面增加
    
    [root@es-01 ~]# systemctl daemon-reload
    
    
    
    7,修改elasticsearch锁定内存大小
    [root@es-01 ~]# vim /etc/elasticsearch/jvm.options
    -Xms1g
    -Xmx1g
    
    
    
    8,修改elasticsearch的配置文件
    [root@es-01 ~]# vim /etc/elasticsearch/elasticsearch.yml 
    [root@es-01 ~]# grep -E '^[^#]' /etc/elasticsearch/elasticsearch.yml
    # 设置集群名称
    cluster.name: chenyang-by-es
    # 设置集群节点名称(节点名称在集群中唯一)
    node.name: chenyang-node-01
    # 设置数据存放目录
    path.data: /var/lib/elasticsearch
    # 设置日志存放目录
    path.logs: /var/log/elasticsearch
    # 设置内存锁定
    bootstrap.memory_lock: true
    # 设置监听的IP
    network.host: 0.0.0.0
    # 设置监听的端口
    http.port: 9200
    # 设置主节点
    cluster.initial_master_nodes: ["172.16.1.70"]
    
    
    
    9,[root@es-01 ~]# systemctl start elasticsearch.service 
    
    
    
    10,查看启动
    [root@\ es01~]# netstat -lntp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp6       0      0 :::9200                 :::*                    LISTEN      1777/java           
    tcp6       0      0 :::9300                 :::*                    LISTEN      1777/java
    
    访问ip见下图
    
    
    image.png

    2,源码包安装

    # 下载源码包
    [root@es-01 ~]# wget https://github.com/elastic/elasticsearch/archive/refs/tags/v7.12.1.tar.gz
    
    # 解压
    [root@es-01 ~]# tar -xf v7.12.1.tar.gz -C /usr/local
    
    # elasticsearch是依赖于Java
    [root@es-01 /opt]# yum install java-1.8.0* -y
    [root@es-01 ~]# java -version
    openjdk version "1.8.0_292"
    OpenJDK Runtime Environment (build 1.8.0_292-b10)
    OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
    [root@es-01 /opt]# yum install elasticsearch-7.12.1-x86_64.rpm -y
    
    
    
    

    3,docker安装

    docker run -p 9200:9200 -p 9300:9300 -e "cluster.name=xxx" docker.elastic.co/elasticsearch/elasticsearch:7.12.1
    
    

    二,安装集群head插件

    -- head插件主要是图形化elastic search

    1, 安装docker
    [root@\ es01~]# yum install docker -y
    
    
    [root@\ es01~]# sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://lt253d66.mirror.aliyuncs.com"]
    }
    EOF
    
    
    
    
    2,启动docker
    [root@\ es01~]# systemctl start docker && systemctl enable docker
    
    
    
    
    
    3,设置elasticsearch跨域访问
    [root@\ es01~]# vim /etc/elasticsearch/elasticsearch.yml 
    http.port: 9200
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    [root@\ es01~]# systemctl restart elasticsearch.service
    
    
    5,拉取镜像并启动
    [root@\ es01~]# docker run -d -p 9100:9100 alvinos/elasticsearch-head
    
    
    
    
    6,验证启动结果
    [root@\ es01~]# netstat -lnutlp    
    tcp6       0      0 :::9100                 :::*                    LISTEN      2590/docker-proxy-c 
    
    
    访问结果如下图
    
    
    image.png 建立连接

    三,部署elasticsearch主从

    1, 安装组从

    如上相同操作,只需要修改配置
    
    # 修改配置
    [root@\ es01~]# vim /etc/elasticsearch/elasticsearch.ym
    # 设置主节点
    cluster.initial_master_nodes: ["172.16.1.71"]
    # 设置选举策略
    discovery.zen.minimum_master_nodes: 2
    # 设置节点
    discovery.zen.ping.unicast.hosts: ["172.16.1.70","172.16.1.71"]
    # 设置是否为主节点
    node.master: true (另一台修改为false)
    
    
    
    另一台节点
    [root@\ es02~]# vim /etc/elasticsearch/elasticsearch.ym
    node.name: egon-node-2
    node.master: false
    
    
    #  重启
    [root@\ es02~]# systemctl restart elasticsearch.service 
    
    
    两台已连接

    2,测试

    建立索引 查看索引 编写jason 提交请求 刷新查询

    相关文章

      网友评论

          本文标题:部署ElasticSearch及组从

          本文链接:https://www.haomeiwen.com/subject/itfvdltx.html