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>
반응형