赞
踩
【前言】ElasticSearch简称es(下文均称为es),是一款由java语言开发的强大且灵活的搜索和分析引擎,本文记录基于es7.17版本的es集群搭建。
本文准备了三台linux服务器,服务器需要互通(可用ping命令检查),下文分别称呼为服务器1、服务器2、服务器3
es官网下载对应系统的安装包,选择自己需要的版本。
以下步骤以服务器1为示例
本文上传路径是/opt/elasticsearch
进入es安装目录解压安装包
- #执行tar命令解压es安装包,如:
- tar -xvzf elasticsearch-7.17.18-linux-x86_64.tar.gz
如图所示解压成功,会生成一个新的解压文件夹
由于es安全要求,es不允许使用root命令启动,因此需要新建用户并授权,命令如下
- #执行useradd命令增加用户,如
- useradd elastic
- #执行passwd命令对新用户设置密码,改名了需要输入两次密码
- passwd elastic
chown -R elastic:elastic /opt/elasticsearch/elasticsearch-7.17.18
使用命令 ll 产看授权是否成功,如图,es解压的目录已授权给elastic用户
进入es解压目录/config目录下
修改elasticsearch.yml文件,在该文件末尾增加以下内容:
- cluster.name: elasticsearch
- node.name: node-1
- node.master: true
- node.data: true
- network.host: 你服务器的ip
- http.port: 9200
- transport.tcp.port: 9300
- discovery.zen.ping.unicast.hosts: ["服务器1的ip","服务器2的ip"]
- cluster.initial_master_nodes: ["node-1","node-2"]
- ingest.geoip.downloader.enabled: false
该步骤非必须,es的内存配置可以在这里修改
请参考自己服务器资源进行配置合适的内存,否则当es启动时服务器容易卡死
在文件末尾增加以下内容
- # 配置 es 用户打开文件最大数(因为es在启动时调用的文件超出普通用户默认打开文件最大数4096,会导致报错)
- # 在文件末尾中增加下面内容
- es soft nofile 65536
- es hard nofile 65536
在文件末尾增加以下内容,文件不存在就新建该文件
-
- # 每个进程可以打开的文件数限制
- es soft nofile 65536
- es hard nofile 65536
- # 操作系统级别对每个用户创建的进程数的限制
- * hard nproc 4096
在末尾加入以下内容
- # 一个进程可以拥有的虚拟内存区域的数量
- vm.max_map_count=655360
然后执行命令重新加载
sysctl -p
服务器2、服务器3均按照上述步骤配置,唯一不同的是上述4.1步骤的配置中,node.name需要不同
- #切换到前面步骤新建的用户
- su elastic
执行./elasticsearch启动es
3、可能遇到的问题
如果启动失败,检查服务器防火墙是否开启以及对应端口是否开放,检查命令及开放命令如下
- #启动服务器防火墙
- systemctl start firewalld.service
-
- #查看服务器开放的端口命令
- firewall-cmd --list-ports
-
- #开放服务器9200和9300端口命令
- firewall-cmd --add-port=9200/tcp
- firewall-cmd --add-port=9300/tcp
启动成功如图所示
浏览器访问ip:9200如下,表示成功
浏览器访问http://ip:9200/_cat/nodes,如下所示则成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。