๊ด€๋ฆฌ ๋ฉ”๋‰ด

data_lab

[Apache Hadoop] Apache Hadoop / ํ•˜๋‘ก ์‹ฑ๊ธ€์„œ๋ฒ„ ์„ค์น˜ 3๋ฒ„์ „ ๋ณธ๋ฌธ

BIGDATA/ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ

[Apache Hadoop] Apache Hadoop / ํ•˜๋‘ก ์‹ฑ๊ธ€์„œ๋ฒ„ ์„ค์น˜ 3๋ฒ„์ „

๐Ÿฐํžˆํžˆ 2021. 3. 5. 01:31

์‹ฑ๊ธ€๋…ธ๋“œ์—์„œ ํ•˜๋‘ก์„ ์–ด๋–ป๊ฒŒ ์„ค์น˜ํ•˜๋Š”์ง€ ์ž‘์„ฑํ•˜๋ คํ•œ๋‹ค.

ํ•˜๋‘ก์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๊ธฐ๋ณธ์ ์œผ๋กœ os์—์„œ ์„ค์ •์„ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š”๊ฒŒ ์žˆ๋‹ค.

์ผ๋‹จ ๊ธฐ๋ณธ์ ์œผ๋กœ os ๋ฒ„์ „์€ cent os7.x ์ด๋‹ค.

์ธํ”„๋ผ๋ฅผ ์šด์˜ํ•  ๋•Œ root ๊ณ„์ •์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

๋‹ค๋ฅธ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜์—ฌ sudo ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›๊ณ  ์ตœ๋Œ€ํ•œ ๊ทธ ๊ณ„์ •์œผ๋กœ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

ํ•˜๋‘ก์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์—?

๋ฐฉํ™”๋ฒฝ์„ ๋‚ด๋ฆฌ๊ณ  selinux disabled ๊ทธ๋ฆฌ๊ณ  ์œ ์ €๊ณ„์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋˜๋„๋ก root๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ง„ํ–‰ํ•˜๋ คํ•œ๋‹ค.
์ž๋ฐ”๋Š” open jdk 1.8๋ฒ„์ „์„ ์„ค์น˜ํ•˜์—ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ํ•œ๋‹ค. 

ํ•ด๋‹น ๋‚ด์šฉ์€ ์ถ”ํ›„์— ์ถ”๊ฐ€์˜ˆ์ •์ด๋‹ค.

ํ•˜๋‘ก ์„ค์น˜

์„ค์น˜ ๋ฒ„์ „ : Apache Hadoop 3.1.1

ย 

Apache Hadoop 3.1.1 โ€“ Hadoop Cluster Setup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ sudo yum install openssh*
 
$ wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
$ sudo tar xvzf hadoop-3.1.1.tar.gz -/home/hadoop
$ cd /home/hadoop
 
$ vi .bash_profile
#JAVA
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
ClASSPATH=$JAVA_HOME/lib/*:$CLASSPATH
 
#HADOOP
export HADOOP_HOME=/data/platform/hadoop-3.1.1
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH CLASSPATH 
 
$ source .bash_profile
 
cs

 

ํ•˜๋‘ก ์„ค์น˜ ํ›„ ํ•˜๋‘ก config ์„ค์ • ํ•˜๊ธฐ [์‹ฑ๊ธ€๋…ธ๋“œ ๊ธฐ์ค€// ํด๋Ÿฌ์Šคํ„ฐ์ผ ๊ฒฝ์šฐ port, hostname ๋“ฑ๋“ฑ ๊ณ ๋ คํ•˜์—ฌ ์„ค์ •ํ•ด์•ผํ•จ]

 

hadoop-env.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
 
# To prevent accidents, shell commands be (superficially) locked
# to only allow certain users to execute certain subcommands.
# It uses the format of (command)_(subcommand)_USER.
#
# For example, to limit who can execute the namenode command,
# export HDFS_NAMENODE_USER=hdfs
 
# export HADOOP_CLASSPATH=
 
export HDFS_NAMENODE_USER="user_name"
export HDFS_DATANODE_USER="user_name"
export HDFS_SECONDARYNAMENODE_USER="user_name"
cs

yarn-env.sh

1
2
3
4
$ vi $HADOOP_HOME/etc/hadoop/yarn-env.sh
#YARN USER SETTING
export YARN_RESOURCEMANAGER_USER="user_name"
export YARN_NODAMANAGER_USER="user_name"
cs

core-site.xml

1
2
3
4
5
6
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
cs

 

hdfs-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<configuration>
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>
    <property>
      <name>dfs.namenode.rpc-bind-host</name>
      <value>0.0.0.0</value>
    </property>
    <property>
      <name>dfs.namenode.servicerpc-bind-host</name>
      <value>0.0.0.0</value>
    </property>
    <property>
      <name>dfs.namenode.http-bind-host</name>
      <value>0.0.0.0</value>
    </property>
    <property>
      <name>dfs.namenode.https-bind-host</name>
      <value>0.0.0.0</value>
    </property>
    <property>
      <name>dfs.client.datanode-restart.timeout</name>
      <value>30</value>
    </property>
</configuration>
cs

mapred-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.map.memory.mb</name>
    <value>1024</value>
  </property>
  <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2560</value>
  </property>
  <property>
    <name>mapreduce.application.classpath</name>
    <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hostname:10020</value>
 </property>
</configuration>
cs

 

yarn-site.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hostname:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>hostname:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>hostname:8031</value>
    </property>    
</configuration>
cs

 

์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ๋…ธ๋“œ, ๋„ค์ž„๋…ธ๋“œ์˜ ํฌํŠธ๋ฒˆํ˜ธ๋Š” ์ถ”ํ›„ ๋‹ค๋ฅธ ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ ์„ค์น˜ํ•  ๋•Œ ๋„ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•ด์ค˜์•ผํ•˜๋Š” ๋ถ€๋ถ„์ด์žˆ๋‹ค.

 

 

* 1GB = 1024 MB

* 1GiB = 1000MB

 

728x90
๋ฐ˜์‘ํ˜•