*해당 포스팅은 인프런 - 쿠버네티스 어나더 클래스(sprint1) 강의의 복습 내용 입니다. 쿠버네티스 컨테이너의 기술 흐름 이해하기 쿠버네티스를 처음 학습한다면, 세부적인 구성들을 학습하기 전에 현재의 쿠버네티스를 구성하고 있는 전체적인 주요 컴포넌트를 먼저 살펴보고 이러한 컴포넌트들이 어떤 변화를 거쳐서 오늘날의 모습을 하고 있는지 아는 것은 중요 한것 같습니다. 이런 과정을 통하게 되면 쿠버네티스 구성 하나 하나를 학습할 때 내가 어떤 부분을 학습하고 있는지 명확히 인지되기 때문에 기억에도 오래 남고 이해도 쉽게 됩니다. 마치 책의 목차를 먼저 읽고 책을 읽기 시작하거나, 목적지까지 가는 지도를 먼저 보고 길을 나서는 것과 유사할 것 같습니다. 지금부터 쿠버네티스에 관련된 전반적인 숲을 살펴보고 ..
이번 포스팅에서는 개인 윈도우 PC에서 Ubuntu 가상머신을 이용하기 위해 VMware Workstaion 15 Player를 설치하고 가상 네트워크 편집기인 vmnetcfg를 다운 받아 네트워크 설정까지 하는 방법에 대해 알아보도록 하겠습니다. 현재 최신버전인 VMware Workstaion 16 Player가 아닌 15 버전을 사용하는 이유는 가상 네트워크 편집기인 vmnetcfg가 현재 15버전까지 밖에 없기 때문에 15버전을 사용하게 되었습니다. 그러나 우리가 사용하려는 목적인 Ubuntu와 같은 가상 머신을 띄우고 사용하는데는 15나 16이나 차이가 없습니다. 1. VMware Workstation Player와 VMware Workstaion Pro의 차이 Vmware Workstation ..
이번 포스팅에서는 MariaDB 최신 버전 설치하는 방법에 대해 작성하려고 합니다. ubuntu의 apt 기본 레파지토리를 이용하여 MariaDB를 설치하게 되면 현재 가장 최신 버전이 설치되지 않고 10.1 버전 정도가 설치되게 됩니다. 따라서 현재 가장 최신 버전의 MariaDB를 설치하기 위해서는 별도로 최신 LTS 버전을 다운 받아서 설치해주어야 합니다. 1. MariaDB 최신 버전 다운로드 https://mariadb.com/downloads/ MariaDB Products & Tools Downloads | MariaDB Find MariaDB downloads, connectors, and tools including Community Server, Enterprise Server, Col..
하둡(Hadoop) 클러스터를 운영하다보면 자주하는 작업은 아니지만, 간혹 데이터노드(datanode)를 제거해야 할 때가 있습니다. 예를 들면 해당 클러스터에 적재하게 될 데이터 양보다 지나치게 많은 데이터노드를 구성하여 일부 데이터 노드를 제거해서 다른 용도의 장비로 사용해야할 수도 있습니다. 혹은 어떤 데이터노드가 너무 노후되어 다른 데이터 노드로 교체해야할 경우에도 데이터노드의 제거 작업이 필요합니다. 이렇게 데이터노드의 제거가 필요할 경우, 제거할 데이터노드가 가지고 있는 데이터를 유실하지 않고 안전하게 데이터노드를 제거하는 방법에 대해 알아보도록 하겠습니다. 더보기 1. 데이터노드 제거 전 확인할 사항 2. dfs.hosts.exclude 사용 설정이 되어 있지 않은 경우 3. dfs.host..
Hadoop 클러스터를 운영하다 보면 Block의 복제 수를 3에서 2로 줄일 필요가 있는 경우도 생기고, 또는 종종 Datanode Disk fault 등으로 인해 설정해놓은 replication factor(dfs.replication 값)보다 블럭 수가 적어지는 Under Replicated block이 발생하는 경우도 있습니다. Under Replicated block이 발생할 경우, 대부분은 자동으로 replication factor를 유지하기 위해 block 복제를 진행하지만, 정말 드물게 자동으로 block이 replication factor까지 복제되지 않는 경우 조치 방법에 대해 알아보려고 합니다. 더보기 1. 파일의 복제 block 수 조정하기 2. Under Replicated Blo..
Hive와 Impala를 함께 사용하다 보면 Hive에서 만든 데이터베이스와 테이블을 Impala에서 사용하는 경우가 자주 발생하게 됩니다. 이때 아주 사소하면서도 자주 볼 수 있는 에러가 있습니다. 더보기 1. 에러메시지 2. 원인 3. 조치 1) 모든 테이블의 메타데이터를 갱신 2) 이미 추가되어 있는 테이블에 대한 메타데이터 갱신 1. 에러 메시지 ERROR : AnalysisException : Could not resolve table reference : 'test_db.test_table' Cloud not execute command : SELECT * FROM test_db.test_table 2. 원인 Impala에서 Meta data를 갱신해주지 않아, Hive에서 생성한 데이터베이스..
오늘은 안드로이드 스마트폰으로 티맵(T map)을 사용하다가 아이폰으로 기기 변경을 하여 티맵을 사용하게 되는 경우 겪게 되는 음악 볼륨 자동 조절이 안되는 문제를 해결할 수 있는 방법을 알려드리려고 합니다. 더보기 1. 아이폰에서 티맵 볼륨 자동 조절 문제 인식 2. 원인 3. 음악 볼륨 자동 조절을 위한 조치 4. 마치며 1. 아이폰에서 티맵 볼륨 자동 조절 문제 인식 저는 얼마전까지 갤럭시 S21를 사용하면서 티맵 + 유튜브 뮤직 조합으로 운전 중에 네비게이션을 잘 사용하고 있었습니다. 이때는 당연히 유튜브 뮤직을 통해 음악도 잘 나오고, 티맵에서 안내 음성이 필요하면 음악 볼륨 자동 조절도 잘 되었습니다. 그러던 중 이번에 아이폰으로 기기 변경을 하면서 처음으로 동일하게 티맵 + 유튜브 뮤직 조합..
오늘은 아이패드 프로 3세대 11인치 케이스에 대해 추천드리려고 합니다! 종종 아이패드 프로 12.9인치 5세대가 출시할 때 같이 출시된 11인치 모델이라서, 아이패드 프로 3세대 11인치를 아이패드 프로 5세대 11인치라고 불르기도 하는데 정확하게 11인치 아이패드 프로 가장 최신 세대는 3세대가 맞습니다! 이것 때문에 간혹 헷갈리기도 해요.. 자 무튼! 이름은 그렇고 이 아이패드 프로 3세대 11인치 케이스를 정말 많이 찾아보고, 정말 많이 고민했습니다! 기존에 아이패드 에어3 때 사용하던 ESR 케이스부터 애플 정품 폴리오케이스 그리고 디자인이 너무 예쁜 컴포지션 케이스까지... 진짜 거짓말 안하고 2주는 고민했습니다! 최선의 케이스를 사기 위해! 그리고 그렇게 가격 + 기능까지 고민해서 고른 케이..
리눅스 시스템을 이용하다 보면 ulimit 이라는 설정을 변경해야하는 경우가 종종 발생하게 됩니다. 아마 병렬처리 프로그램이나 동시 접속자가 많은 서비스를 운영하시면 max user process 부족이나 open files 의 부족이 그 경우일 것 입니다. 그렇다면 이때 내 장비에 설정된 ulimit은 어떻게 확인할 수 있는지, 내가 원하는 값으로 설정은 어떻게 변경하는지 알아보도록 하겠습니다. 더보기 1. ulimit 이란 2. ulimit 확인 방법 3. ulimit 설정 방법 3-1. 명령어 사용(임시) 3-2. limits.conf 변경(영구) 4. 마치며 1. ulimit 이란 ulimit이란 user limit를 줄인 단어로, 사용자가 실행시키는 프로세스의 자원을 제한하는 설정 입니다. 앞서..
리눅스를 사용하다 보면 서버가 켜질 때, 즉 부팅이 될 때 자동으로 실행시켜야할 명령어나 스크립트가 생기기 마련입니다. 저의 경우에는 /var/run 경로에 서비스가 이용하는 디렉터리를 만들어 놓았는데, /var/run 경로는 서버가 재부팅되면 제가 임의로 생성해 놓은 디렉터리는 삭제 됩니다. 따라서 재부팅 후에도 바로 다시 디렉터리를 생성해 주도록 명령어 등록이 필요합니다. 윈도우에서는 간단히 시작 프로그램으로 등록해주면 윈도우가 켜지면서 자동으로 실행시켜줍니다. 그렇다면 리눅스에서는 어떻게 해야할지 알아보겠습니다. 저는 주로 Ubuntu를 사용하기 때문에 Ubuntu18.04 버전을 기준으로 설명 드리겠습니다. 더보기 1. 실행할 명령어 또는 스크립트 확인 2. rc.local 파일 생성 및 편집 3..
안녕하세요. 린아저씨 입니다. 오늘은 윈도우를 사용하면서 폴더 여러개를 켜서 사용할 때 좀 더 편리하게 사용할 수 있는 꿀팁을 가져왔습니다. 마치 크롬 같은 웹브라우저를 사용할때 여러 페이지를 탭으로 관리하듯이 폴더도 탭으로 관리할 수 있는 툴입니다. 바로 바로 QTTabBar라는 툴을 사용하는 것인데, 어떻게 설치하고 어떻게 설정해야하는지를 알려드리기 전에 어떻게 탭으로 쓴다는 것인지 바로 알려드리기 위해 아래 사진을 먼저 첨부하였습니다. 위 사진과 같이 Qttabbar, Google Drive, 다운로드, 바탕화면, 동영상 폴더까지 총 다섯개의 폴더를 동시에 켜놨지만 한창에서 탭으로 손 쉽게 관리할 수 있는걸 알 수 있습니다. 자 그럼 이제 QTTabBar를 설치하는 방법과 사용하는데 좀 더 편리하게..
안녕하세요. Windows 데스크탑에서 Ubuntu를 사용해야하는 일이 생겼습니다. 회사 일에 대한 테스트 겸 개인 스터디 용도인데, 듀얼 부팅으로 구성을 할까 고민해봤지만 일단 비효율적인 것 같아서 가상머신으로 구성하기로 마음먹었습니다. 무료로 사용 가능한 가상 머신에는 Virtual Box도 있지만, 저는 익숙한 Vmware Workstation Player를 이용해서 구성하기로 하였습니다. 우선 우분투 iso 파일을 다운 받고 이제 설치를 해볼까하는데 데스크탑에 가상화 설정이 안되어있다고 실행이 안되더군요... 그래서 부랴부랴 바이오스 설정에 접근해서 가상화를 활성화하면서 혹시 저와 같이 가상머신을 사용하려고 하는데 가상화 설정이 안되어 있는 분들 중에 도움이 될까하여 포스팅하기로 하였습니다. 먼저..
지난글에서 Apache Tez는 무엇이고 기존의 Hive 엔진인 MapReduce와는 어떻게 다른지에 대해 얘기했었습니다. 이번에는 실제로 Apache Tez를 다운받아서 구성하고 Yarn을 통해 Tez를 실행시켜 Word Count 예제까지 실행시켜 보려고 합니다. Apache Tez를 이용하기 위해서는 먼저 소스파일을 다운받아서 빌드를 진행해야합니다. 소스파일 다운로드 아래 링크의 Git에서 최신 릴리즈를 다운받으면 됩니다. github.com/apache/tez/releases Releases · apache/tez Apache Tez. Contribute to apache/tez development by creating an account on GitHub. github.com Apache Te..
Hive3 버전으로 넘어가면서 기존의 MapReduce 기반의 쿼리 엔진은 공식적으로 권장하지 않게 되었습니다. Hive3에서 MapReduce를 이용하여 쿼리를 실행시키면 "mapreduce deprecated" 라는 단어를 확인할 수 있습니다. MapReduce 엔진은 이전부터 워낙에 쿼리 속도 문제에 대한 이슈가 많았기 때문에 이로 인한 조치인 것으로 보입니다. 그리고 이렇게 Hive에서 MapReduce를 대체하기 위해 현재는 Apache Tez를 기본 엔진으로 권장하고 있습니다. 이에 이번 포스팅에서는 Apache Tez는 무엇인지에 대해 먼저 알아보려고 합니다. Tez VS MapReduce 우선 Apache Tez는 MapReduce와 동일하게 YARN 기반으로 실행되는 데이터 처리를 위한 ..
지난 글에서는 Erasure Coding(EC)란 무엇이고 EC의 알고리즘과 정책은 어떤 것이 있는지에 대해 이야기해 보았습니다. 2020/11/26 - [IT 정보/Hadoop Eco System] - Hadoop 3에서 Erasure Coding이란 - 1 Hadoop 3에서 Erasure Coding이란 - 1 앞선 글에서는 하둡 3버전을 도입해야하는 3가지 이유에 대해서 이야기 해보았습니다. 2020/11/15 - [IT 정보/Hadoop Eco System] - Hadoop 3 버전을 도입해야하는 3가지 이유 Hadoop 3 버전을 도입해야하는 3가 joonyon.tistory.com 이어서 이번 글에서는 그렇다면 우리는 EC를 사용하는 것이 정말 기존의 3 copy 복제 정책보다 좋기만 한 것..
앞선 글에서는 하둡 3버전을 도입해야하는 3가지 이유에 대해서 이야기 해보았습니다. 2020/11/15 - [IT 정보/Hadoop Eco System] - Hadoop 3 버전을 도입해야하는 3가지 이유 Hadoop 3 버전을 도입해야하는 3가지 이유 하둡은 1.0을 시작으로 2.0버전을 넘어 현재는 3.3버전까지 릴리즈가 되어 있습니다. 이렇게 많은 버전업이 진행되는 기간 동안 더 이상 하둡은 새로운 것이 아닌 빅데이터의 기반으로 자리 잡았 joonyon.tistory.com 이어서 이번에는 Erasure Coding에 대해 알아보도록 하겠습니다. 이번 Erasure Coding에 대한 글은 한번에 담기에는 부담이 있어 두 개의 포스팅으로 나눠서 이야기하려 합니다. 이번 글에서는 Erasure Cod..
하둡은 1.0을 시작으로 2.0버전을 넘어 현재는 3.3버전까지 릴리즈가 되어 있습니다. 이렇게 많은 버전업이 진행되는 기간 동안 더 이상 하둡은 새로운 것이 아닌 빅데이터의 기반으로 자리 잡았습니다. 그리고 아직까지는 많은 곳에서 하둡 3 버전보다는 2버전을 많이 사용하고 계시리라 예상됩니다. 그래서 이제는 하둡 2버전에서 3버전으로 넘어가야하는 이유에 대해 이야기해보려 합니다. Erasure Coding 하둡이 3버전으로 업그레이드 되면서 가장 눈에 띄었던 특징 중에 하나는 Erasure coding(EC)이 도입되었다는 것입니다. 기존 2버전의 하둡은 Hot data든, Cold data든 모두 같은 복제 정책(기본 3copy)을 가지고 보관해야만 했습니다. 이런 3copy 데이터 보관은 Fault..
안녕하세요. 린아저씨 입니다. 제가 처음 접한 하둡은 아파치 바닐라 하둡 버전이었지만, 실제 프로덕트 환경에서는 주로 Cloudera 배포판 하둡을 구축하고 운영해 왔습니다. 현 직장으로 이직을 하면서 이미 구축해 놓은 Cloudera 클러스터를 운영하게되면서 설치를 꽤 오래 안하게 되었습니다. 그래서 오늘은 오랜만에 설치 과정을 리마인드 할겸 Cloudera Manger를 이용해서 하둡 설치과정을 상세하게 포스팅하려고 합니다. 기존에 CDH5 버전을 설치해보신 분이라면 더욱 쉽게 하실 수 있으실 것입니다. 단 CDH6로 오면서 CM 스키마 생성 스크립트 위치등 소소한 몇가지가 변경된 부분이 있어 이 부분만 주의해 주시면 됩니다. 1. 설치 전 준비사항 모든 작업은 root 계정으로 진행 모든 노드의 r..
안녕하세요. 린아저씨 입니다. 이번에는 파이썬 dictionary 자료형에 대해 알아보려고 합니다. dictionary 기본 사용법 dictionary 자료형은 key-value가 쌍을 이루어 데이터를 입력할 수 있으며, 중괄호{ }로 선언하며, key:value 형태로 컴마 , 를 이용해서 다수의 데이터를 저장할 수 있습니다. dictionary에서는 string, int, boolean 등 여러가지 타입의 데이터를 넣을 수 있으며, value에는 리스트 자료형도 가능합니다. # dictinary 선언 stirng_dict = { 'a':1, 'b':2, 'c':3 } int_dict = { 1:'a', 2:'b', 3:'c' } list_dic = { 'a':[1, 2, 3], 'b':[2, True..
안녕하세요. 린아저씨 입니다. 이번에는 python 함수 중 for문과 자주 쓰는 range() 함수에 대해 알아보려 합니다. range() 함수는 이름처럼 일정 범위의 정수를 순차적으로 생성해 주는 함수 입니다. 그리고 파라미터 개수에 따라 세가지 방법으로 사용 할 수 있습니다. range( ) 파라미터 두개를 쓰는 경우 range() 함수에 파라미터 두개를 쓰는 경우는 range(start, stop) 의 경우 입니다. 단 주의할 점은 원하는 정수 범위를 정할 때 start 이상 stop 미만으로 생각하셔야 합니다. 즉 늘 원하는 마지막 수에 +1을 해주셔야 합니다. # 파라미터 2개를 쓰는 경우 for i in range(0,11): print(i) 이런 코드를 실행하면 0, 1, 2, 3, 4, ..
안녕하세요. 린아저씨 입니다. 이번 포스팅에서 파이썬 반복문 문법 중 while에 대해 알아보려 합니다. while 반복문 while 반목문의 기본 구조 입니다. while : 수행 코드1 수행 코드2 부분에는 Boolen 값이 들어가야합니다. 즉 True 또는 False로 계산되는 값이 들어가야합니다. 예를 들어 아래와 같이 나타낼 수 있습니다. x = 0 while x < 10: x += 1 print('x='+x) 예제의 경우 변수 x의 초기 값은 0이고 x가 10보다 작다면 True가 되어서 x에 1씩 증가하면서 현재 x의 값을 출력하며 while 문이 실행 됩니다. 그리고 x에 1씩 증가하다가 x가 10이 되는 순간 while 조건문이 False가 되면서 while 문에서 탈출하게 됩니다. wh..
안녕하세요. 린아저씨 입니다. 오늘은 파이썬 코드를 작성하는 여러가지 스타일 중 가장 일반적으로 쓰이는 PEP8 스타일에 대해 포스팅하려 합니다. PEP8 스타일의 모든 것을 쓸 수는 없지만 개인적으로 이건 꼭 지키는게 좋겠다하는 부분 입니다. 이름 정하기 변수 및 함수 모든 변수 및 함수의 이름 스네이크(snake) 표기법으로 써줍니다. 즉, 한단어일 경우에는 소문자로만 써주시고 여러 단어일 경우에는 언더바( _ )를 이용해서 소문자로만 써서 연결해 줍니다. # 나쁜 예시(카멜 명명법) myHouseName = 'xi' def myPhoneNumber(): print('010-1234-5678') # 좋은 예시 (스네이크 명명법) my_house_name = 'xi' def my_phone_number..
안녕하세요. 린아저씨 입니다. 파이썬 문자열 포맷팅 함수 중 format 함수와 f-string 함수를 이용해서 문자열 포맷팅 방법에 대해 포스팅하려 합니다. format 함수와 f-string 함수 모두 별도의 패키지 import 없이 사용 가능하지만, f-string 함수의 경우 python3.6+ 버전 이상부터 추가되었습니다. format 함수 format 함수는 { } 중괄호를 이용해서 문자열을 포맷팅 할 수 있습니다. format 함수 이용시 변수의 타입과 무관하게 중괄호와 숫자만을 이용해서 포맷팅 하면 됩니다. #변수 int_value = 10000 string_value = '린아저씨' boolean_value = True # 변수 순서 대로 포맷팅 >>> print("첫번째 변수 : {},..
안녕하세요. 린아저씨 입니다. 오늘은 python virtualenv를 이용해서 가상환경을 생성하고 사용하는 방법에 대해서 포스팅하려 합니다. Linux 환경 구성 리눅스 환경은 제가 주로 사용하는 Ubuntu 18.04.4 LTS 기준입니다. 하지만 다른 환경에서도 apt냐 yum이냐의 차이 정도로 거의 비슷할 것 입니다. 먼저 파이썬 버전은 각각 다음과 같이 기본적으로 설치 되어있습니다. # Python2 Version $ python -V Python 2.7.17 # Python3 Version $ python3 -V Python 3.6.9 그리고 python 패키지 설치에 필요한 pip는 설치가 되어 있지 않습니다. 따라서 먼저 pip 부터 설치해 줍니다. # Python2.x pip instal..
안녕하세요. 린아저씨 입니다. 코드를 짜다보면 내가 짠 코드가 실행되는데 얼마나 걸리는지 측정해야할 일들이 생기곤 합니다. 이러할 경우 사용할 수 있는 time 모듈의 두가지 함수에 대해 알아보려고 합니다. time 모듈의 perf_counter 함수와 process_time 함수 입니다. 아래 코드는 python3.4 버전 이상에서 실행되는걸 확인하였습니다. perf_counter perf_counter 함수는 코드의 연산 시간 외에 sleep, file io 등 pending에 들어가는 시간까지 모두 포함해서 측정합니다. import time def perf_counter_test(): start_time = time.perf_counter() time.sleep(10) print('perf_coun..
Ubuntu에서 설치한 MySQL을 깨끗하게 삭제하고 싶을 경우 아래와 같이 mysql 관련된 파일들을 purge로 삭제해 주고 자동 생성된 mysql 디렉터리 삭제 후 autoremove와 autoclean을 통해서 불필요한 파일들을 삭제하면 된다. sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-* mysql-client-core-* sudo rm -rf /etc/mysql /var/lib/mysql sudo apt-get autoremove sudo apt-get autoclean
안녕하세요. 린아저씨 입니다. 몇년 동안 자바로 개발할 일이 없어서 쓰지 않았더니 백지와 같은 상태라... 복습도 할겸 포스팅 하려고 합니다. 먼저 자바를 하려면 당연히 JDK를 설치해야겠죠? 제 기억으로는 작년말경에 기존에 무료로 사용하던 오라클 자바 라이선스가 유료화 되었습니다. 기업은 당연히 라이선스를 구매해서 사용해야하고, 그럼 개인은 써도 되는건가? 하는 궁금증이 생겼습니다. 결론은 개인은 써도됩니다! 자 개인은 여전히 무료로 사용해도 된다는걸 알았으니 이제 설치를 해봅시다! 1. Java 다운로드 및 설치 오라클 자바 다운로드 페이지 에서 먼저 JDK를 다운로드 받습니다. Java 8을 설치할 것이기 때문에 Java SE 8 을 찾은 다음에 JDK Download를 눌러 줍니다. 그러면 OS에..
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 이용하는데 필수 명령어인 계정 생성, 삭제, 확인하는 방법에 대해서 알아보도록 하겠습니다. 계정을 생성하고 삭제하고 확인하는 일련의 과정이 정말 쉬운데 꼭 써먹으려고 하면 늘 다시 찾아보곤 하는데요 이번에 제대로 정리해서 머리속에 기억해두어야겠습니다. 1. 리눅스 계정 리스트 확인하기 명령어 : cat /etc/passwd $ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin ..... hadoop:x:905:905:Named:/var/hadoop:/sbin/nologin 리눅스에서는 계정을 생..
안녕하세요. 린아저씨 입니다. 오늘은 리눅스를 다루면서 현재 실행 중인 프로세스를 종료하거나, 프로세스가 먹통이 되어 강제 종료해야하는 경우에 사용할 수 있는 다양한 방법의 종료 방법에 대해서 알아보도록 하겠습니다. 1. 현재 실행 중이 프로세스 확인하기 $ ps -ef UID PID PPID C STIME TTY TIME CMD lina 13123 0 0 Apr16 ? 00:01:05 /usr/bin/test.sh root 1 0 0 Apr16 ? 00:00:00 /usr/bin/vmtoolsd systemd+ 1 0 0 Apr16 ? 00:00:00 /lib/systemd/systemd-networkd root 1 0 0 Apr16 ? 00:11:00 /usr/sbin/cron -f root 1 0 ..
안녕하세요. 린아저씨 입니다. 오늘은 HDFS Corrupt 파일 확인 및 제거 방법에 대해 포스팅해보려고 합니다. 하둡 클러스터를 관리하다 보면 잦은 현상은 아니지만 간혹 HDFS 블록이 손상되는 경우가 발생하곤 합니다. 이때 이 손상된 블록을 Corrupt 파일 블록이라고 합니다. HDFS는 기본적으로 3 Copy를 유지하기 때문에 Corrupt 블록이 발생하더라도 데이터에 영향을 주지는 않습니다. 남아있는 2 copy의 블럭으로도 데이터를 읽는데는 아무 문제가 없기 때문입니다. 하지만 Corrupt 파일 블럭이 존재하면 이로 인해 정상적이 3 copy 블럭이 아닌 정상적인 2 copy 블럭과 깨진 1 copy 블럭이 존재하기 때문에 Corrupt 파일 블럭을 제거해주어야 합니다. 1. HDFS Co..