이 내용은 Step 9 에서 이어진다. Step 9의 마지막 부분에서 과반수의 원칙을 충족하지 못하는 만큼의 Search Header 구성원이 존재할 경우, 캡틴 선출에 실패하는 케이스를 확인했다. 실제 상황에서 이런 경우는 매우 희소한 편이나 이를 대비해 Static Captain을 사용하여 클러스터링을 부활시킬 수 있다. 스플렁크 공식 문서를 참고하였다.
위와 같은 사유로 정적 캡인은 정말 필요한 경우에만 사용한다. 일시적으로 클러스터의 구성원이 부족한 상황에서 클러스터를 부활시키고 싶을때 사용하고 이후에 나머지 검색 헤드가 복귀되면 다시 원복 해주면 된다.
현재 검색헤드는 다음과 같이 4대의 서버로 구성되어있다.
./splunk show shcluster-status -auth munang:PW
./splunk edit shcluster-config -mode Captain -captain_uri <URI>:<management_port> -election false
이후 검색헤드 2번에서 클러스터 정보 확인
확인 시, 2번의 검색헤드가 캡틴이 되었다고 나온다. 남은 1번 검색 헤드에게도 명령어를 사용해 2번 검색 헤드가 캡틴임을 지정해줘야 한다.
검색헤드 1번에서 아래의 명령어를 실행한다. 다른 서버에서 정적 캡틴을 지정하는 명령어이다.
./splunk edit shcluster-config -mode member -captain_uri <URI>:<management_port> -election false
다운되었던 3번과 4번 검색 헤드가 다시 Up 되었다. 이후에 클러스터 정보를 확인 해 보았으나, 3번과 4번이 클러스터 구성원으로 확인되지 않는다.
./splunk edit shcluster-config -mode member -captain_uri <URI>:<management_port> -election false
클러스터 정보를 확인하면 맨 위의 캡틴 정보에 dynamic_captain
이 0으로 설정된 것을 볼 수 있다.
./splunk show shcluster-status -auth munang:PW
4대의 모든 서버에서 아래의 명령어를 실행해준다.
./splunk edit shcluster-config -election true -mgmt_uri <URI>:<management_port>
4대의 서버에서 모두 실행하게 되면, 동적 캡틴 모드로 설정이 된 것이다. 참고로 서버 재시작은 필요가 없다.
처음 클러스터를 생성하고, 캡틴을 지정했을 때 처럼 동일하게 캡틴을 지정해줘야한다.
./splunk bootstrap shcluster-captain -servers_list "<URI>:<management_port>,<URI>:<management_port>,..." -auth <사용자 이름>:<password>
아래의 명령어를 검색 헤드 3번에서 실행하여 3번 서버가 검색헤드가 되도록 하였다.
이렇게 되면 3번 검색헤드가 캡틴으로 지정되고, 동적 캡틴 구성이 다시 활성화 된 모습이 보인다.
끝이다. 다음 과정부터는 인덱서 클러스터링에 대해 공부하겠다.
멋져요👍