Elasticsearch集群环境搭建

Posted Lossdate

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch集群环境搭建相关的知识,希望对你有一定的参考价值。

一、 环境

  1. 说明
    搭建一个三个节点的集群环境,模拟搭建为了方便在一台机器上搭建,需要3G以上的内存
  2. 节点
    #192.168.200.136 安装elasticsearch集群
    elasticsearch0:192.168.200.136:9200
    elasticsearch1:192.168.200.136:9201
    elasticsearch2:192.168.200.136:9202
    
    #192.168.200.142 安装elasticsearch-head
    elasticsearch-head:192.168.200.142
    

二、Elasticsearch集群搭建

  1. 第一节点安装Elasticsearch
    Elasticseach 7.13.2 单节点模式部署

  2. 第一节点配置

    #打开配置文件elasticsearch.yml,添加如下配置
    cd /usr/local/
    vim elasticsearch-7.13.2/config/elasticsearch.yml
    
     #集群名称
    cluster.name: my-es
    #节点名称
    node.name: node-1 
    #当前节点是否可以被选举为master节点
    node.master: true 
    network.host: 0.0.0.0
    http.port: 9200
    transport.port: 9300
    #初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["node-1","node-2","node-3"]
    #写入候选主节点的设备地址
    discovery.seed_hosts: ["127.0.0.1:9300", "127.0.0.1:9301","127.0.0.1:9302"]
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    修改完配置文件之后,一定要把之前的data目录下node数据删除再重新服务即可

    rm -rf data/nodes/
    
  3. 第二节点配置

    #拷贝原来的ES节点elasticsearch-7.13.2 
    #并命名为elasticsearch1
    cp -rf elasticsearch-7.13.2/ elasticsearch1
    #并授权
    chown -R estest elasticsearch1
    
    #进入elasticsearch1目录config文件夹,修改elasticsearch.yml配置文件并保存
    vim elasticsearch1/config/elasticsearch.yml
    #修改node.name 和 http.port transport.port 
    node.name: node-2 
    http.port: 9201 
    transport.port: 9301
    
  4. 第三节点配置

    #拷贝原来的ES节点elasticsearch-7.13.2 
    #并命名为elasticsearch1
    cp -rf elasticsearch-7.13.2/ elasticsearch2
    #并授权
    chown -R estest elasticsearch2
    
    #进入elasticsearch2目录config文件夹,修改elasticsearch.yml配置文件并保存
    vim elasticsearch2/config/elasticsearch.yml
    #修改node.name 和 http.port transport.port 
    node.name: node-3 
    http.port: 9202 
    transport.port: 9302
    
  5. 启动

    su estest
    /usr/local/elasticsearch-7.13.2/bin/elasticsearch
    
    su estest
    /usr/local/elasticsearch1/bin/elasticsearch
    
    su estest
    /usr/local/elasticsearch2/bin/elasticsearch
    
  6. 验证

    http://192.168.200.136:9200/_cat/health?v
    

    在这里插入图片描述
    可以看到有三个节点

三、Elasticsearch Head 安装

  1. 环境
    elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作
    文档:https://github.com/mobz/elasticsearch-head
    新开虚拟机:192.168.200.142
  2. nodejs安装
    #下载
    wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
    #解压
    tar xf node-v10.15.3-linux-x64.tar.xz
    #执行node命令 查看版本
    cd node-v10.15.3-linux-x64/
    ./bin/node -v
    
  3. 设置软连接
    ln -s /root/node-v10.15.3-linux-x64/bin/npm /usr/local/bin/
    ln -s /root/node-v10.15.3-linux-x64/bin/node /usr/local/bin/
    
  4. phantomjs安装
    cd /usr/local
    #下载
    https://phantomjs.org/download.html
    #选择 phantomjs-2.1.1-linux-x86_64.tar.bz2
    #上传到/usr/local目录下
    
    #安装bzip2
    yum install -y bzip2
    #解压
    tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
    
    #配置环境变量
    vim /etc/profile
    
    export PATH=$PATH:/usr/local/phantomjs-2.1.1-linux-x86_64/bin
    
    #生效配置
    . /etc/profile
    
  5. elasticsearch-head安装
    npm install -g grunt-cli
    npm install grunt 
    npm install grunt-contrib-clean 
    npm install grunt-contrib-concat 
    npm install grunt-contrib-watch 
    npm install grunt-contrib-connect
    yum -y install git
    git clone git://github.com/mobz/elasticsearch-head.git
    cd elasticsearch-head
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    
  6. elasticsearch.yml配置修改(之前有配置过则忽略这一步)
    http.cors.enabled: true 
    http.cors.allow-origin: "*"
    
  7. 启动
    cd /usr/local/elasticsearch-head/
    npm run start
    
    如果启动出错 则把第4步中的依赖再安装一遍
  8. 验证
    访问:192.168.200.142:9100
    在这里插入图片描述
  9. 连接集群
    在这里插入图片描述
  10. 测试
    启动Kibana,并建立索引
    PUT /lossdate-employee-index
    {
        "settings": {},
        "mappings": {
            "properties": {
                "name": {
                    "type": "text"
                }
            }
        }
    }
    
    PUT /lossdate-company-index
    {
        "settings": {
            "number_of_shards" : "2",
            "number_of_replicas" : "2"
        },
        "mappings": {
            "properties": {
                "name": {
                    "type": "text"
                }
            }
        }
    }
    
    刷新elasticsearch-head
    在这里插入图片描述

以上是关于Elasticsearch集群环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch集群环境搭建

Elasticsearch集群环境搭建

ElasticSearch实战-ElasticSearch集群环境搭建

Elasticsearch掰开揉碎第2篇linux环境搭建

ElasticSearch实战-ElasticSearch集群环境搭建

Elasticsearch掰开揉碎第3篇windows环境搭建