분류 전체보기 203

Hadoop 클러스터 구축하기 part.2 - SSH 키 기반 연결, 하둡 환경 설정 및 배포

먼저저 하둡 클러스터의 핵심인 마스터 노드(Master Node)와 슬레이브 노드(Slave Node)가 하둡 분산 시스템(HDFS)에서 어떤 의미와 역할을 갖는지 알아보자. 마스터와 슬레이브의 역할 하둡은 거대한 데이터를 한 대의 컴퓨터가 아닌, 여러 대의 컴퓨터에 나누어 저장하고 처리하는 기술이다. 이를 효율적으로 관리하기 위해 시스템을 지시하는 관리자(Master)와 일꾼(Slave)으로 역할을 철저히 구분한다. 1. 마스터 노드 (Master Node) - 네임노드 (NameNode)클러스터 전체를 관리하고 통제하는 '두뇌' 역할을 한다.메타데이터 관리: 사용자가 업로드한 실제 파일 데이터는 저장하지 않는다. 대신, 그 파일이 '어떤 슬레이브 노드의 어느 위치에 저장되어 있는지'에 대한 정보(메타..

가상환경에서 Hadoop 클러스터 구축하기 part.1 - 호스트네임, 네트워크 설정

Vmware 등의 가상 환경에서 실습을 할 때는 마스터 노드로 구축한 가상머신을 복제(clone)해서 슬레이브(slave)노드로 만들면 간단하게 하둡 클러스터를 구축할 수 있다. 이 때 호스트네임과 네트워크 식별 정보(IP/MAC Address) 까지 복제가 되는데, 각각의 클론에서 네트워크 등의 설정은 손수 해줘야 한다. 하둡 클러스터가 정상적으로 작동하려면 각 노드가 고유한 이름과 IP를 가져야 하기 때문이다. 1. 가상머신 하드웨어 식별자(MAC 주소) 재설정가상머신을 복제하면 네트워크 카드의 물리적 주소인 MAC 주소까지 동일하게 복사될 수 있다. 이는 네트워크 충돌의 원인이 되므로 가장 먼저 변경해야 한다.VMware에서 해당 슬레이브 노드 (power off한 상태에서) 가상머신의 설정을 열..

[Linux] 데비안 계열 리눅스에서 패키지 설치 오류(Coud not get lock...)문제 해결 방법

Debian(데비안) 계열 리눅스 터미널에서 새로운 프로그램을 설치하거나 시스템 업데이트를 위해 apt update 또는 install 명령어를 입력했을 때, 명령어가 실행되지 않고 다음과 같은 에러 메시지가 출력될 때가 있다.E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock, is some other process using it? 이 메시지는 현재 시스템의 패키지 관리 도구가 잠겨(lock) 있어서 새로운 작업을 수행할 수 없다는 뜻이다. 하지만 원인과 해결법을 알면 간단히 해결할 수 있다.1. 에러 발..

[Linux] Hadoop 마스터 노드 구축하기 part.3 - 하둡 설치 및 환경 설정, 데몬 확인

SSH 서버 설치 키 설정이 끝났다면, 이제 하둡 설치 파일을 압축 해제하고 시스템 환경 변수 및 핵심 설정 파일들을 수정하여 마스터 노드 서비스를 실제로 가동할 차례다. 1. 하둡 설치 및 권한 설정cd ./Desktop# -C 옵션으로 특정 디렉터리(/usr/local/)에 tar.gz 압축 풀기tar xvfz hadoop-1.2.0.tar.gz -C /usr/local/ #디렉토리명을 hadoop 짧게 변경mv hadoop-1.2.0/ /usr/local/hadoop#hadoop 디렉토리와 그 하위의 모든 파일(-R)에 대해 모든 사용자에게 읽기, 쓰기, 실행 권한을 부여chmod 777 -R /usr/local/hadoop/ #hadoop 디렉토리의 소유자와 그룹을 root에서 [usernam..

[Linux] Hadoop 마스터 노드 구축하기 part.2 - APM 스택, SSH 서버 구축 및 SSH 키 생성

지난 포스팅에 이어 계속해서 우분투에서 하둡 마스터 노드를 구축해보자. 이번에는 웹 서버, 데이터베이스 설치와 같은 관리 환경 구축, 그리고 노드 간 통신을 위한 SSH 서버를 설치하고 키를 생성한 후, 접속이 잘 되는지 테스트를 해보도록 한다.1. APM(Apache, PHP, MySQL) 및 확장 모듈 설치하둡 관리 및 모니터링 툴 운영을 위해 웹 서버(Apache), 서버 사이드 스크립트 언어(PHP), 데이터베이스(MySQL)를 설치한다. [Linux] 우분투에 APM(Apache, PHP, MySQL) 설치하기에 더 자세히 정리해 두었으니 참고하자. 수행 작업: apache2, mysql-server, php7.2 및 관련 모듈(curl, gd, xml, zip 등)을 설치한다.목적: 하둡 생..

[Linux] Hadoop 마스터 노드 구축하기 part.1 - 자바 설치 및 환경변수 설정

우분투에서 하둡의 마스터 노드를 구축하는 과정을 알아보자. 1. 하둡 전용 계정 생성 및 호스트 이름 설정하둡 운영을 위한 별도의 계정을 생성하고, 네트워크 상에서 노드를 식별할 이름을 정의하는 단계이다.adduser [username]cd /home/[username]/nano /etc/hostname[hostname]-> "master"로 변경hostname -F /etc/hostname && hostnamemaster수행 작업: [username]계정 생성, /etc/hostname 수정 (master로 변경), hostname -F로 즉시 적용.목적: 하둡은 클러스터 구조이므로 각 노드를 구분할 명확한 호스트 이름이 필요하며, 보안과 관리 편의를 위해 전용 계정인 [username]을 사용한다.핵..

[VMware] 가상머신 안에서 가상화를 할 때 반드시 필요한 설정

VMware workstation과 같은 하이퍼바이저에서 가상화 환경을 운영하다 보면 가상 머신(VM) 내부에서 하둡(Hadoop), 도커(Docker), 쿠버네티스(Kubernetes)와 같은 또 다른 가상화 기술을 실행해야 하는 상황이 있다. 이때 반드시 체크해야 하는 설정이 바로 'Virtualize Intel VT-x/EPT or AMD-V/RVI'이다.하이퍼바이저(Hypervisor)란?하이퍼바이저는 하나의 물리적 서버(Host) 위에서 여러 개의 독립적인 가상 머신(VM)을 생성하고 관리하는 가상화 소프트웨어를 말한다. 하이퍼바이저는 물리적 하드웨어(CPU, 메모리, 스토리지 등)와 가상 머신 사이에서 중재자 역할을 수행한다.하이퍼바이저의 주요 역할자원 격리: 각 VM이 서로 간섭하지 못하도록..

분산 파일 시스템(DFS)의 개념과 하둡(Hadoop)의 원리

클라우드 환경에서 대용량 데이터를 저장하는 핵심 기술인 분산 파일 시스템(DFS)과, 이를 구현한 하둡(Hadoop)에 대해 알아보자.분산 파일 시스템 (DFS) 이란?DFS의 핵심 아이디어는 "데이터를 쪼개서 분산 저장하고, 사용자 가까이에서 빠르게 처리하는 것"이라 할 수 있다.DFS(Distributed File System)는 대용량 데이터를 네트워크로 연결된 여러 컴퓨터(노드)에 분산하여 저장하는 시스템 아키텍처를 말한다. 분산 저장 (Distribution): 하나의 컴퓨터에 다 들어가지 않는 거대한 데이터(Big Data)를 일정한 크기의 조각(Chunk)으로 잘라서 여러 서버에 흩뿌려 저장한다.복제 (Replication): 분산된 서버 중 하나가 고장 나더라도 데이터가 사라지지 않도록 복..

[Linux] LAMP 스택 - 리눅스에 ownCloud 서버 구축하기

지난 포스팅에 이어 이번에는 LAMP(Linux, Apache, MySQL, PHP) 스택 기반 위에서 파일 공유 클라우드 서비스인 ownCloud를 구축하는 과정을 다룬다. 구글 드라이브와 같이 빌려 쓰는 스토리지가 아니라, 내 컴퓨터(서버)에 직접 사설형(private) 클라우드 스토리지를 구축해 봄으로써 클라우드의 핵심 개념인 분산 파일 시스템(DFS)의 기초를 배워볼 수 있다.Step 1. 기반 환경 구성 (Service Initiation)클라우드 서비스 구동을 위해 필수적인 패키지 매니저를 업데이트하고, 웹 서버(Apache)와 데이터베이스(MySQL) 서비스를 시작한다.apt updateservice apache2 startservice mysql startapt update: Ubuntu..

[Linux] 우분투에 APM(Apache, PHP, MySQL) 설치하기

리눅스 환경에서 웹 서버, 데이터베이스, 프로그래밍 언어 환경을 구축하는 것은 클라우드 엔지니어링의 기본이다.이 포스팅에서는 ownCloud(Private Cloud Storage) 설치에 앞서 이를 위한 선행 단계인 APM 스택을 우분투에 구축하는 방법을 알아본다.APM이란? ownCloud와 같은 웹 애플리케이션을 구동하기 위해서는 다음 세 가지 요소의 유기적인 연동이 필수적이다.Apache (Web Server - FrontEnd): 클라이언트(웹 브라우저)의 HTTP 요청을 받아들이는 진입점이다.PHP (Application Logic): 서버 측에서 애플리케이션의 로직을 처리하고, 데이터베이스와 통신하는 미들웨어 역할을 수행한다.MySQL (Database - BackEnd): 사용자 정보, 파..