728x90
반응형
SMALL
hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
# Java
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# Hadoop
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="${HADOOP_OPTS} -Djava.library.path=$HADOOP_HOME/lib/native"
# For PID
# hadoop-USER-datanode.pid (DataNode)
# hadoop-USER-journalnode.pid (JournalNode)
# hadoop-USER-namenode.pid (NameNode)
# hadoop-USER-zkfc.pid (DFSZKFailoverController)
export HADOOP_PID_DIR=${HADOOP_HOME}/pids
export HADOOP_SECURE_PID_DIR=${HADOOP_PID_DIR}
hadoop-USER-datanode.pid | DataNode 프로세스의 PID를 저장하는 파일 이름 |
hadoop-USER-journalnode.pid | JournalNode 프로세스의 PID를 저장하는 파일 이름 |
hadoop-USER-namenode.pid | NameNode 프로세스의 PID를 저장하는 파일 이름 |
hadoop-USER-zkfc.pid | DFSZKFailoverController 프로세스의 PID를 저장하는 파일 이름 |
export HADOOP_PID_DIR=${HADOOP_HOME}/pids | HADOOP_PID_DIR 변수는 Hadoop PID 파일들이 저장될 디렉토리를 지정한다. 이 설정에서는 HADOOP_HOME 환경 변수에 설정된 Hadoop 설치 디렉토리 내의 pids 디렉토리를 사용한다. |
export HADOOP_SECURE_PID_DIR=${HADOOP_PID_DIR} | HADOOP_SECURE_PID_DIR 변수는 보안 모드에서 Hadoop PID 파일들이 저장될 디렉토리를 지정한다. 이 설정에서는 `HADOOP_PID_DIR`과 동일한 디렉토리를 사용하도록 설정되어 있다. |
여기서, USER는 실제 사용자 이름으로 대체된다.
hdfs-site.xml
vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<!-- configuration hadoop -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/data/dfs/journalnode</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>my-hadoop-cluster</value>
</property>
<property>
<name>dfs.ha.namenodes.my-hadoop-cluster</name>
<value>namenode1,namenode2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.my-hadoop-cluster.namenode1</name>
<value>master1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.my-hadoop-cluster.namenode2</name>
<value>master2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.my-hadoop-cluster.namenode1</name>
<value>master1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.my-hadoop-cluster.namenode2</name>
<value>master2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master1:8485;master2:8485;master3:8485/my-hadoop-cluster</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.my-hadoop-cluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>shell(/bin/true)</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/data/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data/data</value>
</property>
<!-- WebHDFS -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
core-site.xml
vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master1:9000</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://my-hadoop-cluster</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>master1:2181,master2:2181,master3:2181</value>
</property>
<!-- Trash config -->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>
</configuration>
core-site.xml
vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<!-- for Resource Manager HA configuration -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarn-cluster</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>master2</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>master1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>master2:8088</value>
</property>
<property>
<name>hadoop.zk.address</name>
<value>master1:2181,master2:2181,master3:2181</value>
</property>
</configuration>
core-site.xml
vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
mapreduce.framework.name | MapReduce 프레임워크를 YARN으로 지정 |
yarn.app.mapreduce.am.env | MapReduce Application Master의 환경 변수를 설정 |
mapreduce.map.env | Map 태스크의 환경 변수를 설정 |
mapreduce.reduce.env | Reduce 태스크의 환경 변수를 설정 |
이 설정 파일은 YARN 위에서 MapReduce 작업을 실행할 때 필요한 환경 설정을 정의한다.
PID 설정
프로세스의 ID 값인 pid를 저장할 디렉토리 생성한다.
mkdir -p ${HADOOP_HOME}/pids
workers 설정
Hadoop의 워커 노드 리스트 파일인 workers 파일을 편집한다.
vim $HADOOP_HOME/etc/hadoop/workers
slave1
slave2
slave3
masters 설정
Hadoop의 마스터 노드 리스트 파일인 masters 파일을 편집한다.
vim $HADOOP_HOME/etc/hadoop/masters
master1
master2
master3
728x90
반응형
LIST
'Data-driven Methodology > Hadoop' 카테고리의 다른 글
[Hadoop] 플럼 및 하이브 설정 (0) | 2024.06.21 |
---|---|
[Hadoop] 카프카 및 제플린 설정 (0) | 2024.06.21 |
[Hadoop] 주키퍼 및 스파크 설정 (0) | 2024.06.21 |
[Hadoop] 하둡 에코시스템 베이스 이미지 설치 (0) | 2024.06.20 |
하둡 (Hadoop) (0) | 2022.10.04 |