无法解决这些问题:
[2017-10-16T13:54:23,381][WARN ][o.e.b.BootstrapChecks ] [node-1] max
file descriptors [65000] for elasticsearch process is too low, increase to
at least [65536]
[2017-10-16T13:54:23,382][WARN ][o.e.b.BootstrapChecks ] [node-1] max
number of threads [1024] for user [appadm01] is too low, increase to at
least [2048]
[2017-10-16T13:54:23,382][WARN ][o.e.b.BootstrapChecks ] [node-1] system
call filters failed to install; check the logs and fix your configuration or
disable system call filters at your own risk
我执行了sysctl -w fs.file-max = 65536,但我得到同样的东西。
答案 0 :(得分:2)
尝试一下:(从2-3个不同的来源获得它)
添加$ES_HOME/config/elasticsearch.yml
network.host: 0.0.0.0
http.port: 9200
transport.host: localhost
transport.tcp.port: 9300
如果是本地开发设置,请尽可能使用较少的内存选项:
在$ES_HOME/config/jvm.options
中添加/修改
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms512m
-Xmx512m
答案 1 :(得分:2)
对于那些使用docker运行弹性搜索的用户,可以通过如下所示的docker run
命令设置ulimit。
docker run --ulimit nofile=65536:65536 -p 9200:9200 --name elastic-search docker.elastic.co/elasticsearch/elasticsearch:6.4.2
希望这对码头用户有帮助
答案 2 :(得分:1)
只需创建一个像这样的systemd服务,仔细观察ulimit nofile设置: vi /etc/systemd/system/elasticsearch.service:
[Unit]
Description=Spin ES Service
After=network.target
[Service]
User=<user name>
Group=<group name>
Type=simple
ExecStart=/bin/bash /home/<user>/elasticsearch-6.4.3/bin/elasticsearch
Restart=on-failure
RestartSec=5s
LimitAS=infinity
LimitRSS=infinity
LimitCORE=infinity
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
ExecStart需要在其中加上“ $ bash”,然后是$ ES_HOME / bin / elasticsearch
此外,我为用户设置的是这些:
ulimit -n 65536
/etc/sysctl.conf
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1
其次:
sudo sysctl -p
答案 3 :(得分:0)
您是否阅读过that page?
它说:
在启动Elasticsearch之前以root身份设置ulimit -n 65536,或在/etc/security/limits.conf中将nofile设置为65536。
答案 4 :(得分:0)
只需将/etc/security/limits.conf内容更新为以下内容
checked={props.value}
并删除/etc/security/limits.d/nproc.conf
的内容不要忘记重新登录外壳程序以获取限制。
答案 5 :(得分:0)
在配置声纳仪时,我也遇到了同样的问题,并且能够通过在/etc/systemd/system/sonarqube.service文件中添加 LimitNOFILE = 65536 参数来解决该问题。 >
[Unit]
Description=SonarQube service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/sonarqube/sonarqube-7.9.1/bin/linux-x86-64/sonar.sh start
ExecStop=/opt/sonarqube/sonarqube-7.9.1/bin/linux-x86-64/sonar.sh stop
User=sonarqube
Group=sonarqube
**LimitNOFILE=65536**
Restart=always
[Install]
WantedBy=multi-user.target
答案 6 :(得分:0)
如果您运行SonarQube,本指南将有所帮助: SonarQube Guide
答案 7 :(得分:0)
为我工作。
如果要增加ulimit -n显示的限制,请修改以下文件。
/etc/systemd/user.conf
/etc/systemd/system.conf
在两个文件中都另外添加以下行
DefaultLimitNOFILE=65536
/etc/security/limits.conf中包含以下几行
* soft nofile 65536
* hard nofile 65536
elasticsearch soft nofile 65536
elasticsearch hard nofile 65536
elasticsearch memlock unlimited
答案 8 :(得分:0)
我试过了,对我有用
sudo sysctl -w vm.max_map_count=262144