|
|
게시됨 2018. 12. 11. 오후 4:45:13
|
|
|
|

ElasticSearch 소개
ElasticSearch란 무엇인가요:
- ElasticSearch는 Apache Lucene 기반 오픈소스 검색 엔진입니다
- 자바로 작성되었으며, 간단하고 사용하기 쉬운 RESTFul API를 제공합니다
- 페타바이트 단위의 구조화 또는 비구조화 데이터 처리를 지원하기 위한 쉬운 확장
적용 시나리오:
- 대규모 데이터 분석 엔진
- 사이트 내 검색 엔진
- 데이터 웨어하우스로서
문서 주소:하이퍼링크 로그인이 보입니다.
배포 환경:
CentOS 7 x64비트, Elasticsearch 버전 6.5.2, JDK 1.8.0.191
1: JDK 1.8.0 설치
ElasticSearch는 JRE 버전에 민감하며, 잘못된 버전은 ElasticSearch가 작동하지 않게 만듭니다.
2: ElasticSearch 6.5.2 다운로드 및 실행
주소 페이지를 다운로드하세요:하이퍼링크 로그인이 보입니다.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64비트 서버 VM 경고: 프로세서 수가 하나에서 증가할 것으로 예상된다면, -XX를 사용하여 병렬 GC 스레드 수를 적절히 설정해야 합니다: ParallelGCThreads=N [2018-12-11T15:24:27,847] [경고음] [o.e.b.ElasticsearchUncaughtExceptionHandler] [알 수 없음] 스레드 내 uncaught 예외 [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] 원인: java.lang.RuntimeException: elasticsearch를 루트로 실행할 수 없습니다 at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... 6개 더
Elasticsearch는 슈퍼유저 루트를 사용할 수 없어야 해서 계정을 쉽게 만들 수 있고, 저는 사용자를 es로 사용해야 합니다
오류가 없으면 정상적으로 실행됩니다
새 터미널을 열고 컬로 접근하세요
서버 포트(9200)가 켜져 있는지 확인하는 경우, elasticsearch가 시작됩니다 (ps -ef | grep elasticsearch)는 브라우저에서 접근할 수 있습니다
[root@VM_0_9_centos 지역]# 컬 'http://localhost:9200/?pretty''
{ "이름" : "iUSRV4T", "cluster_name" : "탄성 탐색", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "버전" : { "번호" : "6.5.2", "build_flavor" : "기본값", "build_type" : "타르", "build_hash" : "9434베드", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : 거짓, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "태그라인" : "알다시피, 검색을 위해"
}
3: 인터넷을 통한 Elasticsearch 접근
elasticsearch 구성 파일을 편집하세요
network.host: a line을 찾아서 # 기호를 제거한 뒤, 다음과 같이 변경합니다:
(network.host: [_local_, 172.30.6.1] 172.30.6.1은 지정된 IP 주소로, 여러 IP 주소가 될 수 있습니다. 검사 안 됨)
Elasticsearch를 재시작하면 인터넷의 http://ip:9200 인터페이스에 접근할 수 있습니다.
가능한 오류:
첫 번째 실수
최대 가상 메모리 영역 vm.max_맵_count [65530]가 너무 낮으니 최소 [262144]까지 늘려주세요. max_map_count의 값은 프로세스가 사용할 수 있는 최대 메모리 맵 영역을 의미하며, malloc을 호출할 때 사용되며 mmap/mprotect에 의해 생성됩니다.
우회 방법: vm.max_map_count 크기를 늘리기:
두 번째 실수
elasticsearch 프로세스의 최대 파일 디스크립터 [4096]이 너무 낮으니 최소 [65536]로 늘려야 합니다. 용액
수정 후 다시 ES 사용자에게 로그인하여 다음 명령어를 사용하여 수정 성공 여부를 확인하세요
실수 3
Java HotSpot(TM) 64비트 서버 VM 경고: INFO: os:commit_memory(0x0000000085330000, 2060255232, 0) 실패; error='메모리 할당 불가' (errno=12) 용액
에알리가 말했다가능한 문제점
시스템 호출 필터가 설치되지 않았고; 로그를 확인하고 설정을 수정하거나 시스템 호출 필터를 비활성화하는 것은 본인 책임 하에 하세요 해결책: elasticsearch 구성에 다음 명령을 추가합니다
|
이전의:SEO 핵심 기법 순수 화이트햇 퀵 랭킹 방법다음:카이푸 리: AI의 미래에 관한 40가지 교훈 (최신, 9월 12일)
|