본문 바로가기
빅데이터/hdfs

[hdfs] Access denied for user root. Superuser privilege is required 오류 해결 방법

by hs_seo 2022. 5. 17.

HDFS에서 관리자용 명령어인 dfsadmin 관련 명령을 실행할 때 다음과 같은 오류가 발생하면서 실행이 되지 않을 때가 있습니다. 이럴때는 두 가지 해결방법이 있습니다.

 

$ hdfs dfsadmin -report
Configured Capacity: 194882378752 (181.50 GB)
Present Capacity: 194848824320 (181.47 GB)
DFS Remaining: 192335490048 (179.13 GB)
DFS Used: 2513334272 (2.34 GB)
DFS Used%: 1.29%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0

-------------------------------------------------
report: Access denied for user root. Superuser privilege is required

계정 변경

하나는 HDFS를 실행한 사용자 계정으로 변경한 후 명령을 실행하는 방법입니다.

 

# HDFS를 실행한 deploy 계정으로 변경하고 명령을 실행 
su deploy bash -c "hdfs dfsadmin -report"

 

설정 변경

두번째는 hdfs-site.xml 에 dfs.permissions.superusergroup 설정을 명령을 실행하고자 하는 계정의 그룹으로 수정하는 방법입니다. 명령을 실행한 root 계정이 속한 root 그룹을 슈퍼 유저 그룹으로 추가합니다.

 

    <property>
        <name>dfs.permissions.superusergroup</name>
        <value>root</value>
    </property>
반응형