ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Hadoop] HADOOP_USER_NAME 환경변수 알아보기
    Hadoop 2024. 2. 21. 07:30
    728x90
    반응형

     

    - 목차

     

    들어가며.

    로컬 환경의 터미널에서 원격의 Hadoop 시스템에게 명령을 요청하는 경우가 종종 생기곤 합니다.

    이때에 hdfs dfs 커맨드를 사용하게 되는데 별다른 조치없이 hdfs 커맨드를 사용하게 되면,

    실제 로컬 머신의 Active User 가 hdfs File System 의 사용자로 설정됩니다.

    이를 방지하는 방법에 대해서 알아보도록 하겠습니다.

     

    간단히 Hadoop 실행하기.

    아래의 링크는 docker-compose 를 통해서 간단히 Hadoop Cluster 를 생성하는 내용의 페이지입니다.

    https://westlife0615.tistory.com/20

     

    [Hadoop] Docker 로 Hadoop Cluster 실행하기 ( docker-compose )

    - 목차 소개. 하둡을 이해하기 위해서 실습을 하고자하였습니다. 하지만 리눅스 또는 AWS 에서의 실행은 VM 을 사용하거나 비용이 청구되는 수고로움이 있었습니다. 그래서 도커로 실행하는 방법

    westlife0615.tistory.com

     

    저는 아래의 이미지처럼 docker-compose 로 하둡 클러스터를 세팅한 이후에 실습을 진행하였습니다.

     

     

    로컬 환경에서 hdfs dfs 명령어 수행하기.

    먼저 기본 사용자의 이름이 root 인 환경에서 테스트를 진행합니다.

    아래 예시처럼 whoami 라는 리눅스 명령어를 통해서 현재의 활성화된 사용자를 확인할 수 있습니다.

    whoami
    root

     

     

    이 상태에서 datanode 라는 Namespace 를 하나 생성해보도록 하겠습니다.

    hdfs dfs -mkdir hdfs://namenode:9000/datanode

     

    그 이후에 Root Namespace 를 조회하게 되면,

    아래 결과처럼 root 라는 사용자가 생성한 datanode 라는 Namespace 를 확인할 수 있습니다.

    hdfs dfs -ls hdfs://namenode:9000/
    drwxr-xr-x   - root       supergroup          0 2023-11-04 11:34 hdfs://namenode:9000/datanode

     

    로컬 환경의 사용자에 영향을 받지 않고,

    특정 사용자명을 사용하고 싶은 경우에 HADOOP_USER_NAME 환경 변수를 사용할 수 있습니다.

    아래와 같이 HADOOP_USER_NAME 을 andy 로 설정한 이후에 hdfs dfs mkdir 명령어를 수행합니다.

    export HADOOP_USER_NAME=andy;
    hdfs dfs -mkdir hdfs://namenode:9000/andy;
    hdfs dfs -ls hdfs://namenode:9000/
    drwxr-xr-x   - andy       supergroup          0 2023-11-04 20:43 hdfs://localhost:9000/andy

     

     

     

    반응형
Designed by Tistory.