본문 바로가기

DevOps

(19)
ElasticSearch 기초 문법 사용법 + Postman에서 테스트 하는 방법 :: DANIDANI 기본적으로 ElasticSearch의 사용방법은 RDB과 큰 틀은 유사하다. CRUD RDB ElasticSearch READ SELECT GET UPDATE UPDATE PUT CREATE INSERT POST DELETE DELETE DELETE 1. ElasticSearch 문법 사용법 전체 조회 GET _search { "query": { "match_all": {} } } 특정 Index(ex. test)에 대해서 조회 GET test/_search { "query": { "match_all": {} } } 가장 기본적인 search - 밑에 두 코드 같은 결과 GET story/_search { "query": { "match": { "buse": "1" } } } GET story/_sear..
Logstash로 MySQL과 AWS ElasticSearch 연동 + Kibana 사용 :: DANIDANI 지난 포스팅에서는 AWS ElasticSearch 구축과 기본 세팅을 하였습니다. 2021.04.11 - [DevOps/Elastic Stack] - AWS ElasticSearch 구축 및 기초 세팅 :: DANIDANI 이번에는 MySQL에 있는 데이터를 준실시간으로 Logstash를 사용하여 AWS ElasticSearch와 연동해보겠습니다! 1. Logstash 설치 on linux sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch cd /etc/yum.repos.d sudo vi logstash.repo logstash.repo에 아래 내용 작성(new file) [logstash-7.x] name=Elastic repos..
AWS ElasticSearch 구축 및 기초 세팅 :: DANIDANI 1. ElasticSearch 란? 아파치 루씬 기반의 검색 엔진이다. 자바로 개발되어 있으며 오픈 소스로 활용이 가능하다. 2. ElasticSearch 특징 분산 방식 페타바이트의 데이터 처리가 가능하다. 역색인(inverted index) 방식 키워드를 통해 문서를 찾아내는 방식이다. 아주 빠른 전체 텍스트 검색이 가능하다. 문서에 나타나는 모든 고유한 단어 목록을 만들고, 각 단어가 발생하는 모든 문서를 식별한다. 실시간에 가까운 검색 제공, 빠르다 해쉬테이블 방식이어서 검색시 O(1)의 효과를 낸다 RDB 같은 경우 O(n) 기타 기본 기능 - 리밸런싱 및 라우팅은 자동 수행, 복원력, 인덱스 수명 관리, 데이터 롤업 등 3. ElasticSearch 구조 인덱스(색인) ex. 고객 인덱스, 주..
검색 엔진 원리 / Elastic Search vs Solr Search :: DANIDANI 검색 엔진(search engine) 이란? 웹에 존재하는 많은 양의 정보 중에서 사용자가 원하는 정보만을 여러 웹 사이트나 웹 페이지 등에서 검색해 주는 시스템이나 프로그램 등을 통틀어 말한다. 검색 엔진 원리(로봇 검색 엔진) 1. Crwaling: 정보 찾기 크롤러(또는 스파이더)란 웹상의 문서나 이미지, 영상 등을 주기적으로 검색하고 취합하여, 자동으로 데이터베이스화시키는 프로그램으로 봇(Bot)이라고도 부릅니다. google의 크롤러 이름은 Goolgebot, naver의 크롤러 이름은 Yeti 크롤러가 웹사이트를 옮겨 다니면서 정보를 수집한다. 새로운 웹페이지나 기존의 웹페이지지만 업데이트된 정보가 있으면 방문을 하게 된다. 이때, 공개된 사이트의 정보만 수집하는데 이는 크롤러가 robots...
도커 사용하기(4) - 생성한 이미지 DockerHub에 올리고 실행 :: DANIDANI DockerHub 로그인 dockerhub에서 계정을 생성합니다. docker login 생성한 Image 올리기 docker push 10ekdms01/node-test:1.0 다른 서버에서 image pull 받기 aws ec2를 생성한 후 docker만 설치해 준 서버를 준비합니다. pull을 이용해 image를 가져옵니다. docker pull 10ekdms01/node-test:1.0 pull 받은 image 확인 docker images image 실행 docker run -p 8080:3000 10ekdms01/node-test:1.0 이 서버에는 node, npm, express 등을 설치하지 않았습니다. 단지 이미지만 실행 시켜줬는데 애플리케이션이 정상적으로 작동하는 것을 볼 수 있습니다.
도커 사용하기(3) - Dockerfile로 이미지 직접 만들기(Node.js) :: DANIDANI 다음 예제는 Node.js 기반의 이미지를 dockerfile로 만들어 배포합니다. node와 npm이 설치되어있는 환경을 가정하고 진행합니다. Express로 배포하려는 프로젝트 생성 express 생성을 도와주는 express-generator 설치(에러 시 sudo로 접근) npm install -g express-generator docker-test 라는 이름의 프로젝트 생성(저는 ejs 템플릿 엔진을 사용했지만, 저 옵션은 생략가능합니다,) express docker-test --ejs 생성된 프로젝트에서 npm 실행 cd docker-test npm install npm start dockerfile 생성하기 vi Dockerfile Dockerfile 작성하기 # 베이스 이미지 설정 FRO..
도커 사용하기(2) - Dockerfile 작성 방법 :: DANIDANI Dockerfile 도커는 이미지를 만들기 위해 DSL(domain specific language) 파일을 사용합니다. 도커 파일은 서버 운영 기록을 코드화한 파일입니다. 쉽게 말하면, 실행 명령어들의 집합! 소스들 + dockerfile = docker image FROM FROM ubuntu:16.04 FROM은 어떤 이미지로부터 이미지를 생성할지 지정합니다. (베이스 이미지) Dockerfile에서는 필수 항목입니다. MAINTAINER MAINTAINER daeun 관리하는 사람의 이름 또는 이메일 정보를 적습니다. 생략이 가능합니다. WORKDIR WORKDIR /temp 명령어들이 실행될 기본 디렉터리를 설정합니다. 각 명령어의 현재 디렉터리는 한 줄 한 줄마다 초기화되기 때문에 RUN cd..
도커 사용하기(1)- 설치와 컨테이너 실행 :: DANIDANI 도커 설치 스크립트를 사용해서 설치해도 되고, 패키지를 이용해서 설치해도 됩니다. 다음은 AWS Linux에 yum 패키지를 이용해 설치하는 방법입니다. sudo yum install docker for mac Docker Desktop for Mac - Docker Hub 설치 확인 docker version sudo 없이 사용하는 방법 도커는 기본적으로 root 권한이 필요해서 sudo를 붙여줘야 됩니다. 이건 도커 그룹에 사용자 추가하는 명령어로 앞으로의 명령에서 sudo를 생략해도 됩니다. sudo usermod -aG docker (사용자 이름 ex. ec2-user) 반영이 안 됐을 때는 서버 재시작! docker 서비스 실행 sudo service docker start 부팅 시 자동으로 실..