๋ฐ˜์‘ํ˜•

์ฃผํ‚คํผ๋ž€ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ถ„์‚ฐ ์ฝ”๋””๋„ค์ด์…˜์ด๋‹ค.

 

znode(์ €๋„๋…ธ๋“œ)๊ฐ€ ๊ฐ๊ฐ์˜ ์„œ๋ฒ„์— ์œ„์น˜ํ•ด ์žˆ๋‹ค.

๊ฐ ํ•˜๋‘ก์˜ ์„œ๋น„์Šค๋“ค์ด ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์ฃผ๊ธฐ์ ์œผ๋กœ ํ•˜ํŠธ๋น„ํŠธ ์š”๊ตฌํ•˜์—ฌ ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ,

 

๋”ฐ๋ผ์„œ ์ฃผ๊ธฐํผ๋Š” ํ™€์ˆ˜๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ

์—ฌ๊ธฐ์„œ ๋“ค์–ด๊ฐ€๋Š” ๊ฐœ๋…์ด ์ฟผ๋Ÿผ์ด๋‹ค.

 

์ฟผ๋Ÿผ์ด๋ž€? 

๋‹ค์ˆ˜๊ฒฐ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด 5๊ฐœ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ ๋˜์–ด์žˆ๊ณ ,

2๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์ฃฝ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  5๊ฐœ ์ค‘ 3๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์ฃฝ์—ˆ์„ ๊ฒฝ์šฐ, ๋‹ค์ˆ˜๊ฒฐ๋กœ ์ธํ•ด ๋น„์ •์ƒ์ด๋ผ๊ณ  ํŒ๋‹คํ•œ๋‹ค.

๊ทธ๋กœ ์ธํ•ด, ์ฃผํ‚คํผ๋Š” ํ™€์ˆ˜๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

 

zookeeper ํด๋Ÿฌ์Šคํ„ฐ๋Š”

ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ๋ฆฌ๋”์ด๊ณ , ๋‹ค๋ฅธ ์„œ๋ฒ„๋Š” ํŒ”๋กœ์›Œ์ด๋‹ค

๋ฆฌ๋” ์„œ๋ฒ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ sync๋ฅผ ๋งž์ถ˜๋‹ค.

 

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต์‹ ์‚ฌ์ดํŠธ ์ฐธ์กฐ๋ฐ”๋žŒ

 

์ฃผํ‚คํผ ์„ค์น˜ ๋ฐฉ๋ฒ•

์ฃผํ‚คํผ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ํ›„ ์••์ถ• ํ•ด์ œ ํ›„ ํ…Œ์ŠคํŠธ

1
2
3
4
wget https://mirror.navercorp.com/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9.tar.gz
tar xvzf apache-zookeeper-3.5.9.tar.gz
cd bin/zkCli.sh -server 127.0.0.1:2181
./zkCli.sh -server 127.0.0.1:2181
cs

 

์ฃผํ‚คํผ conf์—์„œ zoo.cfg ํŒŒ์ผ ์ƒ์„ฑ

1
2
3
4
5
6
$ vi $ZOOKEEPER_HOME/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/userDIr/zookeeper
clientPort=2181
cs

 

์ฃผํ‚คํผ ์‹คํ–‰

1
bin/zkServer.sh start
cs

 

jps๋กœ ์ฃผํ‚คํผ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธ

1
2
3
jps
-------------------
Quorumpeermain
cs

netstat -nltp | grep 2181๋กœ ์ฃผํ‚คํผ ํ™•์ธํ•˜๊ธฐ

 

 

์ฃผํ‚คํผ์˜ ํฌํŠธ๋ฒˆํ˜ธ๋Š” zoo.cfg ํŒŒ์ผ์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•

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

ํ•˜๋‘ก์„ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๊ธฐ๋ณธ์ ์œผ๋กœ 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
๋ฐ˜์‘ํ˜•

+ Recent posts