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
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_nodes
,discovery.seed_hosts
指定master节点,让es节点能正确地加入集群。
这里重复上述 配置 elasticsearch.yml
文件操作就不多累述
设置防火墙 iptables service
yum -y install iptables-services
如果要修改防火墙配置,增加防火墙端口 9200vim /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/elasticsearch/plugins/current/intro.html
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