반응형

분류 전체보기 190

mariadb(mysql) 이중화 구성

이전에 클러스터 구축에 대한 내용을 정리했는데, 오늘은 이중화 구성을 정리해 보겠습니다. 클러스터로 구성하는게 이중화 구성 보다는 많은 장점이 있다고 생각하지만 쓰임새에 따라 필요한 경우도 있어서 정리를 해봤습니다. 이중화를 구성하는 여러 방법들이 있지만 여기서는 가장 심플한 구성의 이중화를 정리해 보겠습니다. 지금부터 master db를 M, slave db를 S라고 지칭하겠습니다. Replication 절차 mariadb(mysql)은 이중화 과정을 살펴보면 M에 event가 발생하면 M은 S와 복제를 위해 생성해둔 binary log file에 DB업데이트와 동시에 기록을 해둡니다. 그리고 S는 자신이 M의 binary log 몇 번째 위치의 데이터를 마지막으로 가져왔는지 기록했다가 M의 binar..

Nodejs 로 현재 환율 정보 확인 코드 만들기

유료 API 사이트에서 무료 플랜을 이용한 방법과 웹 사이트에서 크롤링하는 두 가지 방법을 정리해 보았습니다. 웹 사이트에서 크롤링 하기 우리은행 사이트 spot.wooribank.com/pot/Dream?withyou=FXXRT0021 에 USD, JPY, EUR 정보가 공유되어 있습니다. 사용자들의 웹 사이트에 무료로 공개할 수 있게 지원해주는 정보인데, 여기서 필요한 정보만 추출해 보았습니다. 저의 주 거래은행은 우리은행입니다. ^^ (환율 변동이 일반적인 상황에서는 크지 않으므로 해당 사이트에 부하를 주지 않기 위해 하루에 한번만 검색해서 저장 후 사용하실 것을 적극 권장드립니다.) 해당 사이트의 html 코드를 가져오기 위해 axios를, DOM Selector로 Cheerio를 사용합니다. h..

AWS SDK(cpp/c#/js) - Kinesis에 데이터 전송하고 Logstash로 받기

이전에 SQS로 데이터를 보내는 방법을 기록해 보았는데, 이번에는 유사한 kinesis로 데이터를 보내는 과정을 살펴보겠습니다. SQS는 Queue 서비스로 Application 통합, 분산 시스템 연계에 적합하며, Kinesis는 로그, 스트림 데이터 등의 실시간 분석, 전송 목적에 적합합니다. Kinesis Data Streams 생성 데이터 스트림 중 Kinesis Data Streams를 선택 후 생성을 합니다. 저는 어플리케이션의 로그를 전송하고 추후 이를 logstash로 가져와 별도 구축된 Elasticsearch에 저장하기 위해 사용하기 때문에 Kinesis Data Streams를 사용합니다. 생성할 스트림 이름은 "test_stream"으로 명명합니다. 데이터 스트림 용량을 설정할 때 ..

윈도우 Logstash 에서 Kinesis 연동하기

일반적으로 linux에서 logstash를 운영하지만 테스트를 위해 windows에서 실행해 봤습니다. AWS 계정 설정 c:\users\사용하는계정\.aws에 config , credentials 파일을 생성합니다. config파일에는 아래와 같이 default resion을 설정합니다. [default] region = ap-northeast-2 credentials 파일에는 kinesis에 접근 가능한 인증정보를 삽입합니다. [default] aws_access_key_id = access_key_id_from_iam_account aws_secret_access_key = access_key_id_from_iam_account kinesis 플러그인 설치 logstash 플러그인 툴로 아래와 같이..

Jenkins 및 Jenkins 콘솔에서 한글 깨짐 현상 수정

윈도우에서 Jenkins 운영할 때 Slack 혹은 email로 결과 전송을 할 때 한글이 깨지는 경우가 발생합니다. 최신 버전에서는 확인된 적이 없지만 혹시 발생한다면 환경변수에 encoding 관련 설정을 추가하면 됩니다. Jenkins에서 빌드 과정 중 bash를 통해 획득한 정보들을 전송할 때 한글이 깨지는 경우가 발생합니다. 예를들어 git의 commit message를 확인하기 위해 shell command를 통해 텍스트를 확인할 때 깨지는 경우가 있는데요. Jenkins 실행 과정에 encoding 설정을 추가해야 합니다. jenkins.xml 파일을 열어 arguments -Dfile.encoding=UTF8 옵션을 추가 후 jenkins를 재실행해야 합니다. 즐거운 하루 보내세요. :)

windows + Jenkins + Bonobo git server+ slack

github나 gitlab 으로 CI/CD를 구축하는건 다들 큰 문제는 없으실 겁니다. 이번에 windows에 jenkins, bonobo git으로 자체 git 서버를 구축해서 사용하여 CI/CD 구축하려니 걸림돌이 여럿 있어 정리해 보았습니다. 더보기 아래 내용은 windows 10 / Jenkins(2.277.1) / Bonobo Git Server (6.5.0) / git (2.31.0) 를 사용해 진행했습니다. 이 글에 포함된 예제의 목표 시나리오는 다음과 같습니다. 1) 개발자가 'master'라고 명명한 브랜치에 push를 하면 최신 코드를 받아 ssh를 통해 서비스 노드로 전송 2) 마지막 commit message를 환경변수에 임시 저장 3) slack의 지정한 채널로 저장한 메세지를 전..

S3에 스냅샷 생성 및 복원

Elasticsearch 7.11.0 On Premise 환경에서 AWS S3 에 스냅샷을 생성하는 내용을 정리해 보았습니다. Cloud 환경에서는 조금 다를 수 있으니 참고하세요. 아래 내용은 www.elastic.co/guide/en/elasticsearch/plugins/7.11/repository-s3.html#repository-s3-install의 내용을 참고해서 정리했습니다. 이해를 돕기 위해 이미지가 많이 첨부된 관계로 서술형 문체보다는 간략히 요점만 정리했습니다. 아래와 같은 순서로 정리되어 있습니다. 1. AWS S3 플러그인 설치 2. AWS S3에 스냅샷 저장소 생성 3. Kibana에 AWS S3 저장소 등록 4. 스냅샷 생성/복구하기 5. 검색 가능한 스냅샷 설정 1. AWS S..

PyCharm 에서 Mecab 설치 및 사용 방법

개발 환경 windows 10(64bit), python 3.8, PyCharm 개요 - 형태소 분석기 종류 - mecab-ko 설치 - 유저 사전 추가 - 샘플 코드 형태소 분석기 종류 텍스트 형태의 자료 분석을 위해 전처리 작업은 필수입니다. 이를 위해 개발된 한글 형태소 분석기도 여럿 있습니다. 꼬꼬마, khaiii, KOMORAN, MeCab 등이 있습니다. MeCab은 원래 일본어 형태소 분석을 위해 만들어진 오픈소스이며, 한글 형태소 분석을 위해 진행된 은전한닢 프로젝트을 위해 MeCab을 fork해 mecab-ko가 만들어집니다. 형태소 분석기 별로 장단점이 있지만 여기서는 eunjeon을 중심으로알아보겠습니다. (각 형태소의 특징에 대해서는 이 블로그에 잘 정리되어 있으니 참고하시기 바랍니..

ES Cluster Nodes Rolling Upgrade 절차 정리

가동중인 Elasticsearch cluster nodes를 가동 상태를 유지하며 업그레이드 하는 절차를 정리했습니다. Rolling upgrades 에 대한 공식 문서는 이 링크를 참고하세요. 시작 전 각 node에 최신 버전을 미리 설치 후 config 파일을 설정하여 기존 버전을 종료한 후 바로 실행할 수 있게 준비를 해두면 좀 더 빠르게 업그레이드를 마무리 할 수 있습니다. 각 노드를 종료하기 전 allocation이 진행되지 않도록 아래와 같이 allocation 을 disable 시킵니다. # 노드 종료 전 PUT _cluster/settings { "persistent": { "cluster.routing.allocation.enable": "none", "cluster.routing.reb..

Elasticsearch 7.10 Cluster 설치하기

최근 시스템 확장을 위해 Elasticsearch의 최신 버전을 설치하면서 정리한 글입니다. 이전에 정리했던 6.x 버전 설치기, cluster 설정을 보면서 설치중에 불필요한 내용 정리하고 합칠 내용 합쳐서 최신 내용으로 다시 업데이트 하려 정리합니다. 6.x 버전에서는 Java 8을 별도 설치해야 했지만 7.x 버전에서는 OpenJDK가 포함되어 있어 별도 설치할 필요는 없습니다. 이 글은 CentOS 7.9.2009 (Core) release, 그리고 Elasticsearch 7.10.1 버전을 기준으로 작성되었습니다. (곧 7.11이 나올 예정인가보네요. 8.x로 넘어가기 전 마지막 버전일 줄 알았는데... -0-a ) 일단 해당 서버로 elasticsearch-7.10.1-linux-x86_64..

반응형