ElasticSearch 외부 네트워크 액세스

3590 단어 exercise
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
            #
            # There is insufficient memory for the Java Runtime Environment to continue.
            # Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
            # An error report file with more information is saved as:
            # /usr/local/software/temp/elasticsearch-6.2.2/hs_err_pid1912.log

이런 문제에 부딪히는 것은 당신의 메모리 용량이 비교적 작다는 것을 설명하는 것이다.서버를 업그레이드하거나 JVM 크기를 수정하십시오
// ES , config 
cd /usr/local/software/elasticsearch-5.6.8/config
// JVM.options
vi jvm.options
// 。
// 2g, 2g, 512m
-Xms512m
-Xmx512m

이때 다시 시동을 걸면 이 오류가 발견된다
ot@iZ2ze7xpvk1fgm6qtatddmZ bin]# ./elasticsearch
[2019-01-01T21:50:58,913][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.8.jar:5.6.8]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.8.jar:5.6.8]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.8.jar:5.6.8]
	... 6 more

루트 사용자가elasticsearch를 실행할 수 없기 때문에 사용자를 다시 추가해야 합니다
 :useradd -m       passwd  

이 사용자로 es를 시작합니다. 외부 네트워크 접근이 필요할 때, 프로필을 수정해야 합니다.
cd ..
cd config/
vi elasticsearch.yml

#로 주석된 텍스트 파일을 모두 볼 수 있습니다.다른 쪽으로!이것은 당신이 잘못 다운로드한 것이 아닙니다. 이것은 ES의 기본 설정입니다.만약 당신이 외부 네트워크에 접근하도록 설정하려면, 네트워크가 필요합니다.호스트: 127.0.0.1 이 줄의 주석을 지우고 127.0.0.1을 0.0.0.0.0으로 수정하면 다른 것은 상관하지 않고 저장하고 종료합니다.
다시 시동을 걸면 다음 두 가지 오류가 발생할 수 있습니다.
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

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


이 경우 루트 사용자로 전환한 다음 etc 아래의 두 파일을 수정해야 합니다.구체적으로 다음과 같습니다.
su root
vi /etc/security/limits.conf
// 
* soft nofile 65536
* hard nofile 65536
// 
// , root 
vi /etc/sysctl.conf
// 
vm.max_map_count=655360
// , 
sysctl -p


이어서 bin 폴더로 들어가서elasticsearch를 시작합니다
만약 이때 외부 네트워크에 접근할 수 없다는 것을 발견하면 서버의 보안 그룹이 설정되어 있는지 확인해 보세요.내가 안전팀을 설치하지 않아서 3시간 넘게 했는데 T||를 제대로 못했어.
방화벽이 열렸는지 다시 한 번 확인해 보세요. 보통 ECS는 기본적으로 방화벽을 열지 않습니다. 제가 만난 버그는 이것입니다.너희들이 순조롭게 성공하기를 바란다.
 
 
 

좋은 웹페이지 즐겨찾기