Hadoop/Apache Hadoop (9) 썸네일형 리스트형 mapred-site 설정 값 상세내용 mapred-site.xml에 들어가는 설정 중 메모리와 관련 된 값에 대해 자세히 알아보도록 하겠습니다. ** mapreduce.map.memory.mb - map 작업 ( 컨테이너 생성시 )에 사용하는 memory 용량 맵리듀스 애플리케이션이 실행되려면 애플리케이션 마스터, 맵리듀스 태스크가 실행되어야 하므로 최소 3개의 컨테이너가 필요합니다. 1.mapreduce.map.memory.mb 2.mapreduce.reduce.memory.mb 3.yarn.app.mapreduce.am.resource.mb 의 합계가 yarn.nodemanager.resource.memory-mb보다 작게 설정되어야합니다. 또한 각 속성값들은 반드시 yarn.scheduler.maximum-allocation-mb 값 .. yarn-site.xml 설정 값 상세내용 yarn-site.xml에 들어가는 설정 중 메모리 및 cpu와 관련 된 값에 대해 자세히 알아보도록 하겠습니다. ** yarn.nodemanager.resource.memory-mb - 클러스터의 각 노드에서 컨테이너 운영에 설정할 수 있는 메모리의 총량 - 노드의 OS를 운영할 메모리를 제외하고 설정 - 기본값은 장비에 설정된 메모리의 80% 정도를 설정 ex) 노드의 메모리가 32G인경우 운영체제를 위한 4G를 제외하고 28G를 설정 ( 각 노드의 메모리 ) ** yarn.nodemanager.resource.cpu-vcores - 클러스터의 각 노드에서 컨테이너 운영에 설정할 수 있는 CPU의 개수 - 기본값은 장비에 설치된 CPU의 80% 정도를 설정 - 노드에 설치된 CPU가 40개일 경우 3.. Apache Hadoop ssh port 설정 ssh port의 기본 값은 22입니다. 하지만 환경에 따라 서버의 ssh port 값이 다를 수 있습니다. Apache Hadoop에서는 ssh port를 통해 다른 서버와 통신을 하기 때문에 기본 값이 22가 아니라면 설정을 통해 변경하여야 합니다. $HADOOP_HOME/etc/hadoop/hadoop-env.sh의 파일의 맨 밑에 내용을 추가합니다. export HADOOP_SSH_OPTS="-p " 예를 들어, hadoop 과 관련 된 서버들이 ssh port를 1002를 쓴다고 하면, 위 사진과 같이 내용을 추가합니다. export HADOOP_SSH_OPTS="-p 1002" Apache Hadoop 설치 4 ( Hadoop ) 마지막으로 hadoop 계정을 이용하여 hadoop을 설정하고 실행시켜보도록 하겠습니다. 1. Hadoop 계정 SSH key 생성 및 배포 Hadoop 계정 또한 서버 간의 통신이 되어야하기 때문에 key를 설정합니다. ssh-keygen ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop1 ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop2 ssh-copy-id -i .ssh/id_rsa.pub hadoop@hadoop3 ssh server01 exit ssh server02 exit ssh server03 exit 계정 키 배포 방식은 위의 키 배포 방식과 동일합니다. 2. Hadoop 3.1.0 설치파일 압축 해제 ** Hadoop 3.1.. Apache Hadoop (+ datanode 3대 추가) 기존 3개 서버로 구성되어 있는 hadoop에 datanode 3대를 추가해보겠습니다. 1. dn01 ( 추가할 데이터노드 서버 1 ) 2. dn02 ( 추가할 데이터노드 서버 2 ) 3. dn03 ( 추가할 데이터노드 서버 3 ) 먼저, 새로 구축된 데이터 노드와 하둡 서버 간의 SSH KEY 교환을 진행하도록 하겠습니다. 기존 하둡 서버 3대와 새로 추가된 데이터노드 서버 3대에서 host 정보를 수정합니다. vi /etc/hosts 모든 서버 동일하게 적용합니다. 키 교환을 하기에 앞서 추가 된 데이터 노드 서버 3대에서는 key를 생성해야합니다. dn01,dn02,dn03 서버의 각각 계정으로 진행해주세요. ssh-keygen 기존에 하둡 서버 3대에서 사용한 계정은 각각 hadoop 이라는 계정.. Apache Hadoop 설치 5 ( Hadoop 서버 테스트 ) 1. 액티브, 스탠바이 네임노드를 확인 active 네임노드 ./bin/hdfs haadmin -getServiceState hadoop1 active로 출력이 되면 현재 실행중인 상태입니다. 활성화가 되어있기 때문에 hadoop(ip주소):9870으로 접속하여 확인해 봅니다. standby 네임노드 ./bin/hdfs haadmin -getServiceState hadoop2 standby 또한 접속 가능합니다. hadoop2(ip주소):9870으로 접속 2. HDFS 확인 - HDFS가 구축되어있는지 확인합니다. - HDFS는 하둡 환경에서 분산 파일 시스템을 담당하는 하둡의 주요 모듈입니다. - 명령어를 사용하여 하둡이 실행되는 파일을 관리합니다. # hdfs 상의 루트 디렉토리 조회 hdfs df.. Apache Hadoop 설치 3 ( ZOOKEEPER ) zookeeper와 hadoop 계정을 만들고 권한을 부여합니다. 1. zookeeper 계정 생성 3개 서버에 zookeeper 계정을 생성해주세요 ex) 아이디 : zookeeper 비밀번호 : zookeeper이면 adduser zookeeper passwd zookeeper 2. hadoop 계정 생성 3개 서버에 hadoop 계정을 생성해주세요 ex) 아이디 : hadoop 비밀번호 : hadoop adduser hadoop passwd hadoop 3. HDFS의 여러 정보를 저장하기 위한 디렉토리 생성 및 Hadoop 계정 접근 권한 설정 3개 서버 모두 /dfs /yarn /pids 경로에 폴더 생성 및 폴더에 대한 hadoop 권한을 부여하고, 파일에 대한 그룹을 변경합니다. mkdir .. Apache Hadoop 설치 2 ( NTP, SELINUX ) NTP - Network Time Protocol(NTP)는 네트워크 환경으로 구성된 장비(서버, PC, 통신장비, 방화벽 장비 등)의 시스템 시간을 동기화 하기 위한 프로토콜 입니다. - NTP를 쓰는 이유는 내부 네트워크 환경으로 구성되어 있는 서버 시스템의 시스템 시간을 동일하게 구성하여 데이터의 신뢰성을 높이고자 할때 사용합니다. 먼저, NTP가 설치 되어 있지 않으면 설치합니다. yum install ntp 다음 NTP 환경설정을 합니다. 로컬내 서버끼리 설정이 되어있기 때문에 아래와 같이 설정합니다. vi /etc/ntp.conf hadoop1 ( 첫 번째 서버 ) restrict 앞에 # 제거 server 127.127.1.0 추가 hadoop2 ( 두 번째 서버 ) restrict 앞에 #.. Apache Hadoop 설치 1 ( SSH KEY ) 3개 서버를 이용하여 Apache Hadoop을 설치해보도록 하겠습니다. 서버명 1.Hadoop1 2.Hadoop2 3.Hadoop3 먼저, host에 각 서버를 등록합니다. vi /etc/hosts 192.168.xxx.xxx hadoop1 192.168.xxx.xxx hadoop2 192.168.xxx.xxx hadoop3 SSH KEY - 공개키 생성 후 서버에 등록을 하여 서버끼리 연동합니다. 모든 서버에서 key를 생성합니다 생성 이후 모든 서버로 키를 배포합니다. ssh-copy-id -i .ssh/id_rsa.pub root@hadoop1 ssh-copy-id -i .ssh/id_rsa.pub root@hadoop2 ssh-copy-id -i .ssh/id_rsa.pub root@hadoop.. 이전 1 다음