ElasticSearch集群的搭建(详细图文的教程)以及集群脚本编写

1. 介绍

Elasticesearch 是一个高度可伸缩的开源全文搜索引擎。Elasticsearch让你可以快速。实时地存储、搜索和分析大量数据,它通常作为互联网应用的内部搜索引擎,为需要复杂搜索功能的应用提供支持。

ElaticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch 是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

2. 特点:

  1. 天然索引:ES所有数据是默认进行索引的,这点和MySQL正好相反,Mysql是默认不加索引,要加索引必须特别说明,ES只有不加索引才需要说明。

  2. 而ES使用的是倒排索引和MySQL的B+Tree索引不同

  3. 天然分区

  4. 天然集群

3. 安装:

  1. 安装文件介绍:

    a. elasticsearch-6.6.0.tar.gz 这个是安装包

  1. 解压安装:

    a. 解压

    tar -zxvf  elasticsearch-6.6.0.tar.gz -C /opt/module/

    b.在/opt/module/elasticsearch-6.6.0/config目录中找到elasticsearch.yml文件

    1. 配置集群名称

      #cluster.name: my-application,消除注释,便修改名称,种类我修改为:my-es

    2. 修改节点名称,将#node.name: node-1的注释去掉

    3. 把boostrap自检程序关闭:将#bootstrap.memory_lock: true的注释去掉,并将true改为false,注意这里true前面的空格一定不可以删掉。然后再在这句话的下面增加bootstrap.system_call_filter: false

    4. 修改网络的地址:将#network.host: 192.168.0.1的注释去掉,然后将ip修改为这里的主机名,这里修改为hadoop101

    5. 自发现配置,新节点向集群报到的主机名:在#discovery.zen.ping.unicast.hosts: ["host1", "host2"]的中括号中修改为自己的节点名称,这里修改为:discovery.zen.ping.unicast.hosts: ["hadoop101", "hadoop102", "hadoop103"]

    c. 修改内存大小,默认是1G内存,由于虚拟机内存较小,因此修改下一点,修改的文件为:jvm.options,将文件中-Xms1g, Xmx1g的“1g”修改为“520m”

    d. 分发到hadoop102,hadoop103中

    xsync elasticsearch-6.6.0/

    e.分别在hadoop101,hadoop102修改如下内容,将网络地址修改为hadoop102,将节点名称修改为node-2,这些在上述都有所配置。

    f. 启动:

    a. 单机启动:bin/elasticsearch

    报错为:

  1. 解决办法和原因:

    原因 系统允许 Elasticsearch 打开的最大文件数需要修改成 65536 解决 sudo vim /etc/security/limits.conf 最文件的最后添加内容

    * soft nofile 65536
    * hard nofile 131072
    * soft nproc 2048
    * hard nproc 65536

    注意:“*” 不要省略掉 分发文件到hadoop102,hadoop103中 sudo /home/sea/bin/xsync /etc/security/limits.conf

    b. 问题2:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

    原因 一个进程可以拥有的虚拟内存区域的数量。 解决 sudo vim /etc/sysctl.conf 在文件最后添加一行

    vm.max_map_count=262144

    即可永久修改 分发文件 sudo /home/sea/bin/xsync /etc/sysctl.conf

    重启虚拟机

    g. 检测是否安装成功的方法有:

    测试方式 1:curl http://hadoop101:9200/_cat/nodes?v

    测试方式 2:在浏览器中,输入 http://hadoop101:9200/查看效

  1. 编写脚本启动es

    #!/bin/bash
    es_home=/opt/module/elasticsearch-6.6.0
    case $1 in
        "start" ){
            for i in hadoop101 hadoop102 hadoop103; do
                echo "==============$i上启动============="
                ssh $i "${es_home}/bin/elasticsearch >/dev/null 2>&1 &"
            done
        };;
        "stop"){
            for i in hadoop101 hadoop102 hadoop103; do
                echo "==============$i上停止============="
                ssh $i "ps -ef|grep $es_home | grep -v grep|awk '{print \$2}'|xargs kill" >/dev/null 2>&1
                #statements
            done
        };;
    esac
    ​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GQYOneWater

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值