• Elasticsearch7.17.5 集群安装部署和部署账密


    废话不多说 es应该查这文章的都了解,分发节点之类的简单操作就默认大家都会了

    部署流程

    修改/etc/sysctl.conf

    1. 追加
    2. ​​​​vm.max_map_count=262144 #限制一个进程可以拥有的VMA(虚拟内存区域)的数量
    3. vm.swappiness=0 #关闭swap
    4. net.ipv4.tcp_retries2=5 #tcp重传超时

    修改  /etc/security/limits.d/20-nproc.conf

    1. 追加
    2. * soft nproc 65536 #限制单个进程最大文件句柄数(到达此限制时系统报警)
    3. * hard nproc 65536 #限制单个进程最大文件句柄数(到达此限制时系统报错)
    4. * soft nofile 65536 #限制单个进程最大文件句柄数(到达此限制时系统报警),对应就是soft(软)
    5. * hard nofile 65536 #限制单个进程最大文件句柄数(到达此限制时系统报错) ,对应就是soft(硬)
    6. * 表示该配置对所有用户均有效,root用户要特别加两行,安全考虑的话可以把前面的*换成具体用户

    修改 /etc/security/limits.conf

    1. 追加
    2. * soft nofile 65536
    3. * hard nofile 65536
    4. * soft memlock unlimited #允许锁定内存量为不限制
    5. * hard memlock unlimited

     重启一下服务器,刷新一下配置。 或者

    sysctl -p
    

     解压缩es安装包

    创建配置文件目录

    1. mkdir /data/esdata
    2. mkdir /data/eslog

     复制配置文件elasticsearch.yaml

    添加用户

    useradd es

    修改权限

    chown -R es:es  elastic7.15.5  esdata eslog

     修改elasticsearch.yaml的配置

    1. cluster.name: test #集群名称,开启了自发现功能后,ES会按照此集群名称进行集群发现
    2. node.name: test1 # 节点名称
    3. #node.attr.rack: r1 #节点服务器所在的机柜信息,此配置可不设
    4. path.data: /data/esdata
    5. path.logs: /data/eslog
    6. bootstrap.memory_lock: true
    7. node.master: true #指定该节点是否有资格被选举成为master节点
    8. node.data: true #允许该节点存储数据
    9. network.host: 0.0.0.0
    10. http.port: 9200
    11. http.cors.allow-origin: "*" # head 插件需要这打开这两个配置
    12. http.cors.enabled: true # head 插件需要这打开这两个配置
    13. http.max_content_length: 200mb #提高向 ES 传输数据的大小上限,ES的底层实现 Lucene 处理文档的上限大小为 2GB
    14. network.tcp.keep_alive: true #启用TCP keep alive
    15. network.tcp.no_delay: true #开启TCP 无延迟设置
    16. transport.tcp.compress: true #开启压缩tcp传输时的数据
    17. discovery.seed_hosts: ["test1", "test2","test3"]
    18. cluster.initial_master_nodes: ["test1", "test2","test3"]
    19. #action.destructive_requires_name: true #禁止使用通配符或_all删除索引
    20. cluster.routing.allocation.cluster_concurrent_rebalance: 8 #集群内同时启动的数据任务个数,默认是 2 个,跟内核数量一致即可
    21. cluster.routing.allocation.node_concurrent_recoveries: 8 #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个,跟内核数量一致即可
    22. cluster.routing.allocation.node_initial_primaries_recoveries: 8 #初始化数据恢复时,并发恢复线程的个数,默认 4 个,跟内核数量一致即可
    23. #xpack的配置
    24. xpack.security.enabled: true
    25. xpack.security.transport.ssl.enabled: true
    26. xpack.security.transport.ssl.verification_mode: certificate
    27. xpack.security.transport.ssl.client_authentication: required
    28. xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
    29. xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

      1. ​​​​​​​7.17版本要求启用密码后,节点传输需要开启TLS加密
      2. 生成TLS证书
      3. 任一es节点,使用
      4. ./bin/elasticsearch-certutil ca
      5. 生成CA
      6. 利用CA生成证书,使用
      7. ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
      8. 生成证书
      9. 拷贝生成的证书至ES_PATH_CONF环境变量指定的目录,默认就是config目录下
      10. 如果生成CA期间使用了密码,需要更新keystore
      11. ./bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password
      12. ./bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password
      • 修改jvm的配置
        1. jvm.options
        2. 这些设置的值取决于服务器上可用的RAM量。
        3. 将最小堆大小(Xms)和最大堆大小(Xmx)设置为彼此相等。
        4. 设置Xmx为不超过物理RAM的50%,以确保有足够的物理RAM用于内核文件系统缓存。
        5. 不要设置Xmx为JVM用于压缩对象指针(压缩oops)的截止值之上; 确切的截止值变化但接近32 GB。
        6. 以下是如何通过jvm.options文件设置堆大小的示例:
        7. -Xms2g
        8. -Xmx2g

      • 可以启动了
        1. #后台启动
        2. bin/elasticsearch -d

        设置es集群密码

        • 准备工作
          • 确保集群已正常工作,设置密码其实是通过调用http接口完成的
          • 确保命令行可以正确地读取elasticsearch的配置,建议使用运行状态下集群bin目录下的命令执行
          1. bin/elasticsearch-setup-passwords auto | interactive生成密码
          2. auto是自动为保留的每个用户
          3. (apm,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user,elastic),自动生成密码并输出
          4. interactive是手动为每个用户设置密码
          5. 一般来讲都是手动
        • 测试验证集群密码设置是否成功
    curl -XGET --user elastic:test111 http://localhost:9200/_cat/indices?v

  • 相关阅读:
    System Design现代系统设计概论
    ESP8266-Arduino编程实例-GP2Y1010AU0F灰尘传感器驱动
    状态管理艺术——借助Spring StateMachine驭服复杂应用逻辑
    使用Python进行钻石价格分析
    安全-js的apply方法
    SEBlock | ECABlock | CBAM
    导入fetch_california_housing 加州房价数据集报错解决(HTTPError: HTTP Error 403: Forbidden)
    技术学习:Python(16)|lxml模块和Xpath(爬虫篇)
    C++STL常用算法合集(上)
    2023年亚太杯数学建模思路 - 案例:感知机原理剖析及实现
  • 原文地址:https://blog.csdn.net/h952520296/article/details/127690257