* 간단하게 정리한 내용 입니다!
#1. 엘라스틱 설치 ────────
1. 엘라스틱 서치 윈도우 버전(zip)을 받습니다.
2. 압축을 풉니다.
3. 압축을 푼 디렉토레에서 bin 디렉토리를 찾은 뒤에 elasticsearch.bat를 실행 합니다.
* 외부접속을 허용 하려면 config 디렉토레에서 elasticsearch.yml 파일에 아래와 같이 내용을 추가 합니다.
cluster.name: 원하는클러스터이름
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
#2. 몽고 DB설치 ────────
4. 몽고DB 윈도우 버전을 받습니다.
5. 압축을 풉니다.
6. bin 디렉토리로 이동하여 리플리카셋(replica set) 설정을 합니다. 몬스태쉬(Monstache)는 리플리카셋에서만 동작하도록 되어 있습니다.
* 2개의 프로세스가 동작 해야 하므로 일반 커맨드 콘솔(CMD)은 2개를 실행하여 명령어를 각각 입력 하도록 합니다.
* 명령어 실행 환경 : 일반 커맨드 콘솔(CMD) 2개에서 각각 입력
#마스터 포트는 27017 입니다.
mongod.exe --bind_ip=0.0.0.0 --dbpath=저장경로1 --replSet rs0 --port 27017
#슬레이브 포트는 27018 입니다.
mongod.exe --bind_ip=0.0.0.0 --dbpath=저장경로2 --replSet rs0 --port 27018
mongod.exe파일은 다운받은 몽고DB 윈도우버전 파일을 압축을 풀면 bin 디렉토리에 존재 합니다.
위 명령어에서 유의해야 되는 점은 저장경로는 서로 달라야 하며 반드시 존재해야 된다는 점 입니다.
* bind_ip를 0.0.0.0으로 하는 경우 외부접속이 가능합니다.(내부로 하려면 127.0.0.1)
7. bin 디렉토리에서 마스터 역할을 할 포트번호와 함께 몽고 클라이언트(CLI)를 실행 합니다.
* 명령어 실행 환경 : 몽고 클라이언트(CLI)
mongo.exe --port 27017
8. 몽고 클라이언트(CLI, 검은색 콘솔창)가 실행되면 아래 명령어를 입력합니다.
* 명령어 실행 환경 : 몽고 클라이언트(CLI)
rsconf = { _id : "rs0", members : [ {_id:0, host:"127.0.0.1:27017", priority:2}, {_id:1, host:"127.0.0.1:27018", priority:1} ] };
members의 내용을 보면 고유 아이디(_id)와 함께 priority를 부여한 것을 볼 수 있습니다.
해당 아이디(_id) 값은 mongo.exe 파일을 실행 할 때 --replSet 옵션에 부여한 이름과 같은점에 유의 하여야 합니다.
마스터로 쓸 몽고DB는 포트가 27017입니다.
가장 높은순위로 부여하려면 27018보다 priority 값을 높게 주면 됩니다.
*** 레플리카 멤버 호스트 변경 방법 ***
// 레플리카셋 설정정보 받아오기
cfg = rs.conf()
// 설정변경
cfg.members[0].host = "호스트명:새 포트번호"
// ... 레플리카셋 멤버수만큼 전부 수정
// reconfig 실행. 붕뜬 상태이므로 force 옵션을 줘야 함.
> rs.reconfig(cfg, {force: true})
9. 설정된 내용을 이제 각 DB에 적용 하도록 합니다.
* 명령어 실행 환경 : 몽고 클라이언트(CLI)
rs.initiate(rsconf);
10. 30초 정도 지난 후에 아래 명령어를 입력 합니다.
* 명령어 실행 환경 : 몽고 클라이언트(CLI)
rs.status();
#3. 몬스테쉬(Monstache)설치 ────────
11. 몬스테쉬 윈도우 버전을 받습니다.
12. 압축을 풉니다.
13. config.toml 파일을 만들어 줍니다.
14. 아래 내용을 채워 줍니다.
mongo-url = "mongodb://127.0.0.1:27017/대상DB"
elasticsearch-urls = ["http://127.0.0.1:9200"]
elasticsearch-max-conns = 4
elasticsearch-max-seconds = 5
elasticsearch-max-bytes = 8000000
dropped-collections = false
dropped-databases = false
namespace-regex = "^대상DB" #포함 할 패턴
#namespace-exclude-regex = '^대상DB.포함하지않을컬렉션패턴*'
direct-read-dynamic-exclude-regex = '^대상DB.포함하지않을컬렉션패턴*'
direct-read-namespaces = ["대상DB.컬렉션"]
[logs]
info = "로그위치/info.log"
trace = "로그위치/trace.log"
error = "로그위치/error.log"
warn = "로그위치/warn.log"
15. 압축을 푼 몬스테쉬 디렉토리에서 monstache.exe 파일이 있는 곳 까지 이동한 후에 아래 명령어를 입력하여 줍니다.
* 명령어 실행 환경 : 일반 커맨드 콘솔(CMD)
monstache.exe -f 파일이 있는곳/config.toml
간단하게 알아본 윈도우 엘라스틱서치 + 몽고DB 연동 방법 이였습니다.
궁금한점이나 틀린부분은 언제든 연락주세요!
'엘라스틱서치(Elasticsearch)' 카테고리의 다른 글
엘라스틱서치 and or절 생성시 유의사항(Elasticsearch should minimum_should_match ) (8) | 2021.07.01 |
---|---|
엘라스틱서치 노리 한글검색(Elasticsearch nori) 방법 (0) | 2021.06.22 |
윈도우 엘라스틱서치 + 노리설치(window elasticsearch nori) (0) | 2021.06.08 |
윈도우 엘라스틱서치 + MSSQL 연동(window elasticsearch mssql logstash) (5) | 2021.05.28 |
엘라스틱 서치 기초 질의문 정리(Elasticsearch query) (0) | 2021.03.09 |
댓글