Elasticsearch情况搭建|ES单机|ES单节点模式启动|ES集群搭建|ES集群情况搭 ...

嚴華  金牌会员 | 2024-8-23 09:11:48 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 548|帖子 548|积分 1644

版本选择

在[ElasticSearch]分析京东商城商品搜刮实现|聚合|全文查找|搜刮引擎|ES Java High Level Rest Client|ES Java API Client这篇文章里进行了阐明,使用的7.17.3版本,不再赘述。


  • Elasticsearch 7.17.3下载地点
  • Kibana 7.17.3下载地点
  • 情况CentOS 7.6.1
单机ES安装与配置

创建非root用户

ES不允许root用户运行,使用root用户为其创建一个用户es,为用户es配置暗码,并切换到es用户。
  1. adduser es
  2. passwd es
  3. su es
复制代码
导入安装包

将下载好的Elasticsearch,Kibana导入到es用户home目次
  1. [es@polaris ~]$ cd ~
  2. [es@polaris ~]$ pwd
  3. /home/es
  4. [es@polaris ~]$ ls        
  5. kibana-7.17.3-linux-x86_64.tar.gz              
  6. elasticsearch-7.17.3-linux-x86_64.tar.gz   
复制代码
安装包解压

  1. tar -zxvf elasticsearch-7.17.3-linux-x86_64.tar.gz
  2. tar -zxvf kibana-7.17.3-linux-x86_64.tar.gz
复制代码
配置JDK情况变量

当前还在用户home目次下,
添加两行(ES7.x及以后版本内置了jdk)
  1. export ES_JAVA_HOME=/home/es/elasticsearch-7.17.3/jdk
  2. export ES_HOME=/home/es/elasticsearch-7.17.3
复制代码
  1. [es@polaris ~]$ vim .bash_profile # .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specific environment and startup programsexport ES_JAVA_HOME=/home/es/elasticsearch-7.17.3/jdk
  2. export ES_HOME=/home/es/elasticsearch-7.17.3
  3. PATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH
复制代码
实行以下命令,使之生效。(之后使用es用户开启一个终端会话(参考:ES情况变量设置的题目,分析用户级情况变量设置与读取,报错分析与办理⚠️ usage of JAVA_HOME is deprecated, use ES_JAVA_HOME),该情况变量配置就会是生效的)
  1. source .bash_profile
复制代码
配置single-node

切换到es目次
  1. cd elasticsearch-7.17.3/
复制代码
  1. # 0. 备份一下原配置文件
  2. cp config/elasticsearch.yml config/elasticsearch.yml.origin
  3. # 修改配置
  4. vim config/elasticsearch.yml
  5. # 1. 开启远程访问,监听所有网卡,可以在虚拟机外部如win主机上访问  
  6. network.host: 0.0.0.0
  7. # 2. 单节点模式
  8. discovery.type: single-node
复制代码
配置JVM参数

   官方建议:将 Xms 和 Xmx 设置为不凌驾总内存的 50%。 Elasticsearch 需要内存用于 JVM堆以外的用途。比方,Elasticsearch 使用堆外缓冲区来实现高效的网络通信,并依赖操纵体系的文件体系缓存来高效地访问文件。 JVM本身也需要一些内存。Elasticsearch 使用的内存多于 Xmx 设置配置的限制是正常的。
    呆板情况:CPU 4核8线程,内存16GB,打算搭三节点集群演示,主机上还会运行一些东西,因此为每个假造机分配了2GB的内存,处理器数目2个,单个处理器内核数目设置为了2个,处理器内核总数为4
  假造机内存2GB,堆内存设置不凌驾50%,这里设置1GB
  1. # 0. 备份一下原配置文件
  2. cp config/jvm.options config/jvm.options.origin
  3. # 修改堆内存
  4. vim config/jvm.option
  5. -Xms1g
  6. -Xmx1g
复制代码
背景启动|启动日记查看

背景启动可以包管启动成功后,当前会话断开,es照旧在运行,不会随着终端会话关闭而停止。
  1. bin/elasticsearch -d
复制代码
假如启动有题目可以查看es启动日记
  1. tail -f logs/elasticsearch.log
复制代码
启动成功,访问

终端访问


浏览器访问

   假如浏览器访问不通,那么可以关闭防火墙简化操纵,
云服务器的话可以通过配置安全组规则,进行端口映射,开放端口(参考:添加安全组规则)
  

如许单节点的es就可以正常工作,之后通过修改配置把他到场到集群。
Kibana安装

Kibana是官方提供的ES一个客户端毗连工具。
只在一台假造机上安装即可(大概win主机上安装一个都行),注意修改配置,使之能够访问到es(单机或集群),以及可以对外提供服务(Kibana对外能够被访问)。
这里是在假造机上安装。
修改配置

  1. cd ~/kibana-7.17.3-linux-x86_64/
  2. #备份一个源文件
  3. cp config/kibana.yml config/kibana.yml.origin
  4. #修改配置
  5. vim config/kibana.yml
  6. #指定Kibana服务器监听的端口号
  7. server.port: 5601   
  8. #开启远程访问,监听所有网卡,可以在虚拟机外部如win主机上访问  
  9. server.host: "0.0.0.0"   
  10. #指定Kibana连接到的ES实例的访问地址,
  11. #如果访问本地的ES(Kibana与ES安装在同一台服务器上)就是localhost,访问其他的换成ip
  12. #集群的话就配上所有的节点elasticsearch.hosts: ["http://192.168.43.69:9200", "http://192.168.43.133:9200", "http://192.168.43.225:9200"]
  13. elasticsearch.hosts: ["http://localhost:9200"]  
  14. #将 Kibana 的界面语言设置为简体中文。默认en
  15. i18n.locale: "zh-CN"  
复制代码
背景启动|启动日记查看

背景启动可以包管启动成功后,当前会话断开,kibana照旧在运行,不会随着终端会话关闭而停止。
  1. nohup bin/kibana &
  2. amp;
复制代码
假如启动有题目可以查看Kibana启动日记
  1. tail -f nohup.out
复制代码
浏览器访问

win主机浏览器访问呆板ip+“:”+port(5601),
  1. http://192.168.43.69:5601/
复制代码
到此,Elasticsearch情况及客户端Kibana就安装配置完成。

这里查看到的节点ip是192.168.25.74而不是我们访问的呆板ip 192.168.43.69,是有题目标(正常情况是不会有这个题目标)。这个题目标缘故原由参考:[ES] ElasticSearch节点到场集群失败履历分析主节点选举、ES网络配置 [publish_address不是当前呆板ip]
下面阐明ES集群搭建方法。
ES三节点集群搭建

   可以把刚才的假造机克隆出额外的两个,也可以在额外的两个假造机上重复上面es的安装过程(Kibana不需要再装了,它只是个es毗连工具,装一个就行了)
  停止es服务

  1. #查看es进程
  2. ps -ef|grep elasticsearch
  3. #停止es运行
  4. kill pid #pid是上面命令查出来的进程号
复制代码
域名配置

三台呆板都切换root用户,配置呆板ip与域名对应关系,用于在服务发现时,集群内的各节点通过这个域名彼此可以找到彼此。
  1. su
  2. vim /etc/hosts
  3. 192.168.43.69 es-node1
  4. 192.168.43.133 es-node2
  5. 192.168.43.225 es-node3
复制代码
之后再切换回es用户
  1. su es
复制代码
配置修改

注释掉单节点
  1. #注释掉单节点
  2. #discovery.type: single-node
复制代码
集群配置

   注意:数据目越日记目次单独指定,要和之前单机启动区别开
  配置阐明



  • cluster.name:集群名称,指定一个(避免因未指定,启动一个es就会到场到集群中),配置好其他属性,然后集群同名才可到场到这个集群中。
  • node.name:节点名字,集群内唯一
  • node.master:是否有资格为master节点,默认为true,体现这个节点有资格成为主节点(master node)。主节点紧张负责集群级别的操纵,如创建或删除索引、跟踪集群中哪些节点是活动的等。
  • node.data:是否为data数据节点,默认为true,体现这个节点也是一个数据节点(data node),它会存储索引数据并处理搜刮请求。
  • http.cors.enabled: true:允许跨源资源共享(CORS)。当你想从另一个域的网页或应用访问这个Elasticsearch节点时,CORS允许如许的请求
  • http.cors.allow-origin: “*” : 允许来自任何域的CORS请求。但出于安全思量,通常不建议在生产情况中使用*,而是指定特定的域名。
  • path.data:定义了Elasticsearch用于存储索引数据的路径。
  • path.logs:定义了Elasticsearch存储其日记文件的路径。
  • network.host: 0.0.0.0:告诉Elasticsearch监听所有可用的网络接口。但在生产情况中,为了安全起见,通常会指定特定的IP地点或范围。
  • discovery.seed_hosts:定义了Elasticsearch在启动时用于发现其他集群成员的初始主机列表。可以通过es-node1、es-node2和es-node3这些主机域名或IP地点来访问其他节点。(上面配置了域名与呆板ip的映射关系,因此可以使用呆板域名)
  • cluster.initial_master_nodes:在Elasticsearch第一次启动时,需要指定哪些节点应该成为主节点(指定node.name指定的节点名字列表)。
配置节点1

  1. vim config/elasticsearch.yml
  2. # node-1
  3. cluster.name: es-cluster
  4. node.name: node-1
  5. node.master: true
  6. node.data: true
  7. http.cors.enabled: true
  8. http.cors.allow-origin: "*"
  9. path.data: /home/es/elasticsearch-7.17.3/data-cluster
  10. path.logs: /home/es/elasticsearch-7.17.3/logs-cluster
  11. network.host: 0.0.0.0
  12. discovery.seed_hosts: ["es-node1","es-node2","es-node3"]
  13. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
复制代码
配置节点2

  1. vim config/elasticsearch.yml
  2. # node-2
  3. cluster.name: es-cluster
  4. node.name: node-2
  5. node.master: true
  6. node.data: true
  7. http.cors.enabled: true
  8. http.cors.allow-origin: "*"
  9. path.data: /home/es/elasticsearch-7.17.3/data-cluster
  10. path.logs: /home/es/elasticsearch-7.17.3/logs-cluster
  11. network.host: 0.0.0.0
  12. discovery.seed_hosts: ["es-node1","es-node2","es-node3"]
  13. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
复制代码
配置节点3

  1. vim config/elasticsearch.yml
  2. # node-3
  3. cluster.name: es-cluster
  4. node.name: node-3
  5. node.master: true
  6. node.data: true
  7. http.cors.enabled: true
  8. http.cors.allow-origin: "*"
  9. path.data: /home/es/elasticsearch-7.17.3/data-cluster
  10. path.logs: /home/es/elasticsearch-7.17.3/logs-cluster
  11. network.host: 0.0.0.0
  12. discovery.seed_hosts: ["es-node1","es-node2","es-node3"]
  13. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
复制代码
分别启动

  1. bin/elasticsearch -d
复制代码
验证集群搭建成功


Kibana配置修改

集群搭建成功,更改kibana的配置中的ES instances地点
  1. elasticsearch.hosts: ["http://192.168.43.6:9200", "http://192.168.43.133:9200", "http://192.168.43.225:9200"]
复制代码
重启Kibana

查看历程

  1. netstat -tunlp|grep 5601
复制代码
  1. [es@polaris kibana-7.17.3-linux-x86_64]$ netstat -tunlp|grep 5601
  2. (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      7379/bin/../node/bi
复制代码
停止Kibana服务

  1. kill 7379
复制代码
启动Kibana

  1. nohup bin/kibana &
  2. amp;
复制代码
验证


ES开启认证

参考:Elasticsearch开启认证|为ES设置账号暗码|ES账号暗码设置|ES单机开启认证|ES集群开启认证

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

嚴華

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表