반응형
도커(docker)로 하둡(Hadoop) 설치 방법
일반적으로 로컬에 Hadoop을 설치하는 방법은 복잡하고 어렵다.
그래서 도커(docker)를 활용해서 하둡(hadoop)을 설치해봤다.
방법은 간단하다.
먼저 아래 링크에 접속한다.
https://hub.docker.com/r/apache/hadoop
Docker
hub.docker.com
아파치에서 관리하는 하둡 도커 이미지다.
다음으로 디렉토리를 하나 만들고 docker-compose-yaml 파일을 만들어서 아래 명령어를 입력한다
나같은 경우는 hadoop → docker-compose.yaml 과 같은 경로로 만들었다
version: "2"
services:
namenode:
image: apache/hadoop:3
hostname: namenode
command: ["hdfs", "namenode"]
ports:
- 9870:9870
env_file:
- ./config
environment:
ENSURE_NAMENODE_DIR: "/tmp/hadoop-root/dfs/name"
datanode:
image: apache/hadoop:3
command: ["hdfs", "datanode"]
env_file:
- ./config
resourcemanager:
image: apache/hadoop:3
hostname: resourcemanager
command: ["yarn", "resourcemanager"]
ports:
- 8088:8088
env_file:
- ./config
volumes:
- ./test.sh:/opt/test.sh
nodemanager:
image: apache/hadoop:3
command: ["yarn", "nodemanager"]
env_file:
- ./config
다음으로 동일한 경로에 config 파일을 하나 더 만들고 아래 내용을 입력한다.
CORE-SITE.XML_fs.default.name=hdfs://namenode
CORE-SITE.XML_fs.defaultFS=hdfs://namenode
HDFS-SITE.XML_dfs.namenode.rpc-address=namenode:8020
HDFS-SITE.XML_dfs.replication=1
MAPRED-SITE.XML_mapreduce.framework.name=yarn
MAPRED-SITE.XML_yarn.app.mapreduce.am.env=HADOOP_MAPRED_HOME=$HADOOP_HOME
MAPRED-SITE.XML_mapreduce.map.env=HADOOP_MAPRED_HOME=$HADOOP_HOME
MAPRED-SITE.XML_mapreduce.reduce.env=HADOOP_MAPRED_HOME=$HADOOP_HOME
YARN-SITE.XML_yarn.resourcemanager.hostname=resourcemanager
YARN-SITE.XML_yarn.nodemanager.pmem-check-enabled=false
YARN-SITE.XML_yarn.nodemanager.delete.debug-delay-sec=600
YARN-SITE.XML_yarn.nodemanager.vmem-check-enabled=false
YARN-SITE.XML_yarn.nodemanager.aux-services=mapreduce_shuffle
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.maximum-applications=10000
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.maximum-am-resource-percent=0.1
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.queues=default
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.capacity=100
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.user-limit-factor=1
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.maximum-capacity=100
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.state=RUNNING
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.acl_submit_applications=*
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.root.default.acl_administer_queue=*
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.node-locality-delay=40
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.queue-mappings=
CAPACITY-SCHEDULER.XML_yarn.scheduler.capacity.queue-mappings-override.enable=false
이제 hadoop 폴더 안에 config, docker-compose.yaml 파일이 있어야하고 위의 내용이 모두 입력되어야 한다.
대략 아래와 같은 결과가 나오면 hadoop 설치가 정상적으로 완료된 것이다.
docker-compose up -d
✔ Network hadoop_default Created 0.1s
✔ Container hadoop-resourcemanager-1 Sta... 6.7s
✔ Container hadoop-nodemanager-1 Started 6.6s
✔ Container hadoop-namenode-1 Started 5.8s
✔ Container hadoop-datanode-1 Started 6.7s
이제 아래와 같은 경로로 들어가면 정상적으로 hadoop UI가 보이는 것을 확인할 수 있다.
반응형
'docker' 카테고리의 다른 글
도커(docker) 하둡(hadoop) 쉘(shell) 접속 방법 (0) | 2024.02.07 |
---|---|
도커(docker)로 우분투(ubuntu) 설치 방법 (0) | 2024.02.03 |
System has not been booted with systemd as init system (PID 1). Can't operate. (0) | 2023.11.09 |