elasticsearch 7.X 部署文档

ELK简要部署文档

文档组件版本

       Elasticsearch-7.2.1

       Kibana-7.2.1

       最新版为7.3.0 以下文档是根据7.3.0书写,7.2.1通用

服务器初步考虑

       开发、测试环境àCpu 8 核 ,内存8G 、硬盘200G à3台

       生产环境(待讨论确定)

部署准备

       如已设置则可无须考虑该部署准备操作,文档中所有涉及到IP PORT的信息,请根据实际情况更换。

       1、创建用户 elk ( Elasticsearch 默认不允许在root用户下启动) ,并指定权限,后续
              操作需使用elk用户进行操作。

       2、修改 /etc/sysctl.conf 在最后一行添加 vm.max_map_count = 262144

              使用sysctl –p 生效 , 使用sysctl -a|grep vm.max_map_count 验证。

       3、修改 /etc/security/limits.conf 在最后一行开始添加
              es(指定elk服务的#{username})        hard    nofile           65536>

es(指定elk服务的#{username})        soft     nofile           65536

JDK设置

       Elasticsearch无须提前做jdk配置了,可使用其自带的openJdk,无须额外配置。

Elasticsearch集群搭建

          解压tar包,到指定目录,这里暂定/app/software/elasticsearch-7.3.0

在Elasticsearch主节点上配置TLS.

  • 进入es文件目录/app/software/elasticsearch-7.2.1
  • 生成证书文件
    1. 文件根目录下执行 bin/elasticsearch-certutil ca
    2. 依次输入回车(文件使用默认名),密码
    3. 之后执行bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    4. 依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)
    5. 执行bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password 并输入第一步输入的密码
    6. 执行bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password 并输入第一步输入的密码
    7. 将生成的elastic-certificates.p12、elastic-stack-ca.p12文件mv到config目录下,并连同elasticsearch.keystore 文件 scp到其他节点的config目录中。
    8. bin/elasticsearch-setup-passwords interactive
  • node配置
    1. 修改config/jvm.options 如下图,修改完成后,scp到其余节点的该目录下覆盖。

[薛1] 

    1. 修改config/elasticsearch.yml 如下图,修改完成后,scp到其余节点的该目录下覆盖,并修改node.name为节点名称,多个节点必须名称不同。

 

    1. 继续修改config/elasticsearch.yml 后半部分,如下图:全部修改完毕后,将文件scp到各个预置节点同目录下覆盖,并修改network.host
      1. network.host 配置本机IP
      2. http.port 配置9200 , 默认为9200,不是单机器多节点的情况不建议修改
      3. discovery.seed_hosts 修改可能要部署的所有节点,端口对应9300通信端口,可以写多个。[薛2] 
      4. cluster.initial_master_nodes 至少需要配置一个节点,只配置Ip即可。可以初始化选举的master节点,此处只关系初始化选举master,待集群有新的可以选举为master的节点加入时,该节点也会加入可选举的列表。
      5. node.master 默认为true.指该节点加入集群可被选举为master节点。集群如有三台,建议3台均配置node.master:true.如果超过三台,则建议至少有三台可选举为mater的节点。(也可所有的都配置node.master:true)
      6. 新增如下配置,粘贴在文件最后,请注意编码问题

http.cors.enabled: true

http.cors.allow-origin: "*"

transport.tcp.compress: true

node.master: true

xpack.security.enabled: true

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path:elastic-certificates.p12

xpack.security.transport.ssl.truststore.path:elastic-certificates.p12

 

 

    1. 执行bin/elasticsearch 前台启动测试,如果启动成功后,可以ctrl+c退出执行bin/elasticsearch -d -p node.pid
      1. node.pid可以查看进程号。
    2. 启动成功后执行bin/elasticsearch-setup-passwords interactive
      1. 该执行命令作用为在该节点设置集群默认用户的密码。
      2. 建议开始可以都设置为elastic之后可以在UI界面上进行密码的修改。
      3. 过程务必记录密码,以防丢失或忘记。
    3. 逐步启动其他节点。
    4. 启动完毕后浏览器或curl http://任意节点IP:9200/_cat/node?v 可以查看集群节点情况,建议浏览器,方便做auth认证。如果显示如下,节点列表则成功部署。

kibana搭建

  • 解压kibana tar 包,并进入目录
  • 修改config/kibana.yml
  • 执行 nohup bin/kibana >/dev/null 2>&1 & echo $! > kibana.pid
    1. 因为kibana的日志较多,故而命令取消了日志的打印,如有需要可自行修改。
    2. 命令会将pid打印到当前目录的kibana.pid的文件内。供后续kill 使用

 


 [1]-Xms -Xmx 请根据机器配置设置,一般申请机器预留系统运行内存,其余内存值写入该处。

比如8G内存机器,2G预留系统运行内存,此处则写6g。

 [2]此处后续新增节点时,可增加也可不增加,es机制为连接到任何一个节点即可获取集群所有节点信息。

 [3]elasticsearch.username kibanaà内部通信用户名elasticsearch.password kibanaà内部通信密码写默认用户elastic 的用户名和密码即可

你可能感兴趣的:(elasticsearch)