当前位置:   article > 正文

Elastcisearch集群部署手册

elastci

目录

1.Elasticsearch简介

2.部署基础说明

2.1.部署在非root用户下

2.2.要求JDK版本1.8以上

2.3.服务器防火墙处于关闭状态

2.4.部署组件清单​编辑

2.5.下载地址

2.6.集群机器清单

3.系统环境优化

3.1.设置内核参数

3.2.设置资源参数

3.3.设置进程数

3.4.重启服务器

4.Elasticsearch集群部署

4.1.创建elk用户

4.2.部署jdk服务

4.2.1.上传jdk安装包

4.2.2.解压jdk安装包

4.2.3.添加jdk环境变量

4.2.4.检查jdk环境

4.3.部署Elasticsearch服务

4.3.1.上传ES安装包

4.3.2.解压ES安装包

4.3.3.创建es相关目录

4.3.4.修改elasticsearch配置文件

4.3.5.修改JVM堆大小

4.3.6.屏蔽es默认jdk路径

4.3.7.启动elasticsearch服务

4.3.8.检查ES节点

5.Kibana部署

5.1.Kibana服务部署

5.2.Kibana配置

5.3.Kibana访问es

6.浏览器加载Elasticsearch-Head插件


1.Elasticsearch简介


        Elasticsearch是一个开源的分布式搜索和分析引擎,它构建在Apache Lucene搜索库之上。它被设计用于处理大规模数据集并提供实时搜索和分析功能。Elasticsearch具有高可用性、可扩展性和容错性,能够快速地处理结构化和非结构化数据。它支持全文搜索、实时数据分析和复杂的查询,可用于构建各种应用程序,包括日志分析、实时指标和指标可视化、全文搜索、安全分析等。
        Elasticsearch的底层数据索引采用倒排索引,这是一种将关键词与文档关联起来的数据结构。通过倒排索引,Elasticsearch可以在不需要扫描整个文档的情况下快速地找到包含特定关键词的文档。
        此外,Elasticsearch提供了Restful API,开发人员可以轻松地与其进行交互,并支持各种编程语言的客户端。它以分布式的方式运行,可以将数据分片并分布到多个节点上,以实现水平扩展和负载均衡。
        总的来说,Elasticsearch是一个功能强大的搜索和分析引擎,适用于各种规模和类型的项目,可以高效地处理大规模数据集并提供实时搜索和分析功能。

2.部署基础说明


2.1.部署在非root用户下


注意:/home/elk用户下文件的权限问题


2.2.要求JDK版本1.8以上


2.3.服务器防火墙处于关闭状态


防火墙状态:systemctl status firewalld
关闭防火墙:systemctl stop firewalld
重启防火墙:systemctl start firewalld
禁止防火墙开机启动:systemctl disable firewalld


2.4.部署组件清单


2.5.下载地址

  1. Elasticsearch:  7.8.0
  2. https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz


2.6.集群机器清单

3.系统环境优化


3.1.设置内核参数


目的:确保系统有足够的资源启动ES
路径:vi /etc/sysctl.conf 
配置:#增加以下参数 

  1. vm.max_map_count=655360
  2. fs.file-max=655360
  3. vm.swappiness=0

确保配置生效
sysctl -p
备注:swappiness参数值可设置范围在0到100之间。低参数值    会    让    内核尽量少用交换,更高参数值会使内核更多的去使用交    换空间。


3.2.设置资源参数


目的:修改最大文件打开数量
路径:vi /etc/security/limits.conf 
配置:#增加以下参数 

  1. * soft nofile 65536 
  2. * hard nofile 131072 
  3. * soft nproc 65536 
  4. * hard nproc 131072
  5. * soft memlock unlimited
  6. * hard memlock unlimited

3.3.设置进程数


目的:修改进程数
路径:vi /etc/security/limits.d/20-nproc.conf 
配置:#设置elk用户参数 (本地线程数)
elk soft nproc 65536

3.4.重启服务器


命令:reboot


4.Elasticsearch集群部署


4.1.创建elk用户

  1. 创建elk用户和组
  2. useradd elk #创建用户elk 
  3. groupadd elk #创建组elk 
  4. useradd -d /home/elk elk -g elk #将用户添加到组
  5. 备注:需要将elk用户先假如到/etc/sudoer下。
  6. 切换到root用户下:ll  /etc/sudoers
  7. 赋权:chmod u+w /etc/sudoers
  8. 编辑: vi /etc/sudoers
  9. root    ALL=(ALL)       ALL
  10. elk  ALL=(ALL)       ALL
  11. 截图如下:
  12. 赋权:chmod 440 /etc/sudoers

4.2.部署jdk服务


4.2.1.上传jdk安装包


将jdk1.8.0_201.tar.gz分别上传到ES1、ES2、ES3用户的/home/elk目录下。

4.2.2.解压jdk安装包


命令:tar zxvf  jdk1.8.0_201.tar.gz


4.2.3.添加jdk环境变量


分别修改ES1、ES2、ES3机器上elk用户下jdk的环境变量

  1. 命令:vi /home/elk/.bashrc
  2. 添加如下参数:
  3. export  JAVA_HOME=/home/elk/jdk1.8.0_201
  4. export  JRE_HOME=$JAVA_HOME/jre
  5. export  CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  6. export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  7. 使环境变量生效:source  ~/.bashrc
4.2.4.检查jdk环境


命令:java -version
出现如下提示,则代表安装成功

4.3.部署Elasticsearch服务


4.3.1.上传ES安装包


将elasticsearch-7.8.0-linux-x86_64.tar.gz分别上传到ES1、ES2、ES3    用户的/home/elk目录下

4.3.2.解压ES安装包


命令:tar zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz 


4.3.3.创建es相关目录


在ES1、ES2、ES3用户下分别创建如下目录:
 

  1. mkdir /home/elk/es
  2. mkdir /home/elk/es/data
  3. mkdir /home/elk/es/logs

4.3.4.修改elasticsearch配置文件


分别修改ES1、ES2、ES3机用户下的elasticsearch.yml文件
命令:vi elasticsearch-7.8.0/config/elasticsearch.yml

  1. # 修改ES1-10.62.196.29########
  2. #集群名称
  3. cluster.name: my-es
  4. #节点名称,每个节点的名称不能重复
  5. node.name: node-1 
  6. #ip地址,每个节点的地址不能重复
  7. network.host: 10.62.196.29
  8. #是不是有资格主节点
  9. node.master: true 
  10. node.data: true 
  11. http.port: 9200 
  12. # 数据存储路径  
  13. path.data: /home/elk/es/data
  14. path.logs: /home/elk/es/logs
  15. # head 插件需要这打开这两个配置
  16. http.cors.allow-origin: "*" 
  17. http.cors.enabled: true 
  18. http.max_content_length: 1000mb 
  19. #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举     master
  20. cluster.initial_master_nodes: ["node-1","node-2","node-3"]
  21. #es7.x 之后新增的配置,节点发现
  22. discovery.seed_hosts:     ["10.62.196.29:9300","10.62.196.37:9300","10.62.196.56:9300"
  23. gateway.recover_after_nodes: 2 
  24. #是否开启TCP保活机制。
  25. network.tcp.keep_alive: true 
  26. #是否关闭Nagle算法(减少延迟)
  27. network.tcp.no_delay: true 
  28. #是否启用TCP压缩传输
  29. transport.tcp.compress: true 
  30. #集群内同时启动的数据任务个数,默认是 2
  31. cluster.routing.allocation.cluster_concurrent_rebalance: 16 
  32. #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4
  33. cluster.routing.allocation.node_concurrent_recoveries: 16 
  34. #初始化数据恢复时,并发恢复线程的个数,默认 4
  35. cluster.routing.allocation.node_initial_primaries_recoveries: 16 
  1. #######ES2-10.62.196.37########
  2. #集群名称
  3. cluster.name: my-es
  4. #节点名称,每个节点的名称不能重复
  5. node.name: node-2
  6. #ip地址,每个节点的地址不能重复
  7. network.host: 10.62.196.37
  8. #是不是有资格主节点
  9. node.master: true 
  10. node.data: true 
  11. http.port: 9200 
  12. # head 插件需要这打开这两个配置
  13. http.cors.allow-origin: "*" 
  14. http.cors.enabled: true 
  15. http.max_content_length: 1000mb 
  16. #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举     master
  17. cluster.initial_master_nodes: ["node-1","node-2","node-3"]
  18. #es7.x 之后新增的配置,节点发现
  19. discovery.seed_hosts:     ["10.62.196.29:9300","10.62.196.37:9300","10.62.196.56:9300"
  20. gateway.recover_after_nodes: 2 
  21. network.tcp.keep_alive: true 
  22. network.tcp.no_delay: true 
  23. transport.tcp.compress: true 
  24. #集群内同时启动的数据任务个数,默认是 2
  25. cluster.routing.allocation.cluster_concurrent_rebalance: 16 
  26. #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4
  27. cluster.routing.allocation.node_concurrent_recoveries: 16 
  28. #初始化数据恢复时,并发恢复线程的个数,默认 4
  29. cluster.routing.allocation.node_initial_primaries_recoveries: 16     
  1. #######ES3-10.62.196.56########
  2. #集群名称
  3. cluster.name: my-es
  4. #节点名称,每个节点的名称不能重复
  5. node.name: node-3
  6. #ip地址,每个节点的地址不能重复
  7. network.host: 10.62.196.56
  8. #是不是有资格主节点
  9. node.master: true 
  10. node.data: true 
  11. http.port: 9200 
  12. # head 插件需要这打开这两个配置
  13. http.cors.allow-origin: "*" 
  14. http.cors.enabled: true 
  15. http.max_content_length: 1000mb 
  16. #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举     master
  17. cluster.initial_master_nodes: ["node-1","node-2","node-3"]
  18. #es7.x 之后新增的配置,节点发现
  19. discovery.seed_hosts:              ["10.62.196.29:9300","10.62.196.37:9300","10.62.196.56:9300"
  20. gateway.recover_after_nodes: 2 
  21. network.tcp.keep_alive: true 
  22. network.tcp.no_delay: true 
  23. transport.tcp.compress: true 
  24. #集群内同时启动的数据任务个数,默认是 2
  25. cluster.routing.allocation.cluster_concurrent_rebalance: 16 
  26. #添加或删除节点及负载均衡时并发恢复的线程个数,默认 4
  27. cluster.routing.allocation.node_concurrent_recoveries: 16 
  28. #初始化数据恢复时,并发恢复线程的个数,默认 4
  29. cluster.routing.allocation.node_initial_primaries_recoveries: 16

 

4.3.5.修改JVM堆大小


分别修改ES1、ES2、ES3用户下的jvm.options文件

  1. 路径:/home/elk/elasticsearch-7.8.0/config/
  2. 编辑:vi  jvm.options
  3. -Xms1g   ----修改成 -Xms4g
  4. -Xmx1g   ----修改成 -Xmx4g
4.3.6.屏蔽es默认jdk路径


分别修改ES1、ES2、ES3用户下的elasticsearch-env文件
路径:/home/elk/elasticsearch-7.8.0/bin/
编辑:elasticsearch-env文件,屏蔽红色框中内容。

4.3.7.启动elasticsearch服务


路径:cd  /home/elk/elasticsearch-7.8.0/bin
后台启动:./elasticsearch  -d  (分别启动ES1、ES2、ES3的es)
查看elasticsearch进程: ps -ef | grep elastic

4.3.8.检查ES节点
查看节点运行情况:http://10.62.196.29:9200/_cat/nodes?v

显示如下截图则代表集群启动成功

检查节点健康状态:http://10.62.196.56:9200/_cluster/health?pretty

5.Kibana部署


5.1.Kibana服务部署

  1. Kibana部署参见文档:
  2. 《https://blog.csdn.net/qq_43253382/article/details/134620424?spm=1001.2014.3001.5502


5.2.Kibana配置


路径:/home/elk/kibana-7.8.0-linux-x86_64/config
命令:vi kibana.yml

  1. #修改如下内容
  2. i18n.locale: "zh-CN"
  3. server.port: 5601
  4. server.host: "10.62.196.19"     #kibana本机的地址
  5. elasticsearch.hosts: ["http://10.62.196.29:9200","http://10.62.196.37:9200","http://10.62.196.56:9200"]
  6. kibana.index: ".kibana"


5.3.Kibana访问es


A.检查ES集群节点

B.检查ES集群健康状态


6.浏览器加载Elasticsearch-Head插件


打开Microsoft Edge浏览器,选择“扩展”,搜索“elasticsearch”,如图所示,然后点击“获取”进行初始化,点击如图按钮,进入插件界面,如图所示:

然后点击如图按钮,选择“添加集群”

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/543443
推荐阅读
相关标签
  

闽ICP备14008679号