tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집

Hadoop 설치 및 설정

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-01-24 13:04:03
Hadoop 툴은 Hadoop-2.7.2 이상의 버전에 종속되어 있으며, Tencent Cloud COS가 기본 레이어의 파일 저장 시스템이 되어 상위 레이어의 컴퓨팅 작업을 실행하는 기능을 합니다. Hadoop 클러스터 실행에는 주요하게 단독 모드, 의사 분산 모드, 완전 분산 모드의 세 가지 모드가 있으며, 본 문서에서는 Hadoop-2.7.4 버전을 사용하여 Hadoop 완전 분산 모드 환경에서의 구축 및 간단한 wordcount 테스트에 대해 소개합니다.

환경 준비

몇 대의 기기를 준비합니다.
시스템 설치 및 구성은 CentOS 공식 사이트에서 다운로드하여 설치할 수 있습니다. 이 문서에서는 CentOS 7.3.1611 버전을 사용합니다.
Java를 설치합니다. 자세한 작업 방법은 Java 설치 및 설정을 참조하십시오.
Hadoop 가용 패키지 설치: Apache Hadoop Releases Download

네트워크 설정

ifconfig -a를 사용해 각 기기의 IP를 확인하고, 상호간에 ping 명령어를 사용하여 ping 연결 가능 여부를 확인합니다. 각 기기의 IP는 모두 기록해 놓습니다.

CentOS 설정

hostname 구성

각 기계에 적절한 hostname 을 설정합니다. 예를 들어 "master", "slave*" 등.
hostnamectl set-hostname master

hosts 설정

vi /etc/hosts
내용 편집:
202.xxx.xxx.xxx master
202.xxx.xxx.xxx slave1
202.xxx.xxx.xxx slave2
202.xxx.xxx.xxx slave3
//IP 주소는 리얼 IP 주소로 대체

방화벽 해제

systemctl status firewalld.service # 방화벽 상태 확인
systemctl stop firewalld.service # 방화벽 해제
systemctl disable firewalld.service # 시작 시 방화벽 실행 금지

시간 동기화

yum install -y ntp # ntp 서비스 설치
ntpdate cn.pool.ntp.org # 네트워크 시간 동기화

JDK 설치 및 설정

JDK 설치 패키지(예: jdk-8u144-linux-x64.tar.gz)를 루트(root) 디렉터리에 업로드합니다.
mkdir /usr/java
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
rm -rf jdk-8u144-linux-x64.tar.gz

각 호스트 간에 JDK 복사

scp -r /usr/java slave1:/usr
scp -r /usr/java slave2:/usr
scp -r /usr/java slave3:/usr
.......

각 호스트의 JDK 환경변수 설정

vi /etc/profile
내용 편집:
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
파일을 저장한 후 /etc/profile 을 적용하려면 다음 명령을 실행하십시오:
source /etc/profile # 구성 파일 적용
java -version # java 버전 확인

SSH 키 없는 액세스 설정

각 호스트에서 SSH 서비스 상태를 확인합니다.
systemctl status sshd.service # SSH 서비스 상태 확인
yum install openssh-server openssh-clients # SSH 서비스 설치. 이미 설치되어 있는 경우 해당 절차 생략
systemctl start sshd.service # SSH 서비스 실행. 이미 설치되어 있는 경우 해당 절차 생략
각 호스트에서 키를 생성합니다.
ssh-keygen -t rsa # 키 생성
slave1:
cp ~/.ssh/id_rsa.pub ~/.ssh/slave1.id_rsa.pub
scp ~/.ssh/slave1.id_rsa.pub master:~/.ssh
slave2:
cp ~/.ssh/id_rsa.pub ~/.ssh/slave2.id_rsa.pub
scp ~/.ssh/slave2.id_rsa.pub master:~/.ssh
이상과 같이 모두 실행... master:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
cat slave1.id_rsa.pub >>authorized_keys
cat slave2.id_rsa.pub >>authorized_keys
scp authorized_keys slave1:~/.ssh
scp authorized_keys slave2:~/.ssh
scp authorized_keys slave3:~/.ssh

Hadoop 설치 및 설정

Hadoop 설치

hadoop 설치 패키지(예: hadoop-2.7.4.tar.gz)를 루트(root) 디렉터리에 업로드합니다.
tar -zxvf hadoop-2.7.4.tar.gz -C /usr
rm -rf hadoop-2.7.4.tar.gz
mkdir /usr/hadoop-2.7.4/tmp
mkdir /usr/hadoop-2.7.4/logs
mkdir /usr/hadoop-2.7.4/hdf
mkdir /usr/hadoop-2.7.4/hdf/data
mkdir /usr/hadoop-2.7.4/hdf/name
hadoop-2.7.4/etc/hadoop 디렉터리로 이동하여 다음 단계 작업을 진행합니다.

Hadoop 설정

1. hadoop-env.sh 파일 수정 및 추가
export JAVA_HOME=/usr/java/jdk1.8.0_144
SSH 포트 기본값이 22가 아닌 경우, hadoop-env.sh 파일에서 다음과 같이 수정할 수 있습니다.
export HADOOP_SSH_OPTS="-p 1234"
2. yarn-env.sh 수정
export JAVA_HOME=/usr/java/jdk1.8.0_144
3. slaves 수정
설정 내용:
삭제:
localhost
추가:
slave1
slave2
slave3
4. core-site.xml 수정
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop-2.7.4/tmp</value>
</property>
</configuration>
5. hdfs-site.xml 수정
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hadoop-2.7.4/hdf/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop-2.7.4/hdf/name</value>
<final>true</final>
</property>
</configuration>
6. mapred-site.xml.template 파일을 복사하여 mapred-site.xml 로 이름을 변경합니다.
cp mapred-site.xml.template mapred-site.xml
7. mapred-site.xml 수정
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
8. yarn-site.xml 수정
<configuration>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
9. 각 호스트 간에 Hadoop 복사
scp -r /usr/ hadoop-2.7.4 slave1:/usr
scp -r /usr/ hadoop-2.7.4 slave2:/usr
scp -r /usr/ hadoop-2.7.4 slave3:/usr
10. 각 호스트에 Hadoop 환경변수 설정
구성 파일 열기:
vi /etc/profile
내용 편집:
export HADOOP_HOME=/usr/hadoop-2.7.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_LOG_DIR=/usr/hadoop-2.7.4/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
구성 파일 적용:
source /etc/profile

Hadoop 실행

1. namenode 포맷
cd /usr/hadoop-2.7.4/sbin
hdfs namenode -format
2. 실행
cd /usr/hadoop-2.7.4/sbin
start-all.sh
3. 프로세스 검사
master 호스트에 ResourceManager, SecondaryNameNode, NameNode 등이 포함되어 있으면 성공적으로 실행되었다는 의미입니다. 예시:
2212 ResourceManager
2484 Jps
1917 NameNode
2078 SecondaryNameNode
각 slave 호스트에 DataNode, NodeManager 등이 포함되어 있으면 성공적으로 실행되었다는 의미입니다. 예시:
17153 DataNode
17334 Jps
17241 NodeManager

wordcount 실행

Hadoop에는 wordcount 프로세스가 포함되어 있어 직접 호출할 수 있습니다. Hadoop 실행 후, 다음의 명령어를 통해 HDFS에 있는 파일을 작업할 수 있습니다.
hadoop fs -mkdir input
hadoop fs -put input.txt /input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /input /output/

위 이미지와 같은 결과가 나타나면 Hadoop 설치가 모두 완료되었다는 의미입니다.

출력 디렉터리 조회

hadoop fs -ls /output

출력 결과 조회

hadoop fs -cat /output/part-r-00000

설명:
단독 모드 및 의사 분산 모드의 자세한 작업 방법은 공식 홈페이지 Hadoop 입문을 참조하십시오.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백