
1. 장애 현상Spark 작업 중 특정 노드에서 자주 FetchFailedException 오류가 발생하면서 작업이 지연되고 재시도 실패가 간헐적으로 발생하고 있었습니다. Hadoop 클러스터에서는 CPU / Memory / DISK / Network 등 충분한 리소스가 있었으며 별다른 이상 현상을 탐지 할 수 없었습니다. (또한, Hadoop 은 Bonding 으로 구성되어 있음) 로그 예시FetchFailedException: Connection from closed2. 초기 진단2.1 netstat -i 확인 결과문제가 발생한 노드와 정상 노드 간의 인터페이스 수신 상태를 비교해보니 다음과 같은 차이를 확인할 수 있었습니다.노드RX-ERRRX-DRPRX-OVR비고slave0001010520문제 없..
Kubernetes에서 컨테이너 상태를 체크할 때 livenessProbe, readinessProbe, startupProbe 세 가지 방식이 있습니다.이 중에서 가장 유연하게 쓸 수 있는 게 바로 exec 방식이 있는데 직접 컨테이너 안에서 명령어를 실행해서 그 결과를 기반으로 상태를 판단하는 방식인데 잘 쓰면 아주 강력하고 상황에 맞게 커스터마이징도 쉽습니다.본문에서는 exec 을 통한 예제에 대해 작성했습니다. 1. 헬스체크란?Kubernetes는 총 3가지 종류의 헬스체크(Probe)를 제공합니다종류목적실패 시 행동StartupProbe컨테이너가 처음 정상적으로 시작되었는지 확인실패 시 재시작 (단, Readiness/Liveness보다 우선함ReadinessProbe트래픽을 받을 준비가 되었..

1. Fielddata란?Elasticsearch에서 text 타입의 필드는 기본적으로 정렬(Sort)이나 집계(Aggregation)에 사용할 수 없습니다.이를 가능하게 하려면 Fielddata 기능을 활성화해야 합니다.Fielddata의 역할text 필드에서 정렬 및 집계를 수행할 수 있도록 데이터 구조를 변환대용량 데이터에서도 빠른 검색 및 분석 가능Fielddata의 단점메모리 사용량 증가 : Heap 영역에 데이터를 적재하므로 JVM 메모리 부담이 커짐성능 저하 가능성 : 대량의 데이터를 처리할 경우 OutOfMemory(OOM) 발생 가능 2. Elasticsearch 8.12에서 Fielddata 해제 이슈Elasticsearch 8.12 버전부터 Fielddata의 자동 해제(Expire)..
기본적으로 Fortigate VPN 에 연결 할 경우 8 시간이 지날 경우 재인증을 위해 VPN이 끊어짐 하지만, 회사에서 점심 시간 포함하여 최소 9시간이 필요하며 상황에 따라 그 이상이 필요해짐 장비 구성 정보 모델명 : Fortigate 60E 펌웨어 버전 : Firmware 5.x, 6.x, 7.x. 기본 설정 확인 foritgate # config vpn ssl settings foritgate (settings) # get reqclientcert : disable banned-cipher : ssl-insert-empty-fragment: enable https-redirect : disable x-content-type-options: enable ssl-client-renegotiatio..
개요 Kubespray 을 통해 Kubernetes 를 구성 할 때 네트워크 관련에서 별다른 설정을 하지 않고 운영 할 경우 아래와 같은 메시지를 확인 할 수 있다. $ kubectl get event LAST SEEN TYPE REASON OBJECT MESSAGE 38s Normal CIDRNotAvailable node/node65.k8s Node node65.k8s status is now: CIDRNotAvailable 48s Normal CIDRNotAvailable node/node66.k8s Node node66.k8s status is now: CIDRNotAvailable 37s Normal CIDRNotAvailable node/node67.k8s Node node67.k8s stat..
안녕하세요. DC/OS에서 서비스 테스트를 할 때 Docker run 의 옵션 등이 필요하여 찾아보고 정리한 내용 입니다. 미리 mesos 혹은 marathon 을 사용해보신분들은 이미 알고 계셨을 내용이기도 합니다. · 개요 DC/OS에서 구동되는 서비스에 추가적인 호스트 등록이 필요한 상황이였습니다. 이를 위해 Dockerfile 을 작성하고 아래와 같은 형식으로 도커 이미지를 빌드한 뒤 컨테이너 실행 할 때 /etc/hosts 파일이 초기화되어 의미가 없었습니다. RUN echo 1.1.1.1 seob >> /etc/hosts 위와 같은 문제를 해결하기 위해서 CMD 를 어플리케이션 실행 명령이 아닌 스크립트를 구동하도록 변경했습니다. · run.sh cat /root/hosts >> /etc/ho..

안녕하세요. D2IQ(Mesosphere) 의 DC/OS 설치 후 성능 이슈에 대한 설명을 하려고 합니다. 이 성능 이슈는 아래와 같은 버전에서 모두 발생했었습니다. DC/OS 버전 : 1.11.10, 1.12.0, 1.13.3 DC/OS 서비스에 의해 문제가 발생한건 아니지만 DC/OS의 설치 환경에 의해 발생한 것이니 카테고리를 DC/OS에 포함시켰습니다. · 문제점 Java 로 구동되는 어플리케이션이 있었는데 DC/OS가 아닌 서버에서 Docker(network는 host, bridge 둘다 테스트) 컨테이너로 구동 시 nGrinder 에서 보여지는 TPS가 약 1200~1500 이 발생. 하지만 동일한 장비로 DC/OS에 투입 후 테스트 시 TPS는 400-600 으로 떨어지는 현상이 발생. DC..
※ 해당 문제는 CentOS 7 에서 발생한 문제이고, 다른 버전에서도 동일한 문제가 발생 될 수 있으며 아래 명령어는 CentOS 7 기준으로 작성했습니다. · 현상 개발자로부터 Ansible을 통해 여러 서버에 작업을 하는데, 하나의 서버에서만 ssh 연결이 timeout이 발생하며 작동되지 않는다고 제보 받음 · 문제 확인 Ansible 서버에서 직접 ssh 로 접근 했을 때 오랜 시간의 지연이 발생했고 접근 후 su 명령어 또한 지연이 발생했다. 일단 Ansible 문제는 아니라고 판단을 했고 서버 리소스를 확인 했을 때 자원은 충분했다. 서비스 중인 서버이므로 부하가 가지 않을 정도로 CPU, 메모리, 디스크 등 성능 테스트를 했을 때 문제가 없었으며 물리적인 소모품 또한 정상이였다. 그렇다면 ..
이번 포스팅에서는 ZooKeeper의 클러스터링을 위해 구축 할 예정입니다. ZooKeeper은 싱글로도 충분히 동작 할 수 있지만, 개발용에나 쓰이지만, 상용에서는 클러스터링으로 사용됩니다.또한 ZooKeeper은 분산 작업을 제어하기 때문에 ZooKeeper가 중단 될 경우 ZooKeeper에 의존하는 서비스는 영향을 받습니다.이러한 이유로 ZooKeeper은 안정성이 보장되어야 하며, 여러 ZooKeeper를 클러스터링하여 고가용성을 제공 할 수 있습니다.이것을 ZooKeeper 앙상블(Ensemble)이라고 합니다. ZooKeeper의 앙상블은 과반수가 동작하면 사용이 가능하며 과반수를 필요하기 때문에 홀수 구성을 추천하고 있습니다.예를 들자면, 3대에서 ZooKeeper를 구성 할 때 1대의 고..
저희 동네에도 유명한 맛집이 있더라구요. 그래서 당장 가기로 마음 먹었죠.유명한 맛집이기 때문에 처음 갈 때 주말 오후 2시 정도에 갔습니다.그..근데.. 사람이 너무 많아서 대략 1-2 시간 기다려야겠더라구요.그리고 다시 평일에 시간이 나서 갔죠. 이번에는 많은 사람은 없었고 대략 10-20분 기다리고 곧바로 착석했습니다. 기본찬은 배추김치와 단무지 밖에 없고 셀프 입니다.근데, 배추김치 정말 정말 맵습니다. 엄청 매워서 어린 애들은 절대 못 먹을꺼에요. 얼큰 칼국수 2개를 주문했는데.. 여기서 약간 실망인게 주문 받고 음식 나오는 시간이 대략 1 시간 정도 걸립니다. 1 시간의 기다림 끝에 드디어 나의 얼큰칼국수가 나왔습니다. 내용물은 바지락 듬뿍(진짜 많아요..), 다시마 이렇게 나옵니다. 바지락 ..