2022.07.28 - [InfraStructure] - 하둡의 설치
지난 하둡의 설치 후 실제 HDFS(Hadoop File System)에 파일 저장 및 조회를 테스트 해보려고 한다.
1. namenode와 datanode 위치 지정
지난 하둡 설치를 진행할 때 별도로 위치를 설정하지 않았다. 위치를 지정하지 않을 경우 기본 설정을 따라가도록 되어있고 이 위치는 임시 폴더를 사용하게 되어있다.
기본값의 경우 위치는 다음과 같다.
/usr/local/Cellar/hadoop/hdfs/tmp/dfs ll
total 0
drwx------ 3 user admin 96B 7 28 11:25 data
drwxr-xr-x 3 user admin 96B 7 28 11:25 name
drwxr-xr-x 3 user admin 96B 7 28 11:25 namesecondary
이제 원하는 위치로 지정하기 위해 hdfs-site.xml파일을 수정해줘야한다.
hdfs-site.xml를 수정하기 위해 아래 경로로 이동한다.
$ cd /usr/local/Cellar/hadoop/3.3.3/libexec/etc/hadoop
hdfs-site.xml 파일을 오픈하고 configuration 사이에 namenode.dir와 datanode.dir를 설정하여준다. checkpoint에 대한 내용은 다음 포스팅을 통해 설명하도록 한다.
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///Users/user/Documents/hadoop/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///Users/user/Documents/hadoop/data/datanode</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///Users/user/Documents/hadoop/data/namesecondary</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
dir위치를 지정 수정하고 나서 설정한 폴더에 권한을 777로 부여하여 준다. 권한 부여를 하지 않을 경우 hdfs 포맷시 실패할 수도 있다.
$ sudo chmod 777 /Users/user/Documents/hadoop
권한 부여 후 터미널에서 포맷, ssh key 생성 과정을 다시 진행한다.
$ hdfs namenode -format
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2. 폴더 생성 및 데이터
하둡 파일 저장을 위해 hdfs 명령어를 이용해 디렉토리를 생성해준다
$ hdfs dfs -mkdir /input
디렉토리 생성 후 정상적으로 생성이 되었는지 터미널과 콘솔에서 확인이 가능하다.
먼저 터미널에서 전체 디렉토리 조회를 위한 명령어를 실행하면 위에서 생성한 디렉토리 명을 확인할 수 있다.
(hadoop명령어는 다음에 다시 정리하도록 한다)
$ hadoop fs -ls /
drwxr-xr-x - user supergroup 0 2022-07-28 11:44 /input
추가로 hdfs 콘솔, http://localhost:9870 로 이동하여 상단의 Utilities -> Browse the file system에서 생성된 디렉토리를 확인할 수 있다.
3. 데이터 저장하기
터미널에서 데이터를 저장하기 위해서 샘플 데이터를 우선 생성하도록 한다.
간단한 테스트이므로 몇가지 단어로 이루어진 텍스트 파일을 생성한다. vim 명령어를 이용, words.txt 파일을 생성하고 텍스트를 입력한다.
Deer Bear River
Car Car River
Deer Car Bear
파일 생성을 완료 후에 터미널에서 hdfs put 명령어를 이용하여 저장해보도록 한다.
# hdfs dfs -put 로컬 저장소 위치/파일명 하둡디렉토리/저정할파일이름
$ hdfs dfs -put /Users/tjjeong/Documents/words.txt /input/words2.txt
성공적으로 저장이 되었으면 hdfs콘솔에서 손쉽게 확인이 가능하다.
콘솔창에서 Utilities -> Browse the file system으로 접근하여 생성한 폴더, input을 클릭하면 해당 디렉토리에 존재하는 파일들을 확인할 수 있으며 파일의 내용 또한 확인이 가능하다.
'분산처리 > Hadoop' 카테고리의 다른 글
하둡의 설치 (0) | 2022.07.28 |
---|---|
하둡이란? - 기본 (0) | 2022.07.25 |
맵리듀스란? - 기본 (0) | 2022.07.25 |