Hue와 SecureHDFS를 연동하는 방법을 정리하면서 발생한 다음의 오류를 해결하는 방법도 알아보겠습니다.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 401 Authentication required</title>
</head>
<body><h2>HTTP ERROR 401</h2>
<p>Problem accessing /webhdfs/v1. Reason:
<pre> Authentication required</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>
<br/>
<br/>
- 사용 버전
- hadoop: v2.10.2
- Hue: 4.11.0
Hue와 Secure HDFS 연결 설정
hadoop은 커버로스 설정을 처리하고, Hue에서 커버로스 하둡을 연동하기 위해서는 hue.ini
에 다음과 같이 설정합니다.
[hadoop]
[[hdfs_clusters]]
[[[default]]]
fs_defaultfs=hdfs://host-name
logical_name=host-name
webhdfs_url=https://host-name:50470/webhdfs/v1
security_enabled=True
ssl_cert_ca_verify=False
hadoop_conf_dir=/etc/hadoop/conf
오류 원인
Authentication required
오류의 원인을 확인하기 위해서, 네임노드의 오류를 확인하였으나 네임노드에는 오류가 발생하지 않았습니다. 그래서 원인을 분석하던 중 커버로스 서버의 로그를 확인하니 다음과 같이 인증에 실패 하였다는 오류를 확인하였습니다.
$ journalctl -u krb5-kdc.service
hmac-sha1-96(17), aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19), DEPRECATED:des3-cbc-sha1(16), DEPRECATED:arcfour-hmac(23), camellia128-cts-cmac(25), camellia256-cts-cmac(26)}) 172.16.3.49: LOOKIN>
hmac-sha1-96(17), aes256-cts-hmac-sha384-192(20), aes128-cts-hmac-sha256-128(19), DEPRECATED:des3-cbc-sha1(16), DEPRECATED:arcfour-hmac(23), camellia128-cts-cmac(25), camellia256-cts-cmac(26)}) 172.16.3.49: LOOKIN>
그래서 principal을 확인해보니 이름에 오류가 있어서 필요한 값을 찾지 못하고 있었습니다. 제대로 된 이름으로 수정하니 정상 동작하는 것을 확인하였습니다.
확인할 점
인증에 오류가 발생하면 설정에 문제가 없는지 확인하고, 커버로스 서버의 설정도 확인 해보는 것이 좋을 것 같습니다.
반응형