요즘에는 컴퓨터와 관련된 비즈니스 또는 작업이 처리하는 데 두 대 이상의 컴퓨터가 필요할 정도로 성장하면 작업 부하를 보다 효율적으로 처리하기 위해 즉시 여러 대의 컴퓨터를 단일 네트워크의 일부로 사용하기 시작합니다. 오늘날 데이터 과학과 같은 분야의 거의 모든 작업이 이러한 네트워크로 연결된 컴퓨터에 의해 수행될 정도로 이는 일반화되었습니다. 까다로운 컴퓨터 작업을 수행하는 것이 이 방법으로 더 효율적이라는 것은 의심의 여지가 없지만 각 컴퓨터를 개별적으로 구성한 다음 작업을 진행하면서 전체 네트워크를 관리해야 하기 때문에 엄청나게 복잡하기도 합니다. Hadoop과 같은 프로그램이 문제를 해결하기 위해 등장하는 곳입니다.
Hadoop은 Apache에서 출시한 도구 및 프로그램 모음으로, 여러 컴퓨터를 함께 네트워킹하는 전체 프로세스를 훨씬 더 효율적이고 쉽게 수행할 수 있습니다. 따라서 이 기사에서는 Hadoop을 검토하고, 사용 사례를 조사하고, 장단점을 검토하고, 고급 아키텍처에 대한 개요를 제공한 후 Ubuntu 20.04에 Hadoop을 설치하는 방법에 대한 단계별 가이드로 넘어가서 이 2024 Hadoop 튜토리얼을 마무리하겠습니다.
아파치 하둡이란 무엇입니까?
Apache로 구동되는 도구 모음인 Hadoop은 15년 넘게 네트워크 설정과 활용을 변화시켜 왔습니다. 사용자는 Hadoop의 리소스 효율성을 활용하여 값비싼 업그레이드 없이도 현재의 컴퓨팅 성능을 까다로운 작업에 활용할 수 있습니다. 이 제품군은 HDFS, YARN, MapReduce 및 Hadoop Common의 4개 모듈로 구성되며 각 모듈은 특정 사용 사례에 맞게 설계되었습니다.
Hadoop의 뛰어난 점은 개인과 조직 모두가 기존 컴퓨팅 기능을 상당한 컴퓨팅 문제를 극복할 수 있는 응집력으로 통합할 수 있도록 교묘하게 권한을 부여하는 고유한 자원에 있습니다. Hadoop의 지침이 없었다면 이러한 기업은 점점 더 강력해지는 컴퓨팅 시스템을 확보하기 위해 비용이 많이 드는 작업을 시작하지 않을 수 없었을 것입니다.
하둡 사용 사례
이제 우리는 Hadoop이 무엇인지 알았습니다. 하지만 그 사용 사례가 실제 세계에서 정확히 어떻게 적용됩니까? 서류상으로 프로그램을 이해하는 것은 훌륭하지만, 진지한 작업의 일부로서 그 잠재력을 깨닫는 것을 대체할 수는 없습니다. 따라서 여기서는 Hadoop 튜토리얼로 넘어가기 전에 몇 가지 예를 제공하겠습니다.
위험 분석
이미 언급했듯이 Hadoop을 사용하면 단일 네트워크 장치의 일부로 여러 컴퓨터 시스템의 성능을 활용하여 광범위한 데이터 배치를 효율적으로 처리하고 평소보다 빠르게 분석할 수 있습니다. 모든 비즈니스에는 분석과 계산이 필요한 위험이 있습니다. Hadoop은 여기서 매우 편리합니다. 실제로 많은 신뢰할 수 있는 병원에서는 이를 사용하여 다양한 치료법의 위험을 분석하고 환자에 대한 수술의 잠재적인 결과와 통계를 추측합니다. 여기에서 의료 분야에서 Hadoop의 혁명적인 역할에 대해 자세히 알아보세요.
보안 위반 감지
네트워크 또는 비즈니스 내에서 네트워킹 및 활용되는 장치의 전체 양이 증가함에 따라 염두에 두어야 할 잠재적인 보안 위반이 점점 더 많아지고 있습니다. Hadoop의 필수 유틸리티 중 하나는 대규모 데이터 배치를 분석하고 해당 시스템의 잠재적 문제점을 강조하여 작업 전체를 평가하는 것입니다.
매핑 검토
많은 기업이 제품을 개선하거나 새로운 시장 전략을 개발하기 위해 제품에 대한 리뷰 피드백에 의존합니다. 인간이 충분히 큰 검토 파일을 처리하는 데는 오랜 시간이 걸리지만 Hadoop은 네트워크로 연결된 컴퓨터 마법을 사용하여 훨씬 더 빠른 결과를 얻을 수 있습니다.
시장 분석
시장 전략에 관해 말하자면, 앞서 언급한 검토 매핑은 새로운 제품이 시장에 진입할 가능성을 평가하기 위해 시장을 분석하는 데 필요한 자원의 수와 비교할 수 없습니다. 이는 소규모 신생 기업이라도 효율적인 시간과 방식으로 여러 대의 컴퓨터를 사용하여 효율적으로 시장을 평가할 수 있도록 해주기 때문에 Hadoop이 빛을 발하는 또 다른 사용 사례입니다.
로그 파일 평가
시간이 지날수록 더욱 복잡해지고 중요해지는 비즈니스의 또 다른 측면은 전반적으로 사용하게 될 소프트웨어의 양입니다. 점점 더 많은 소프트웨어를 사용하면 잠재적인 버그와 문제점이 더 많이 발생하고 로그 파일을 관리하고 문제를 처리할 전담 직원이 필요합니다. 이 작업에는 많은 시간이 소요되지만 몇 가지 쉬운 프로토콜을 사용하면 기업은 Hadoop을 사용하여 로그 파일을 신속하게 검토 및 평가하여 이러한 버그를 찾아 제거할 수 있습니다.
그 밖에도 수많은 Hadoop 사용 사례와 애플리케이션이 있지만 기사의 목적에 초점을 맞추기 위해 더 이상 논의하지 않겠습니다.
하둡 아키텍처 개요
Hadoop과 Hadoop의 전반적인 사용 사례, 그리고 Hadoop의 기능에 대해 들어봤다고 가정해 보겠습니다. 그렇지 않더라도 이 기사는 아마도 지금까지 그렇게 해왔을 것입니다. 그러나 이제는 Hadoop이 실제로 무엇으로 구성되어 있는지, Hadoop의 각 부분이 다른 기능과 어떻게 작동하는지에 대해 심층적으로 이해해야 합니다. 앞에서 언급했듯이 Hadoop에는 네 가지 일반 계층이 있습니다. Hadoop 튜토리얼의 이 부분에서는 HDFS(Hadoop Distributed File System), YARN(Yet Another Resource Negotiator), MapReduce 및 Hadoop Common에 대해 자세히 알아봅니다. 그러나 Hadoop Common에는 설명이 필요한 기능이 많지 않기 때문에 그 핵심은 다음과 같습니다. 사육사. 따라서 이 섹션에서는 고급 Hadoop 아키텍처와 생태계, 그리고 네 가지 섹션을 기본 용어로 요약한 다음 마지막으로 Ubuntu 20.04에 Hadoop을 설치하는 방법을 살펴보겠습니다.
HDFS
Hadoop 생태계의 HDFS는 모든 Hadoop 하위 섹션과 애플리케이션이 데이터를 평가, 전송 및 저장하는 데 사용하는 전체 스토리지 시스템을 구성합니다. HDFS 아키텍처의 주요 요점은 오픈 소스 프로그램인 Hadoop 자체와 달리 Hadoop의 HDFS는 실제로 단일 Hadoop 클러스터의 모든 기본 작업을 실행하는 파일 시스템이라는 것입니다. HDFS는 데이터 배치를 128MB의 틈으로 나누고 시퀀스 기반 작업에 맞게 최적화하는 복원력이 뛰어난 파일 시스템입니다.
Hadoop 소프트웨어에서 HDFS의 주요 역할은 전체 데이터 랙의 일부로 모든 데이터를 제공하는 것입니다. 그런 다음 데이터 분석 작업을 구성하기 위해 다양한 네임노드와 보조 랙을 통해 하위 섹션으로 조작할 수 있습니다. 그런 다음 저널 랙, QJM, HA, fsimage와 같은 다른 옵션을 사용하고 로그 파일과 전체 범례 로그를 편집하여 다른 작업을 추적하고 수행할 수 있습니다.
방사
YARN은 Hadoop 생태계 내의 특정 애플리케이션에 원하는 양의 컴퓨팅 자산을 할당하는 데 사용되는 Hadoop의 또 다른 실행 지점입니다. 본질적으로 클라이언트가 리소스 관리자를 사용하여 다양한 노드 집합을 통해 다양한 작업 및 애플리케이션에 이러한 리소스를 할당할 수 있습니다. HDFS의 범례와 유사한 YARN 범례도 있어 할당된 모든 자산과 작업을 추적할 수 있습니다. YARN 자체는 리소스 관리자, 애플리케이션 마스터 및 노드 관리자의 세 가지 하위 섹션으로 나뉩니다.
이 세 개의 하위 섹션은 각각 클러스터, 애플리케이션, 노드별로 새로운 인스턴스를 생성합니다. YARN을 사용하여 다양한 작업에 리소스를 할당할 수 있을 뿐만 아니라 이러한 리소스가 시간이 지남에 따라 변경되도록 예약하여 고급 알고리즘 워크플로를 마련할 수도 있습니다. YARN은 하위 섹션에만 국한되지 않습니다. 리소스를 할당하고 전체 작업을 평가하기 위해 HDFS 및 Zookeeper와 같은 다른 아키텍처 계층과 함께 YARN을 사용하는 경우가 많이 있습니다.
하둡 맵리듀스
Hadoop MapReduce는 Hadoop 생태계의 또 다른 주요 구성 요소입니다. Ubuntu에 Hadoop을 설치하면 이 기능을 사용하여 여러 컴퓨터에서 분산 방식으로 분석된 대규모 데이터 배치를 효과적으로 얻을 수 있습니다. 본질적으로 Hadoop MapReduce는 다음과 같이 작동합니다. 즉, 대규모 데이터 맵을 프로그램에 입력합니다. 이 데이터 맵은 섞이고 세분화되어 네트워크로 연결된 컴퓨터에 배포됩니다. 그 후, 리듀서(reducer)라고 알려진 특정 프로토콜을 사용하여 데이터를 가장 필수적인 구성 요소로 요약하고 축소합니다. 이러한 각 작업을 작업이라고 합니다.
MapReduce로 분석하려는 데이터 맵 역할을 하는 세 단어로 된 문장이 있다고 가정해 보겠습니다. 문장이 Bear Hunt Rabbit이라고 가정해 보겠습니다. Hadoop MapReduce는 이 문장을 각각 하나의 단어로 구성된 세 가지 다른 배치로 분해하고 줄인 다음 이 단어를 사용하고 다른 작업의 유사한 데이터 입력과 새로운 조합을 만들어 불필요한 데이터가 제거된 최종 균질화된 데이터 배치를 생성하고 쉽게 분석할 수 있습니다.
사육사
Zookeeper는 처음에 Hadoop 버전 2.0이 출시되면서 널리 사용되기 시작한 Hadoop 생태계의 또 다른 하위 섹션입니다. Zookeeper의 주요 서비스 지점은 단일 Hadoop 인스턴스의 일부로 실행 중인 다양한 작업을 조정하는 것입니다. 따라서 Zookeeper는 거의 항상 YARN의 Resource Manager 및 Hadoop의 HDFS의 다양한 기능과 함께 사용됩니다. 이러한 작업에서 Zookeeper의 주요 용도는 잠재적인 실패 지점을 감지하고 해결하는 것입니다. 이를 위해 ZKFiloverControer와 Zookeeper Quorum이라는 두 가지 도구를 사용합니다.
이 절차에서 Hadoop 아키텍처의 다른 구성 요소에 의해 관리되는 데이터 노드는 사용자가 감독하는 활성 네임노드로 분류됩니다. 그 후, 각 네임노드는 앞서 언급한 Zookeeper의 두 하위 섹션 내에서 정밀 조사를 거칩니다. 이는 어려움이 있는 영역을 정확히 찾아내고 잠재적인 오류를 식별하기 위해 수행됩니다.
Ubuntu 20.04에 Hadoop 설치 – 단계별 가이드
마지막으로 Hadoop 아키텍처에 대해 배운 후 이 Hadoop 튜토리얼의 마지막 부분으로 Ubuntu 20.04에 Hadoop을 설치하는 방법에 대한 문제의 핵심을 알아볼 시간입니다. Ubuntu 20.04에 Hadoop을 설치하는 단계별 가이드로 넘어가기 전에 전제 조건을 살펴보겠습니다. 이 가이드는 Ubuntu 18.04에도 사용할 수 있습니다.
전제조건
Ubuntu에 Hadoop을 설치하는 데 필요한 전제 조건은 매우 간단합니다. 필요한 것은 로컬에서 사용 가능하거나 VPS 서버를 통해 원격으로 액세스할 수 있는 루트 액세스 권한이 있는 Ubuntu 기반 컴퓨터뿐입니다. 필수 프로그램과 관련하여 Java 11 및 SSH가 이미 설치되어 있는지 확인하세요. 없는 경우 다음 명령을 한 번에 하나씩 실행하여 설치하십시오.
sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y
라이센스는 Hadoop이 무료이며 오픈 소스이므로 필요하지 않습니다. 그게 전부입니다. 1단계로 넘어가겠습니다.
1단계: Hadoop에 대한 루트가 아닌 사용자 생성
다음 명령을 사용하여 Hadoop에 대한 루트가 아닌 사용자를 생성합니다. 이는 실제로 Hadoop을 다운로드하고 설치하기 전에 수행해야 하는 사전 구성의 일부입니다.
sudo adduser hdoop
su - hdoop
2단계: SSH 키 설정
이제 Ubuntu에 Hadoop을 설치하기 위해 방금 생성한 Hadoop 사용자를 사용하여 SSH 연결을 설정합니다. SSH 키 쌍을 생성하고 저장하려면 다음 명령을 사용하세요.
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
키가 생성되면 다음 줄을 사용하여 키를 다음으로 표시할 수 있습니다. 승인_키 SSH 디렉터리에 저장합니다.
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
이제 다음 명령을 사용하여 SSH 연결에 필요한 모든 권한이 있는지 확인하세요.
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
변경 사항을 확인하면 언제든지 사용자가 만든 로컬 호스트에 쉽게 연결할 수 있습니다.
ssh localhost
3단계: Ubuntu에서 Hadoop 다운로드 및 설치
당신은 방문 할 수 있습니다 아파치 하둡 웹사이트 최근 변경 로그가 포함된 버전 목록을 확인하세요. 원하는 버전을 선택하면 Ubuntu에서 Hadoop을 다운로드하고 설치하기 위해 다음 명령과 함께 사용할 수 있는 링크가 제공됩니다. 여기서는 버전 3.3.6을 선택합니다. 필요한 경우 '3.3.6'을 최신 안정 버전으로 바꾸십시오.
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
다운로드가 끝나면 다음 줄을 사용하여 추출 및 설치 프로세스를 완료하세요.
tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop
4단계: Hadoop 환경 구성
세트 자바_홈 in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:
echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh
5단계: 구성 파일 편집
클러스터 설정으로 Hadoop의 XML 구성 파일을 업데이트합니다.
nano /usr/local/hadoop/etc/hadoop/core-site.xml
6단계: HDFS 포맷
Hadoop 파일 시스템 네임스페이스를 초기화합니다.
/usr/local/hadoop/bin/hdfs namenode -format
7단계: Hadoop 서비스 시작
HDFS 및 YARN 서비스를 시작합니다.
/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh
8단계: 설치 확인
실행 중인 Java 프로세스를 확인하여 Hadoop이 실행 중인지 확인하세요.
jps
9단계: 웹 인터페이스에 액세스
Hadoop의 NameNode 및 ResourceManager 인터페이스에 대한 웹 브라우저를 엽니다.
네임노드: http://localhost:9870
리소스 관리자: http://localhost:8088
10단계: MapReduce 예제 실행
샘플 MapReduce 작업을 실행하여 설정을 검증합니다.
/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*
11단계: 환경 변수 설정
Hadoop 추가 큰 상자 그리고 스빈 디렉토리를 시스템 PATH에 추가합니다.
echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc
그리고 그게 다야! Ubuntu 20.04에서 Apache Hadoop을 성공적으로 구성하고 설치했습니다!
결론
요약하자면, Ubuntu 20.04에 Hadoop을 설치하는 것은 세심한 주의와 설정의 미묘한 차이를 탐색할 준비가 필요한 철저한 프로세스입니다. 이 가이드에 제공된 단계를 따르면 Ubuntu 사용자는 Hadoop의 실질적인 기능을 활용하여 데이터 분석 추구의 잠재력을 완전히 실현하는 혁신적인 여정을 시작할 수 있습니다.
제가 추천하는 것은 Hadoop을 배우고 활용하려는 경우 제한된 배포를 사용하여 단일 노드 배포로 Hadoop을 배포하는 것입니다. 이를 위해 VPS는 귀하에게 완벽하게 작동합니다. Cloudzy는 다양한 기능을 제공합니다. 리눅스 VPS 서비스 Ironclad를 포함하여 신뢰할 수 있는 우분투 VPS 완벽한 Hadoop 학습 놀이터가 되도록 즉시 구성할 수 있습니다. 월 $4.95부터 시작하여 12개 이상의 위치와 연중무휴 지원을 제공하는 자신만의 Ubuntu VPS를 얻을 수 있습니다!
분명한 선택
Linux 실행 서버의 대부분은 Ubuntu를 사용하고 있습니다. 너는 왜 안돼? 모두가 Ubuntu를 좋아하는 이유를 알아보세요 — 최적화된 Ubuntu VPS를 받으세요
우분투 VPS를 받으세요FAQ
HDFS와 MapReduce의 차이점은 무엇입니까?
두 모듈 모두 Hadoop 생태계에 있지만 서로 다른 목적을 제공합니다. HDFS는 분산 파일 시스템으로 작동하여 데이터 접근성을 용이하게 합니다. 반면에 MapReduce는 대규모 데이터 청크를 분할하고 효율적으로 분석하는 데 탁월합니다.
Hadoop은 데이터베이스로 간주됩니까?
Hadoop은 데이터베이스가 아니지만 이러한 오해는 흔합니다. 오히려 상호 연결된 컴퓨터의 네트워크를 사용하여 방대한 데이터를 저장하고 처리할 수 있는 분산 파일 시스템으로 작동합니다. 기존 데이터베이스 시스템을 직접 대체하는 용도로 사용해서는 안 됩니다.
Hadoop의 네 가지 주요 구성 요소는 무엇입니까?
Hadoop은 HDFS(Hadoop Distributed File System), YARN(Yet Another Resource Negotiator), MapReduce 및 Hadoop Common의 네 가지 핵심 구성 요소로 구성됩니다. 또한 공식적으로 인정되지는 않지만 일부 리소스에서는 ZooKeeper를 구성 요소로 간주합니다.
Hadoop은 일반적으로 어디에 활용됩니까?
Hadoop은 대규모 데이터의 관리, 저장, 처리 및 분석이 필수적인 다양한 도메인에서 애플리케이션을 찾습니다. 중견 기업과 병원부터 급성장하는 스타트업까지 다양한 운영에 적합하며 데이터 기반 솔루션을 제공합니다.