zoukankan      html  css  js  c++  java
  • CentOS7下搭建ElasticSearch,保存自己看

    参考:https://blog.csdn.net/omaoyaner/article/details/97618037

    参考:https://blog.csdn.net/zhangningkid/article/details/97915111

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/zhangningkid/article/details/97915111
    下载最新版ElasticSearch。 下载地址:https://www.elastic.co/cn/downloads/。并上传到CentOS上的/usr/local目录下。
    解压刚刚下载的ElasticSearch的压缩包
    tar -zxf elasticsearch-7.2.1-linux-x86_64.tar.gz
    1
    修改Linux系统的限制配置
    a. 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建权限。
    b. 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
    c. Linux低版本内核为线程分配的内存是128K。4.x版本的内核分配的内存更大。如果虚拟机的内存是1G,最多只能开启3000+个线程数。至少为虚拟机分配1.5G以上的内存。

    vim /etc/security/limits.conf
    es soft nofile 65536
    es hard nofile 65536
    es soft nproc 4096
    es hard nproc 4096

    修改系统控制权限
    a. 修改管理系统中的各种资源控制的配置文件。
    b. ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存

    vim /etc/sysctl.conf
    #当前用户拥有的内存权限太小
    vm.max_map_count=262144
    #让系统控制权限配置生效
    sysctl -p

    新建一个用户, 用于ElasticSearch启动(ElasticSearch5及以上版本,基于安全考虑,强制规定不能以root身份运行。)
    #创建用户
    useradd es
    #修改上述用户的密码
    passwd es
    #修改elasicsearch目录的拥有者
    chown -R es elasticsearch-7.2.1
    chown -R es /data/es

    修改elasticsearch.yml文件
    参数说明:
    cluster.name 集群名称,相同名称为一个集群
    node.name 节点名称,集群模式下每个节点名称唯一
    node.master 当前节点是否可以被选举为master节点,是:true、否:false
    node.data 当前节点是否用于存储数据,是:true、否:false
    path.data 索引数据存放的位置
    path.logs 日志文件存放的位置
    bootstrap.memory_lock 需求锁住物理内存,是:true、否:false
    bootstrap.system_call_filter SecComp检测,是:true、否:false
    network.host 设置可访问的客户端ip。0.0.0.0代表任意客户端访问
    http.port es对外提供的http端口,默认 9200
    discovery.seed_hosts es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
    cluster.initial_master_nodes es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    discovery.zen.ping.unicast.hosts: 新节点通过广播的形式加入集群
    http.cors.enabled 是否支持跨域,是:true,在使用插件时需要此配置
    http.cors.allow-origin “*” 表示支持所有域名

    示例:

    cluster.name: es
    node.name: node-1
    node.master: true
    node.data: true
    network.host: 0.0.0.0

    cluster.initial_master_nodes: ["node-1"]
    discovery.zen.ping.unicast.hosts: ["192.168.227.131","..."]

    path.data: /data/es/data
    path.logs: /data/es/logs

    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false

    http.port: 9200

    http.cors.enabled: true
    http.cors.allow-origin: "*"


    启动ElasticSearch
    #切换用户
    su es
    #到ElasticSearch的bin目录下
    cd bin/
    ./elasticsearch
    #后台启动
    ./elasticsearch -d

    验证是否运行成功
    用浏览器打开:http://ip:9200.若能出现下图结果, 则表示启动成功。(需要打开监听端口 9200或关闭防火墙 )

    ————————————————
    版权声明:本文为CSDN博主「鸿祯」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zhangningkid/article/details/97915111

  • 相关阅读:
    poj 3068 Bridge Across Islands
    XidianOJ 1086 Flappy v8
    XidianOJ 1036 分配宝藏
    XidianOJ 1090 爬树的V8
    XidianOJ 1088 AK后的V8
    XidianOJ 1062 Black King Bar
    XidianOJ 1091 看Dota视频的V8
    XidianOJ 1098 突击数论前的xry111
    XidianOJ 1019 自然数的秘密
    XidianOJ 1109 Too Naive
  • 原文地址:https://www.cnblogs.com/jackduan/p/11772459.html
Copyright © 2011-2022 走看看