728x90
엘라스틱서치 실행
$ docker pull elasticsearch:6.4.3
$ docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearchTest elasticsearch:6.4.3 -v /Users/chihwan/Downloads/elastic-book-snapshot-master:/es/book_backup
// 예제 코드 추가
$ docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /Users/chihwan/Downloads/elastic-book-snapshot-master:/usr/share/elasticsearch/data/es/book_backup --name elasticsearchTest docker.elastic.co/elasticsearch/elasticsearch:6.4.3
http://localhost:9200/ 호출
- cluster_name은 엘라스틱서치 클러스터를 구분하는 중요한 속성
- 이름이 같으면 충돌할 수 있으므로 반드시 수정해야 한다.
{
"name" : "d4585ae638e2",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "WWmF3u1ZSBysWjic675zhw",
"version" : {
"number" : "7.17.13",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "2b211dbb8bfdecaf7f5b44d356bdfe54b1050c13",
"build_date" : "2023-08-31T17:33:19.958690787Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
설정 파일 수정
- config/elasticserch.yml 파일에서 수정
- cluster.name: "javacafe-cluster"
- node.name: “javacafe-node1"
- 엘라스틱서치 노드명을 설정
- path.data
- 인덱스 경로를 지정
- 설정하지 않으면 기본적으로 엘라스틱서치 하위의 data 디렉터리에 인덱스가 생성
- 인덱스 경로를 지정
- path.logs
- 노드와 클러스터에서 생성되는 로그를 저장할 경로를 지정
- 기본경로는 /path/to/logs
- 노드와 클러스터에서 생성되는 로그를 저장할 경로를 지정
- path.repo: [
- 엘라스틱서치 인덱스를 백업하기 위한 스냅숏의 경로를 지정
- 예제로 제공되는 스냅숏의 경로를 지정하자
- network.host: 0.0.0.0
- 특정 IP만 엘라스틱서치에 접근하도록 허용할 수 있다.
- 선택적으로 IP를 허용해야하는 경우 [1.1.1.1, 2.2.2.2]와 같이 지정
- 모든 IP를 허용한다면 0.0.0.0
- 127.0.0.1을 설정하면 개발모드에서 프로덕트 모드로 자동으로 변경된다.
- http.port: 9200
- 서버에 접속할수 있는 포트
- 기본값은 9200
- transport.tcp.port
- 엘라스틱서치 클라이언트가 접근할 수 있는 TCP 포트
- 기본값은 9300
- discovery.zen.ping.unicast.hosts
- 노드가 여러개인 경우 유니캐스트로 활성화된 다른 서버를 찾는다.
- 클러스터로 묶인 노드의 IP를 지정하면된다.
- discovery.zen.minimum_master_nodes
- 마스터 노트의 선출 기준이 되는 노드의 수를 지정한다.
- node.master: true
- 마스터 노드로 동작여부를 지정
- node.data: true
- 데이터 노드로 동작여부를 지정
cluster.name: "javacafe-cluster"
node.name: "javacafe-node1"
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.master: true
node.data: true
path.repo: ["/usr/share/elasticsearch/data/es/book_backup/search_example", "/usr/share/elasticsearch/data/es/book_backup/agg_example"]
도커에서 설정파일 변경 방법
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
647bee871ade docker.elastic.co/elasticsearch/elasticsearch:6.4.3 "/usr/local/bin/dock…" 11 seconds ago Up 7 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearchTest
$ docker exec -it 647bee871ade /bin/bash
$ vi config/elasticsearch.yml
vi가 없는 경우
$ apt-get update
$ apt-get install vim
도커 재시작
$ docker container restart 647bee871ade
도커 내부에서 파일 다운로드
curl -O <https://github.com/javacafe-project/elastic-book-snapshot/archive/refs/heads/master.zip>
http://localhost:9200/ 호출
{
"name" : "d4585ae638e2",
"cluster_name" : "javacafe-cluster",
"cluster_uuid" : "WWmF3u1ZSBysWjic675zhw",
"version" : {
"number" : "7.17.13",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "2b211dbb8bfdecaf7f5b44d356bdfe54b1050c13",
"build_date" : "2023-08-31T17:33:19.958690787Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
728x90
'검색엔진 스터디 > 실습 환경 구축' 카테고리의 다른 글
Elasticsearch 8.1.2 실행 (0) | 2023.11.22 |
---|