• Centos7 ElasticSearch集群搭建


    1. 服务器环境配置

    1.1 配置hosts文件

    3台服务器都要执行

    1. vim /etc/hosts;
    2. # 将以下内容写入3台服务器hosts文件
    3. 192.168.226.148 es001
    4. 192.168.226.149 es002
    5. 192.168.226.150 es003

    1.2 关闭防火墙

    3台服务器都要执行

    1. systemctl stop firewalld;
    2. systemctl disable firewalld;

    1.3 修改文件最大打开数

    以下内容3台服务器都要配置

    1. vim /etc/security/limits.conf;
    2. # 将以下内容写入文件最后
    3. * soft nofile 204800
    4. * hard nofile 204800
    5. * soft nproc 204800
    6. * hard nproc 204800

    1.4 修改虚拟内存数量

    1. vim /etc/sysctl.conf;
    2. #将以下内容写入文件最后
    3. vm.max_map_count=655360

    sysctl -p;

    2. 下载

    国内镜像下载地址

    ES官网下载地址

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

    3. 安装

    rpm -ivh elasticsearch-7.4.2-x86_64.rpm

    4. 修改ES配置文件

    创建数据目录和日志目录(3个服务器都执行)

    1. mkdir -p /usr/share/elasticsearch/data;
    2. mkdir -p /usr/share/elasticsearch/log;
    3. # 注意 创建的目录一定要授权给ES用户
    4. chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/data;
    5. chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/log;

    编辑/etc/elasticsearch/elasticsearch.yml配置文件(3个服务器都执行)

    1. cd /etc/elasticsearch;
    2. vim elasticsearch.yml;

    内容为:

    # 修改集群名称

    cluster.name: elasticsearch-cluster

    # 修改节点名称,不同节点不同 节点一node-1 节点二node-2 节点三node-3

    node.name: node-1

    #是不是有资格主节点 ,选举是在所有node.master = true 的节点进行的

    node.master: true

    node.data: true

    # 修改data数据保存地址为上一步创建的地址

    path.data: /usr/share/elasticsearch/data

    # 修改log数据保存地址为上一步创建的地址

    path.log: /usr/share/elasticsearch/log

    # 修改允许访问ip

    network.host: 0.0.0.0

    # 修改访问端口

    http.port: 9200

    # 集群初始化节点,只需要配置主节点

    cluster.initial_master_nodes: ["node-1","node-2","node-3"]

    #集群中所有的节点ip

    discovery.seed_hosts: ["es001","es002","es003"]

    #配置跨域访问 header插件需要该配置

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    说明:

    首次启动Elasticsearch集群需要在集群中的一个或多个Master候选节点上显式定义初始一组主资格节点 . 这个行为称为集群自举。符合主机要求的初始节点集是在cluster.initial_master_nodes设置中,群集形成后,不再需要此设置,并且会忽略它,也就是说,这个属性就只是在集群首次启动时有用。并且可以不需要在非Master候选节点上设置。

    配置JVM启动内存

    1. cd /etc/elasticsearch;
    2. vim jvm.options;

    内容为

    #Xms和Xmx要设置为一样,否者启动有可能会报initial heap size x not equal to maximum heap size x;

    -Xms512m

    -Xmx512m

    配置系统文件

    vim /etc/security/limits.conf;

    文件最后添加内容为:

    # 每个进程可以打开的文件数的限制

    * soft nofile 65536

    * hard nofile 131072

    # 操作系统级别对每个用户创建的进程数的限制

    * soft nproc 2048

    * hard nproc 4096

    vim /etc/sysctl.conf;

    文件最后添加内容为:

    # 在文件中增加下面内容

    # 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536

    vm.max_map_count=655360

    重新加载

    sysctl -p;

    5. 修改文件权限

    1. chown elasticsearch:elasticsearch -R /usr/share/elasticsearch/;
    2. #chown elasticsearch:elasticsearch -R /etc/elasticsearch/;

    6.修改启动文件

    部分情况会启动失败,systemctl status elasticsearch报超时错误, elasticsearch.service start operation timed out. Terminating.

    1. vim /usr/lib/systemd/system/elasticsearch.service
    2. # Java process is never killed
    3. SendSIGKILL=no
    4. # When a JVM receives a SIGTERM signal it exits with code 143
    5. SuccessExitStatus=143
    6. TimeoutStartSec=120 #在这添加一个超时间 设置长一点,我这边设置了两分钟
    7. [Install]
    8. WantedBy=multi-user.target
    1. [root@VM125 ELK]# systemctl daemon-reload
    2. [root@VM125 ELK]# systemctl restart elasticsearch
    3. [root@VM125 ELK]# systemctl status elasticsearch

    7. 启动

    1. # 启动
    2. systemctl start elasticsearch;
    3. # 自启动
    4. systemctl enable elasticsearch;
    5. # 查状态
    6. systemctl status elasticsearch;
  • 相关阅读:
    printf如何打印指定长度-防止非NUL结尾的字符串造成的读越界漏洞的方法
    XML解析是一种常见的任务,它允许我们从XML文档中提取数据并进行处理
    CHRONY - 时钟同步
    linux中断子系统(基于imx6ul arm32分析)
    C++模拟OpenGL库——图片处理及纹理系统(二):图片Alpha值混合操作
    UVA 1152 和为 0 的 4 个值 4 Values whose Sum is 0
    如何从Github中删除已有仓库
    Unity Shader 溶解效果
    java基础运算符 之 赋值运算符
    算法学习——“原地哈希法”
  • 原文地址:https://blog.csdn.net/moxiong3212/article/details/137940015