반응형

개발 이야기 213

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..

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..

gmail 첨부파일을 자동으로 가져오기

거래처에서 전달받는 데이터 중 엑셀 파일을 메일로 전달하는 곳이 있습니다. 담당자는 이 파일을 받아 DB로 업로드 하는 작업을 수동으로 진행합니다. 그 일을 덜고자 python으로 매일 해당 메일의 첨부파일을 자동으로 다운받아 업로드하는 프로그램을 만들어 주었습니다. 여기서는 자동으로 메일의 첨부 파일을 다운로드하는 부분까지만 구현을 해보겠습니다. 전체 소스코드는 이 곳을 참고하세요. ------------------------------------------------------------------------------ 1. 개요 테스트 환경 : windows 10, python 3.8 필요한 패키지 : - 메일 클라이언트를 위해 imapclient , pyzmail(메일 내용 파싱) 사용 - 스케쥴..

2TB x 2개를 RAID로 묶은 4TB SSD 사용하기

elasticsearch를 위한 머신들을 업그레이드 테스트를 위해 조립용 PC에 OS 용 1TB SSD x 1, 데이타 용 2TB SSD x2 를 RAID 0로 묶어 4TB 디스크를 설치하며 기록으로 남길 겸 내용을 정리해 보았습니다. (가끔 여러분도 뭔가 몰라서 검색하다보면 자신이 올린 글이 나올때가 있지 않나요? ^^a) 이 글은 Raid로 묶인 디바이스를 확인, 파티셔닝하여 /data 라는 폴더에 연결하는 것 까지가 목표입니다. 가능한 잡다한 것들은 버리고 흐름을 정리하는데 집중하겠습니다. 그럼 시작해 보겠습니다. 장치 인식 시키기 bios에서 1TB SSD는 Non-raid로 2TB x 2 는 Raid0로 설정 후 os를 설치합니다. 저는 CentOS 7.x minimal 버전을 설치했습니다. 아..

CentOS7 minimal 버전 설치부터 원격 접속까지..

보통 최종 서비스 단계에서는 minimal 버전 설치 후 필요한 패키지들을 추가로 설치하여 보안 및 사용성을 높입니다. 그런데 처음 minimal을 설치하면 안되는 것들이 생각보다 많습니다. 저도 오랜만에 다시 설치를 하면서 잊어버린 내용도 정리할 겸 몇 글자 적어봅니다. 처음 설치 후 어떻게 진행해야 하는지 하나씩 정리해 보겠습니다. (2024년이 마지막이라고 생각하니 가슴이 ... ㅠ_ㅜ) 1. 네트웍 통신 확인 설치 후 바로 ping 이나 curl로 외부와의 통신을 확인하려고 하면 Network is unreachable 이라는 메세지가 보입니다. 설치 시 nic에 대한 설정이 되어 있어도 아직 비활성화 되어 있기 때문입니다. > ip addr network interface에 대한 상세 수정이 필..

tensorflow gpu 가속 기능 사용 설정

[개발 환경] windows 10 / PyCharm / Python 3.8 / CUDA Ver 10.1 / tensorflow, tensorflow-gpu 2.3.1 gpu 가속을 사용하려면 tensorflow-gpu, 그리고 cuda toolkit, cuda DNN을 설치해야 합니다. 최신 cuda 버전은 11.2 이지만 tensorflow 2.3.1에서는 CUDA Toolkit 10.1, cuDNN 7.x 버전을 사용합니다. 다운로드 주소는 각각 아래와 같습니다. CUDA Toolkit 10.1 developer.nvidia.com/cuda-toolkit-archive (2.3GB) CUDA Deep Neural Network Library (cuDNN) 7.6.5 developer.nvidia.co..

AWS S3 API 사용을 위한 권한 설정 관련

ListObjects/ListObjectsV2 API 사용 설정에 대한 주의 사항 S3 Bucket 접근 시 권한을 설정할 때 Bucket에 대한 권한인지 Object에 대한 권한인지에 따라 아래 스샷처럼 별도 설정이 필요하다. 위의 제목에서 보듯이 ListObjects 라고 명명된 API지만 작업 목록에 ListObjects라는 권한은 존재하지 않으며, ListBucket 권한을 할당해야 정상적으로 사용 가능하다. 이에 대한 상세한 내용은 이 링크를 참고하기 바란다. ListBucket 이라는 API가 별도 존재하기 때문에 혼동될 수 있으니 주의가 필요하다. 이렇게 설정되지 않으면 Access Denied 에러를 볼 수 있으며, ListBucket 권한을 GetObject와 같이 설정하면 (위 스샷의 ..

Mac OS 초기화 및 재설치 하기

Big Sur를 설치한 Macbook pro를 재설치하려다 겪은 여러 이슈들을 정리해 봅니다. 최근 MacBook 에서 이런 화면을 보신 경험이 있으신가요? macOS 유틸리티로 파티셔닝된 영역을 잘못 삭제하면 위와 같은 화면을 보실 수 있습니다. 복구할 데이터가 있을 경우는 아래 방법을 추천하지 않습니다. 우선 시스템 종료 후 재시작을 할 때 Command + R 키를 눌러 macOS 유틸리티로 접속합니다. 그리고 디스크 유틸리티를 선택 후 실행합니다. 디스크 중 Macintosh HD - 데이타 라는 파티셔닝 영역을 볼 수 있는데 이 파티션에 기존의 OS와 데이터가 모두 세팅하도록 되어 있습니다. 이 영역을 무턱대고 지우면 첫 이미지와 같은 메세지를 볼 수 있습니다. -0- 만약 저와 같은 실수를 하..

개발 이야기/linux 2020.12.15 (2)

NodeJS에서 Google SpreadSheet에 접속하기

json, 별도 포멧의 파일에 데이터를 입력하고 사용하려면 데이터 가공 및 배포에 대한 허들이 발생합니다. 트래픽이 많이 발생하지 않는다면 spreadsheet에서 데이터를 일괄 관리하고, 필요한 곳에서 spreadsheet 접속하여 갱신된 최신 데이터를 가져와 사용한다면 데이터 가공/배포에 대한 비용을 극적으로 줄일 수 있습니다. 모듈은 google-spreadsheet를 사용하여 Google Spread Sheet API를 사용하며, document는 theoephraim.github.io/node-google-spreadsheet/#/ 를 참고하시면 됩니다. API 사용을 위해서는 console.developers.google.com/에서 API 사용 허가를 설정해야 합니다. sheet 사용을 위한..

반응형