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

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

部署流程

修改/etc/sysctl.conf

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

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

追加

*          soft    nproc  65536   #限制单个进程最大文件句柄数(到达此限制时系统报警) 
*          hard    nproc  65536   #限制单个进程最大文件句柄数(到达此限制时系统报错) 
*          soft    nofile 65536   #限制单个进程最大文件句柄数(到达此限制时系统报警),对应就是soft(软)    
*          hard    nofile 65536   #限制单个进程最大文件句柄数(到达此限制时系统报错) ,对应就是soft(硬)    


* 表示该配置对所有用户均有效,root用户要特别加两行,安全考虑的话可以把前面的*换成具体用户

修改 /etc/security/limits.conf

追加

* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited  #允许锁定内存量为不限制
* hard memlock unlimited  

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

sysctl -p

 解压缩es安装包

创建配置文件目录

mkdir /data/esdata
mkdir /data/eslog

 复制配置文件elasticsearch.yaml

添加用户

useradd es

修改权限

chown -R es:es  elastic7.15.5  esdata eslog

 修改elasticsearch.yaml的配置

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

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

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

      设置es集群密码

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

你可能感兴趣的:(devops,elasticsearch,elasticsearch,大数据,搜索引擎)