Jam's story

하둡 사용자 명령어 2 본문

2021-2학기/하둡

하둡 사용자 명령어 2

애플쩀 2022. 3. 23. 11:46

distch

한번에 많은 파일들의 권한과 오너십을 변경할 수 있는 사용자 명령어 입니다.

distcp

분산 복사(Distributed Copy) 할 때 쓰는 사용자 명령어로 클러스트 내부 혹은 클러스트 간에 이동하여 복제하는 사용자 명령어입니다. Distcp는 맵리듀스에서 이 사용자 명령어의 분산 처리를 효과적으로 발휘하게 되어, 이 사용자 명령어는 분산, 에러 처리와 복구, 레포팅 전반에 걸쳐 맵리듀스와 사용하게 됩니다.

우선, 가장 일반적인 사용법인 클러스트간의 복제를 예로 설명하겠습니다.

Hadoop distcp hdfs://nn1:8020/

한 클러스트 내에 노드 메니져 nn1 에서 다른 노드 메너져 nn2로 복제하는 방법으로 distcp 사용자명령어를 사용하여 맵 타스크 셋 사이로 컨텐츠들을 파티션하게 됩니다. /foo/bar 디렉토리는 임시 파일 저장소 nn1 내에 네임스페이스를 확장하게 도와줍니다.

여기서는 복제 파일을 생성하여 같은 노드 내에서 복사하는 방식으로 사용자 명령어를 사용해보도록 합니다.

우선 복사할 컨텐츠 곧 디렉토리와 파일을 생성해보죠.

리눅스 로컬 시스템에서 리눅스 명령어인 cat greater than angle brackets 파일명 neuavenue.xml을 던져봅니다.

neuavenue@neuavenue:~/hadoop$ cat >neuavenue.xml

</?xml version=”1.0”>

<!DOCTYPE catalog PUBLIC>

<catalog>

</catalog>

마지막에 ctrl + z 키를 눌러 리눅스 cat 명령어를 탈출합니다. 아래와 같이 하둡 분산 파일 시스템에 mkdir fs 쉘 명령어를 던져 새로운 디렉토리를 생성합니다.

neuavenue@neuavenue:~/hadoop$ hdfs dfs -mkdir /user/etc/xml/distcptest

그리곤 neuavenue.xml xml 파일을 이제 막 생성한 디렉토리에 넣습니다.

neuavenue@neuavenue:~/hadoop$ hdfs dfs -put neuavneue.xml /user/etc/xml/distcptest

이제 xml 속성 내용을 넣었던 neuavenue.xml 파일을 해당 타켓 디렉토리를 디스플레이하면서 확인합니다.

neuavenue@neuavenue:~/hadoop$ hdfs dfs -ls /user/etc/xml/distcptest

마지막으로 distcp 사용자 명령어를 사용하기 위하여 하둡 분산 파일 시스템의 neuavenue.xml 파일을 복사할 타겟 디렉토리를 생성할 차례입니다.

:~/hadoop$ hadoop fs -mkdir /user/etc/xml/distcptest/target

:~/hadoop$ hadoop fs -ls /user/etc/xml/distcptest/target

이제 특정 디렉토리 내의 파일을 다른 타겟 디렉토리로 복사해보죠.

:~/hadoop$ hadoop distcp /user/etc/xml/distcptest/neuavenue.xml /user/etc/xml/distcptest/target

하둡 스텍 중 하나인 맵리듀스 데이터 전송과 복제를 확인하고자 타겟 디렉토리를 fs 쉘 명령어인 ls 커맨더를 이용하여 화면에 디스플레이해봅니다.

:~/hadoop$ hadoop fs -ls /user/etc/xml/distcptest/target

현재 xml 화일이 존재한다면 데이터 복제는 성공하였고, 남은 과제는 xml 내부에 있는 컨텐츠가 동일한지 하둡의 fs 쉘 명령어인 cat을 실행시켜 확인하는 일만 남았습니다.

:~/hadoop$ hadoop fs -cat /user/etc/xml/distcptest/target/neuavenue.xml

 

나중에는 클러스트 내에 네임노드들 간에 데이터 전송과 복제가 충분히 가능하며 이 distcp 사용자명령어는 일반적인 파일 복제나 복사보다는 맵리듀스 상에서 대량의 파일들을 더욱 빠르게 복제하는 효과를 보게 됩니다. 여기서는 하나의 노드 곧 하나의 네임노드와 하나의 데이터노드 복제하는 일에는 유용한 사항이죠.

dtutil

패치 사용자 유틸리티로 하둡의 시스템 자격 증명 파일들 내부에 있는 하둡 델리게이션 토큰을 관리하는 사용자 유틸리티 명령어입니다.

fs

하둡 파일 시스템 셀 명령어로 전 강의를 참고하시면 유익한 정보를 보실 수 있습니다. 또한 하둡 공식 웹 사이트 내에 존재하는 명령어(FileSystem Shell) 가이드(https://hadoop.apache.org/docs/r3.2.1/hadoop-project-dist/hadoop-common/FileSystemShell.html) 를 참고하세요.

gridmix

하둡의 클러스트들을 위한 벤치마킹하는 작업으로 그리드믹스(GridMix)를 실행시키려면

:~/hadoop$ hadoop gridmix

jar

 

1.11.1. 맵리듀스 예제 실행

Jar 사용자 명령어를 실행시킴으로 하둡의 어플리케이션을 실행시키거나 혹은 얀/맵리듀스 어플리케이션을 실행시킬 수 있습니다. 맵리듀스 셈플 예제의 자르 파일을 실행하여 간단한 작업을 수행해보겠습니다.

:~/hadoop$ cd ~/hadoop/share/hadoop/mapreduce/

:~/hadoop$ cd ~

hadoop jar ~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar pi 16 1000

16이라는 숫자는 생성을 위한 맵 타스크를 가리키며, 1000은 샘플의 숫자를 가리킵니다. 결과 Output 은 Pi 가 3.142500000 라는 결과값으로 기대하게 됩니다.

jnipath

자바 라이브러리 패스 (자바 클래스 패스)를 프린트해줍니다. (java.library.path)

kerbname

고객 혹은 사용자의 규칙은 hadoop kerbname command 커브로스 명령어를 사용하여 테스트될 수 있습니다. 하둡의 현재 auth_to_local authentication 규칙명을 적용하며 원리를 명시할 수 있게 됩니다.

:~/hadoop$ hadoop kerbname billylee96312@gmail.com

Hadoop Security

kdiag

하둡 인증 서비스 역할을 하면서 이 명령어로 사용자와 서버가 동시에 커버로스 문제를 진단(Diagnose Kerberos Problems)하도록 돕죠.

수준 높은 인증 기능과 사용자가 정체성을 세워주기 위한 하둡 커버로스 인증 (Hadoop Kerberos - 고 완성도 공개 소프트웨어 네트워크 인증 프로토콜)로서 한번의 인증으로 하둡 인증을 연결하려는 기초에 서 있습니다.

:~/hadoop$ hadoop kdiag

Kdiag 명령어는 JVM 구성과 환경을 향한 조사 시험의 일종을 포함하고 있으며, /etc/krb5.conf, /etc/ntp.conf 와 같은 몇 개의 시스템 파일을 버려 두기도 합니다. 물론 시스템 상태를 화면에 출력하고 현재 사용자 혹은 특수한 사용자로서 카브로스를 위하여 로그인하기도 합니다.

key

투명한 암호화(Transparent Encryption)으로 민김한 정보의 보안을 구성하고자 암호화하는 암호화 키 생성하고자 할 때 쓰는 사용자 명령어로서 키 제공자 인자로 구성된 keyname 키 네임 인자를 특정화하도록 이름 짖는 새로운 사용자 키 명령어입니다. 그리하여 Hadoop Key Management Server(KMS) 하둡 키 관리 서버를 구성할 수 있습니다.

여기서는 새로운 보안 키를 생성할 때 사용되는 사용자 명령어입니다.

hadoop key create

더 자세한 용법은 Transparent Encyption in HDFS 내용을 참조.

kms

하둡의 사용자 명령어로 보안 키 관리 서버인 KMS 를 실행시킬 수 있습니다.

Trace

하둡 추적 세팅을 수정하거나 출력하도록 도와주는 사용자 명령어입니다.

Hadoop trace -list -host

더 자세한 사항은 Tracing Guide (Enabling Dapper-like Tracing in Hadoop) 를 참조.

Version

하둡 버전을 모니터에 뿌려주는 사용자 명령어입니다.

:~/hadoop$ hadoop version

CLASSNAME

자바 환경을 바탕으로 구성된 하둡으로 하둡 클래스명을 실행시키도록 도와주는 사용자 명령어입니다.

envvars

하둡의 환경변수를 디스플레이하도록 도와주는 사용자 명령어입니다.

:~/hadoop$ Hadoop envvars

Administration Commands

Daemonlog

Hadoop Files

hadoop -env.sh

이 파일은 하둡 셀 명령어로 사용된 글로벌 세팅으로 저장됩니다.

Hadoop-user-functions.sh

이 하둡 세팅 파일은 전문가 사용자를 위한 몇 가지 쉘 기능을 오버라이딩하기 위한 작업용입니다.

.hadooprc

이 세팅 파일은 개인적인 사용자를 위한 개인용 환경 세팅을 저장할 수 있습니다. Hadoop-env.sh 과 hadoop-user-functions.sh 두 가지 파일이 같은 세팅에 포함될 수 있도록 도와주는 작업입니다.

'2021-2학기 > 하둡' 카테고리의 다른 글

WordCount MapReduce Application  (0) 2022.03.23
궁금했던것 질문과 답변  (0) 2022.03.23
하둡 사용자 명령어  (0) 2022.03.23
로컬데이터를 하둡시스템으로 이동  (0) 2022.03.23
하둡 실행 , 하둡 명령어  (0) 2022.03.23
Comments