본문 바로가기

분류 전체보기

(461)
CRUD - 입력, 조회, 수정, 삭제 Elasticsearch 커맨드 소개 단일 데이터는 document 이며 인덱스 document의 논리적인 집합을 말합니다. Elasticsearch에서는 단일 도큐먼트별로 고유한 URL을 갖습니다. 도큐먼트에 접근하는 URL은 아래와 같습니다. http://://_doc/ 6.x 이전버전 참고 http://:/// 인덱스 생성 및 데이터 저장 (PUT) 데이터를 저장하는 경우 인덱스가 존재하지 않는다면, 인덱스가 먼저 생성이 된 후 데이터가 저장됩니다. PUT을 이용해 데이터를 저장하는 방법은 두가지가 있습니다. 1. 덮어쓰기 2. 덮어쓰기 방지 각각의 방법을 살펴보겠습니다. 덮어쓰기 (_doc) 기존 데이터가 존재한다면 덮어쓰는 방법입니다. _doc 이라는 명령어를 이용하여 데이터를 저장하는데 1번 ..
인덱스와 샤드 Elasticsearch 용어 정리 엘라스틱 서치에 들어가는 낱개의 데이터 -> 도큐먼트 도큐먼트의 논리적인 집합 -> 인덱스 (RDBMS 테이블) 인덱스는 하나의 저장되지 않고 샤드라는 개념으로 쪼개서 저장이 됨 -> 여러개의 노드에 흩어져서 저장이 됨 RDBMS Elasticsearch 테이블 인덱스 파티션 샤드 (Shard) 행(Row). 레코드 도큐먼트 (Document) 열 필드 (Field) 스키마 (Schema) 매핑 (Mapping) SQL Query DSL 프라이머리 샤드(Primary Shard)와 복제본(Replica) 인덱스를 생성할 때 별도의 설정을 하지 않으면 7.0 버전부터는 디폴트로 1개의 인덱스는 1개의 샤드로 구성 6.x 이하 버전에서는 5개로 구성 클러스터에 노드를 추가..
pm2를 이용한 데몬 실행 Elasticsearch background 실행 Elasticsearch를 실행할 때 추가적으로 -d, -p 옵션을 사용할 수 있다. -d: Elasticsearch를 백그라운드 데몬으로 실행합니다. -p : Elasticsearch 프로세스 ID를 지정한 파일에 저장합니다. 실행이 종료되면 저장된 파일은 자동으로 삭제됩니다. echo 'bin/elasticsearch -d -p es.pid' > start.sh echo 'kill `cat es.pid`' > stop.sh chmod 755 start.sh stop.sh Kibana background 실행 kibana process는 node로 찾아야 한다. ps -ef | grep node nvm 설치 node 버전 설치 kibana 폴더에 있는 ..
Kibana 아래와 같은 서버 구성을 진행할 것이다. 키바나는 elastic 3번 노드 인스턴스에 같이 올려볼 것이다. client가 elastic1에 접속할 때는 curl command를 통해서 통신 kibana에 접속할 때는 kibana와 elasticsearch와 rest api를 통신 우리는 kibana 브라우저에 접속하고 5601 포트를 사용 5601 방화벽도 열어줘야함 노드 상태 확인 // local curl "http://elastic-1:9200/_cat/nodes?v" -u elastic // 패스워드 입력 kibana.yaml 파일에서 중요한 설정을 살펴보자 // /etc/hosts에 mapping 시켜놓았기 때문에 아래와 같이 사용 가능 server.host: "elastic-3" server.n..
elasticsearch - TLS 적용 보안 기능을 활성화 하자 elasticsearch.yaml 파일 설정 추가 xpack.security.enabled: true 노드간의 통신 보안 https://www.elastic.co/guide/en/elasticsearch/reference/7.11/encrypting-internode.html 공개키 생성 ./bin/elasticsearch-certutil ca // 공개키 패스워드 설정하라는 창이 뜸, 비밀번호를 입력한다 votmdnjem Certification 생성 elasticsearch는 certification 만들 수 있는 certutil을 제공 https://www.elastic.co/guide/en/elasticsearch/reference/7.11/encrypting-commun..
elasticsearch 기본 설정 및 cluster 구성 1. Elasticsearch 실행 상태 확인 아래 명령어를 통해서 elasticsearch가 돌아가고 있는 것을 확인할 수 있습니다. curl localhost:9200 만약에 curl: (7) Failed connect to localhost:9200; Connection refused 와 같은 에러가 발생한다면 elasticsearch.yml 파일을 통해 network 설정을 확인해보면 됩니다. // less -S ./elasticsearch-7.9.1/config/elasticsearch.yml // 만약 운영하고 있는 서버라면 내부 ip만을 통해 접근할 수 있도록 설정해 놓았을 수도 있을겁니다. // 아래와 같이 특정 ip만 접근 가능하도록 설정할 수도 있습니다. network.host: 10...
Kafka zookeeper -> kafka 실행 # kafka-topics --bootstrap-server 192.168.56.101:9092 # topic 생성 kafka-topics --bootstrap-server localhost:9092 --create --topic test_topic_01 # 9092 브로커에 생성 되어있는 topic들을 확인할 수 있다. kafka-topics --bootstrap-server localhost:9092 --list # partition 3개를 가지는 topic을 만든다. kafka-topics --bootstrap-server localhost:9092 --create --topic test_topic_02 --partitions 3 # topic의 정보를 살펴봄..
완벽히 이해하는 동기/비동기 & 블로킹/논블로킹 https://inpa.tistory.com/entry/%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB-%EB%8F%99%EA%B8%B0%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%B8%94%EB%A1%9C%ED%82%B9%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC 동기/비동기 & 블로킹/논블록킹 프로그래밍에서 웹 서버 혹은 입출력(I/O)을 다루다 보면 동기/비동기 & 블로킹/논블로킹 이러한 용어들을 접해본 경험이 한번 쯤은 있을 것이다. 대부분 사람들은 용어들이 나타내고자 하는 행위에 대해선 멀티 태스킹과 밀접한 관련이 있다는 것을 알고 있다. 그래서 두 개념을 비슷한 것으로 오해하는 사..