hadoop 설치 & single node

2021. 7. 22. 15:55BigData/Hadoop

반응형

0. 환경

 - vmware fusion 12 (개인계정은 무료)

 - root 계정에서 작업함.

 

1. java 설치

- 호환성 관계로 Java 8 설치

- https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

- 압축을 푼 후 폴더명 변경(jdk-8u301-linux -> jdk1.8)

- /usr/local 로 통채로 폴더 이동

- jdk1.8 안에 바로 bin폴더가 있어야 함. 혹시 폴더를 한번 더 감싸고 있다면 전체 폴더및파일을 앞으로 가져오라

 

2. vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_OPTS=“-Dfile.encoding=UTF-8”
export CLASSPATH=“.”

$source /etc/profile

$java -version

 

3. hadoop 3.3.1 설치

- https://hadoop.apache.org/releases.html

- 압축을 푼 후 /home/사용자계정 으로 붙여넣기함.

 

4. vi /etc/profile

export HADOOP_HOME=/home/사용자계정/hadoop-3.3.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root -> SECONDARAYNAMENODE로 입력해서 계속 에러가 났었음
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

$source /etc/profile

$hadoop version

 

5. 단어세기 프로그램 실행

$hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount $HADOOP_HOME/etc/hadoop/hadoop-env.sh wordcount_output

$vi ./wordcount_output/part-r-00000

 

 

# Single Node Cluster

1. ssh 설치

$ yum install openssh

$ /usr/sbin/sshd

$ ssh-keygen -t rsa -P “”

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

$ ssh localhost

……systemctl enable —now cockpit.socket
Last login: Mon Aug 31 16:50:09 2021

위 처럼 나오면 접속 성공

$ exit 빠져 나오기

 

2. hadoop 환경설정

$ vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/local/jdk1.8

$ vi $HADOOP_HOME/etc/hadoop/core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

$ vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

3. 하둡 실행

$ hdfs namenode -format

$ start-all.sh

$ jps -> 프로세스 확인 명령어

 

* 데이터 노드가 표기가 되지 않았다면 다시 실행한다.

$ rm -rf /tmp/hadoop-root/dfs/data/
$ stop-all.sh
$ start-all.sh
$ jps

4. hadoop 폴더 생성

$ hdfs dfs -mkdir /user

$ hdfs dfs -mkdir /user/root

$ hdfs dfs -mkdir /user/root/conf

$ hdfs dfs -mkdir /input ->분석할 파일넣는 곳

$ hdfs dfs -copyFromLocal /home/사용자계정/hadoop-3.3.1/README.txt /input -> README.txt 파일을 분석하기위해 input폴더에 넣음.

$ hdfs dfs -ls /input

 

5. wordcount 실행

$ hdfs jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /input/README.txt ~/wordcount-output

 

$ hdfs dfs -ls ~/wordcount-output

$ hdfs dfs -cat ~/wordcount-output

반응형

'BigData > Hadoop' 카테고리의 다른 글

[Docker] CentOS에 Hadoop 설치하기  (0) 2022.06.20