본문 바로가기

분류 전체보기135

[Elasticsearch] 클러스터 구축하기 - 3 앞서 작성한 '클러스터 구축하기 - 1'을 기반으로, 시나리오를 통해 실제 클러스터를 구성할 때 고려해야 할 항목들을 알아보겠습니다. 엘라스틱서치는 클라이언트에 저장되는 로그를 장기간 모아 데이터를 분석/집계하는 분석 엔진으로 사용되거나, 검색에 쓰일 데이터를 저장하여 사용자의 검색 요청에 데이터를 제공하는 형태의 검색 엔진으로 서비스하는 것이 일반적입니다. 시나리오 #1 - 일 100GB 데이터 분석용 클러스터 첫번째 시나리오는 분석 엔진으로 엘라스틱서치 클러스터를 가정하는 시나리오입니다. - 시나리오 #1 : 하루에 100GB 정도의 데이터를 저장하면서 보관 기간이 한 달인 분석 엔진 클러스터 - 인덱스 이름 패턴 : elasticsearch-YYYY.MM.dd - 프라이머리 샤드 기준 하루에 색인되.. 2023. 8. 21.
[Elasticsearch] 클러스터 구축하기 - 2 앞서 작성한 '클러스터 구축하기 - 1'을 기반으로 직접 클러스터를 구축합니다. elasticsearch.yml와 jvm.options파일의 설정은 엘라스틱서치 8.9.1버전을 기준으로 작성하였습니다. 기본 값으로 구성된 elasticsearch.yml을 다중 노드 클러스터로 구성하는 방법에 대해 다루겠습니다. 클러스터 사용하기 단일 노드로 운영 중인 엘라스틱서치를 3대의 마스터 노드와 3대의 데이터 노드로 바꾸는 과정을 예시로 합니다. 먼저 모든 설정이 주석 처리 되어있는 elasticsearch.yml을 수정하지 않고 실행할 경우 단일 노드로 환경설정이 구성됩니다. 이때 클러스터의 이름은 기본값인 elasticsearch로 설정되기 때문에 일단 클러스터의 이름은 elasticsearch로 설정하여 파.. 2023. 8. 20.
[Elasticsearch] 클러스터 구축하기 - 1 클러스터 구축을 위해 엘라스틱서치 환경 설정 파일을 다루는 방법에 대해 알아보겠습니다. elasticsearch.yml와 jvm.options파일의 설정은 엘라스틱서치 8.9.1버전을 기준으로 작성하였습니다. 대부분의 설정이 주석으로 처리되어 있고, 해당 설정에 대한 간략한 설명이 주석으로 제공됩니다. 기본으로 제공되는 설정과 필수적으로 알아야 하는 여러가지 설정을 영역별로 살펴보겠습니다. elasticsearch.yml 설정 파일 elasticsearch.yml 파일은 엘라스틱서치를 구성하기 위해 기본이 되는 환경 설정 파일입니다. 아래 코드는 엘라스틱서치를 처음 설치했을 때의 기본 설정입니다. elasticsearch.yml # ======================== Elasticsearch C.. 2023. 8. 19.
[C++] (우선순위 큐) 큰 숫자만 계속 고르기 큰 숫자만 계속 고르기 n개의 숫자가 주어졌을 때 그 중 가장 큰 숫자를 골라 1씩 빼는 작업을 m번 반복하려고 합니다. 이를 반복한 이후 남아있는 숫자들 중 최댓값을 구하는 프로그램을 작성해보세요. 단, 가장 큰 숫자가 여러 개라면 이 중 아무거나 하나를 골라 진행하면 됩니다. 입출력 예제 입력: 5 4 1 5 4 2 1 출력: 3 처음에 [1, 5, 4, 2, 1] 이 있습니다. 이 중 최대를 골라 1을 빼주면 결과는 [1, 4, 4, 2, 1]이 됩니다. (1회) 이 중 최대를 골라 1을 빼주면 결과는 [1, 3, 4, 2, 1]이 됩니다. (2회) 이 중 최대를 골라 1을 빼주면 결과는 [1, 3, 3, 2, 1]이 됩니다. (3회) 이 중 최대를 골라 1을 빼주면 결과는 [1, 2, 3, 2, .. 2023. 7. 28.
[Elastic] CloudLand 세미나 참석 후기 7월 19일 구글 오피스마당에서 Elastic과 Google Cloud가 함께 진행하는 세미나에 참여했습니다. 분산 로그 통합관리, 이상탐지, 엘라스틱서치 관련 인사이트를 얻고자 했는데, 좋은 세미나가 있어서 바로 참여하게 되었습니다. 이번 세미나는 구글 클라우드와 엘라스틱의 파트너쉽 체결에 따른 통합 솔루션에 대해 관련한 내용으로 준비되었습니다. 관련 내용은 아래 블로그를 참고하시기 바랍니다. Elastic and Google Cloud announce expanded and deeper partnership Elastic is continuing to partner with Google Cloud to develop solutions that bring the power of Elastic searc.. 2023. 7. 20.
[C++] 같은 숫자는 싫어 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 입출력 예 [1,1,3,3,0,1,1] [1,3,0,1] [4,4,4,3,3] [4,3] 주어진 arr.. 2023. 7. 18.
[C++] (queue) 프로세스 프로세스 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다. 2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다. 3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다. 예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다. 현재.. 2023. 7. 18.
[C++] (map) 달리기 경주 달리기 경주 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수를 완성해주세요. 제한사항 5 .. 2023. 7. 15.
C++ String 사용할 때, 시간복잡도 줄이는 법 문자열 s 뒤에 "A"를 10만 번 더하는 경우, 아래 케이스에서 for 연산을 10만 번 반복합니다. 1번 케이스 함수실행시간 : 0.004013s #include #include #include using namespace std; int main() { clock_t start, finish; double duration; string s; int n = 100000; start = clock(); for (int i = 0; i < n;i++) { s += "A"; } finish = clock(); duration = (double)(finish - start) / CLOCKS_PER_SEC; cout 2023. 7. 13.