本文主要是介绍elasticsearch 7.5集群部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前提条件:
1. 已安装jdk1.8或以上版本;
2. 已下载安装包:elasticsearch-7.5.1-no-jdk-linux-x86_64.tar.gz;
3. 三台服务器:10.1.32.10, 10.1.32.11, 10.1.32.12, root权限。
步骤(以10.1.32.10为例):
1. 修改系统配置。
a) 用户最大可创建文件数,编辑limits.conf配置文件:
vi /etc/security/limits.conf
然后添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
注:* 代表Linux所有用户名称(比如 hadoop)
需要保存、退出、重新登录才可生效。
b) 修改最大虚拟内存。修改配置sysctl.conf:
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
最后记得执行:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
2. 解压文件:tar -zxvf elasticsearch-7.5.1-no-jdk-linux-x86_64.tar.gz -C /opt/elastic/;
3. 修改config/elasticsearch.yml;主要修改内容是:
#配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es
#节点名称,各节点不能重复
node.name: node-1
#设置索引数据的存储路径
path.data: /usr/local/elasticsearch/data
#设置日志的存储路径
path.logs: /usr/local/elasticsearch/logs
#设置当前的ip地址,通过指定相同网段的其他节点会加入该集群中
network.host: 0.0.0.0
#设置对外服务的http端口
http.port: 9200
# Bootstrap the cluster using an initial set of master-eligible nodes:
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
#设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "10.1.32.11:9300", "10.1.32.12:9300"]
4. 修改config/jvm.options;主要修改内容是:
# 根据自己的物理主机情况设置默认为系统一半的内存,不要超过32G
#Xms和Xmx的值应该一致
-Xms1g
-Xmx1g
5. 创建用户并赋予权限;
useradd es;
passwd es;
chown -R es:es /opt/elastic;
6. 使用es用户,启动服务:./bin/elasticsearch
7. 检查结果:浏览器输入http://ip:port,如 http://127.0.0.1:9200,http://127.0.0.1:9200/_cat/nodes?v。
常见问题:
1. 本地可以通过curl –get http://ip:port访问,远程不行。
修改config/elasticsearch.yml文件,
network.host: 0.0.0.0 #外网访问
如果还是不能远程访问,则可能被防火墙阻止。关闭防火墙并禁止开机启动(生产环境不推荐):
# systemctl stop firewalld.service
# systemctl disable firewalld.service
discovery.seed_hosts: ["host1", "host2"]
这篇关于elasticsearch 7.5集群部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!