Elasticsearch 安装过程中问题小记

1,354 阅读3分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏

Elasticsearch 安装过程中问题小记

可能出现错误 & 应对措施

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

文件句柄不足 由于 当前用户 文件权限不足所致 需要修改系统配置文件 limits.conf: sudo vim /etc/security/limits.conf

添加以下内容:

* soft nofile 65536
* hard nofile 131072

* soft nproc 4096
* hard nproc 4096

ulimit -H -n

max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

线程数不够,继续修改配置文件 20-nproc.conf:sudo vim /etc/security/limits.d/20-nproc.conf

修改内容如下:

* soft nproc 4096

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量,继续修改配置文件 sysctl.conf:sudo vim /etc/sysctl.conf

添加下面内容:

vm.max_map_count=655360

然后执行命令:sysctl -p

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

这是因为你没有按上面 定义好节点配置。

在开发环境中,你可以在同一个主机上起多个es节点,默认配置就可以起es集群。

而生产环境中es节点会部署在不同主机上,auto-bootstrap 不能工作,所以需要配置cluster.initial_master_nodesdiscovery.seed_hosts 指定master节点,让es节点能正确地加入集群。

这里重复上述 配置 elasticsearch.yml 文件操作就不多累述

设置防火墙 iptables service

yum -y install iptables-services

如果要修改防火墙配置,增加防火墙端口 9200 vim /etc/sysconfig/iptables

增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5000 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

最后重启系统使设置生效即可。

Elasticsearch 目录结构

  • bin 脚本文件,包括 elasticsearch、安装插件、运行统计数据等
  • config (elasticsearch.yml) 集群配置文件、user/role based 相关配置
  • JDK java运行环境
  • lib java 类库
  • logs (path.log) 日志文件
  • modules 包含所有es模块
  • plugins 包含所有已安装插件

jvm 配置

jvm 配置 config/jvm.options (7.1下载默认设置是 1 GB)

配置建议:

  • xmx 和 xms 设置成一样
  • xmx 不要超过机器内存 50%
  • 不要超过 30 GB ( es建议 )

es 命令

  • bin/elasticsearch # 访问 localhost:9200

查看 已安装插件

  • bin/elasticsearch-plugin list
  • bin/elasticsearch-plugin remove
  • bin/elasticsearch-plugin install analysis-icu # 安装 插件 除了 bin/elasticsearch-plugin list 也可以 使用 localhost:9200/_cat/plugins

插件机制介绍:www.elastic.co/guide/en/el…

es 提供插件机制完成诸多任务,如数据同步、发现节点、安全恢复功能

在一台机器上面开多个节点

/work/env/elk/elasticsearch-7.8.0/bin/elasticsearch -E node.name=node1 -E cluster.name=geektime -E path.data=node1_data -d
/work/env/elk/elasticsearch-7.8.0/bin/elasticsearch -E node.name=node2 -E cluster.name=geektime -E path.data=node2_data -d
/work/env/elk/elasticsearch-7.8.0/bin/elasticsearch -E node.name=node3 -E cluster.name=geektime -E path.data=node3_data -d