我正在尝试使用Flink 5.x Elasticsearch接收器连接器将数据插入到一个小型VM上的ES 5.2.1示例。
由于这是一个处于开发模式的微型VM,我无法让它启动以接受9300上的TransportClient远程客户端连接,而不会导致 Bootstrap 检查失败。
[2017-02-17T09:02:48,581][INFO ][o.e.n.Node ] [Z_fiBnl] starting ...
[2017-02-17T09:02:48,866][INFO ][o.e.t.TransportService ] [Z_fiBnl] publish_address {xxxxxx:9300}, bound_addresses {127.0.0.1:9300}
[2017-02-17T09:02:48,878][INFO ][o.e.b.BootstrapChecks ] [Z_fiBnl] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
max number of threads [1024] for user [xxx] is too low, increase to at least [2048]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
我已经玩了下面的设置,但只是不能让它启动(http客户端9200工作正常)
transport.publish_host: 0.0.0.0
transport.bind_host: 0.0.0.0
http.host: "xxx"
http.host: 169.117.72.167
network.host: 0.0.0.0
network.publish_host: 0.0.0.0
请注意,ES运行在一个很小的虚拟机上,只是为了开发的目的,我没有访问权来改变例如,文件描述符限制在这个框上。
9条答案
按热度按时间3wabscal1#
ElasticSearch进程的最大文件描述符[4096]太低,请至少增加到[65536]
或在
/etc/security/limits.conf
中将nofile
设置为65536
用户[xxx]的最大线程数[1024]过低,请至少增加到[2048]
或者在开始ElasticSearch之前,在
/etc/security/limits.conf
中将nproc
值设置为2048
或更高。最大虚拟内存区域vm.max_map_count [65530]过低,请至少增加到[262144]
在
/etc/sysctl.conf
中设置vm.max_map_count=262144
,然后执行sysctl -p
如果您希望在引导检查失败的情况下仍在开发环境中运行elasticsearch:
在
elasticsearch.yml
中设置以下内容请注意,您无法在开发模式下形成群集。请勿使用在生产中引导检查失败的elasticsearch!!
vwhgwdsa2#
问题是“最大虚拟内存区域vm.max_map_count [65530]过低,请至少增加到[262144]”
vm.max_map_count非常低,增加其计数将解决此问题
1. Linux
检查/etc/sysctl.conf中的vm.max_map_count设置:
输出:虚拟机最大Map计数=262144
如果输出小于262144,按照elasticsearch的预期应用新计数,我们有两个选项来添加永久或临时修复。
将变量添加到/etc/sysctl.conf
或
2.带有Mac版Docker的OSX
必须在xhyve虚拟机中设置vm.max_map_count设置:
以root用户身份登录,不使用密码,然后按照Linux配置sysctl设置:
3.带有Docker工具箱的OSX
必须通过docker-machine设置vm.max_map_count设置:
4. Windows上带有WSL的Docker桌面
必须通过wsl设置vm.max_map_count设置:
qni6mghb3#
尝试这样配置elasticsearch.yml文件:
network.host: 0.0.0.0 http.port: 9200 transport.host: localhost transport.tcp.port: 9300
ubbxdtey4#
我只是补充
transport.host:本地主机
这对我很有效。
7gs2gvoe5#
对于最大文件描述符,ElasticSearch进程的[4096]太低,请至少增加到[65536]
1.检查
ulimit -n
,它应该是4096。1.编辑
/etc/security/limits.conf
并添加以下行:* soft nofile 65536
* hard nofile 65536
root soft nofile 65536
root hard nofile 65536
1.编辑
/etc/pam.d/common-session
并添加此行session required pam_limits.so
1.编辑
/etc/pam.d/common-session-noninteractive
并添加此行session required pam_limits.so
1.重新加载会话并检查
ulimit -n
,应为65536。对于最大虚拟内存区域,vm.max_map_count [65530]太低,请至少增加到[262144]
1.运行以下命令
sudo sh -c "echo 'vm.max_map_count=262144' >> /etc/sysctl.conf"
pw136qt26#
我可以通过使用自ES 5.2发现以来可用的以下设置来完成此操作。类型:单节点(https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html)
使用该设置启动ES节点后,我就可以使用传输客户机从非本地主机客户机进行连接,这在以前是个问题。
vptzau2j7#
以下步骤帮助我们开始使用ES 5.5.2。在Azure上,使用Ubuntu服务器的3个主节点、3个客户端节点和8个数据节点
1.确保“/etc/security/limits.conf”中的以下配置
1.上限-编号65536
1.确保elasticsearch.yml具有以下配置参数
transport.tcp.compress:真
transport.tcp.port:9300
注意我们还必须停止“apparmor”服务以修复节点之间的连接问题。
wnavrhmk8#
首先---〉如果您正在使用Docker映像,请执行以下命令
须藤码头拉docker.elastic.co/elasticsearch/elasticsearch:8.6.1
须藤码头拉docker.elastic.co/kibana/kibana:8.6.1
8.6.1:从Kibana/Kibana撤出
sudo Docker 网络创建弹性
sudo docker检查弹性
sudo docker图像
sudo docker运行-名称es 01-测试-网络弹性-p 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e“发现。类型=单节点”docker.elastic.co/elasticsearch/elasticsearch:8.6.1
***如果您的Docker容器已在使用中,请确保先使用***将其删除
删除容器也将删除该容器中存在的所有数据
如果您的Docker容器正在运行,请确保先将其停止
开始
*对kibana也重复相同的操作
打开另一个终端并重复相同的过程
要下载kibana和elasticsearch docker最新图片,请访问docker hub
如果你正在运行从bin文件夹(.bat文件)和卡住了一些东西,然后评论下来,我会立即给你回复
23c0lvtd9#
一直在谷歌搜索这一点,并应用不同的建议,但我认为这是一般的解决方案:
检查过程运行时的实际限值(尽管时间较短):
您会发现类似于以下内容的行:
然后根据runner或container(在我的例子中,它是supervisord的minfds值),您可以提升实际的限制配置。