K8s 환경의 에어플로우 파드에서 커버로스 티켓을 생성하고, 사용할 때 다음과 같은 오류가 발생하였습니다.
File "/home/airflow/.local/lib/python3.8/site-packages/thrift_sasl/__init__.py", line 84, in open
raise TTransportException(type=TTransportException.NOT_OPEN,
thrift.transport.TTransport.TTransportException: Could not start SASL: b'Error in sasl_client_start (-1) SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Incorrect net address)'
kinit 명령으로 티켓을 생성하고, klist 명령으로 확인하면 티켓은 잘 생성 되는 것을 확인했는데, 티켓을 사용하여 PyHive 라이브러리로 Hive에 접근하는 시점에 이런 오류가 발생하였습니다.
원인은 커버로스 설정의 noaddress 가 false 로 되어 있었기 때문입니다. 이 설정을 true 로 바꾸고, 티켓을 새로 생성하니 동작하였습니다. 이 설정이 켜져 있으면 커버로스 티켓의 address 를 체크하게 되고 이로 인해 파드안의 주소를 인식하지 못해서 오류가 발생하는 것으로 생각됩니다.
noaddresses
If this flag is true, requests for initial tickets will not be made with address restrictions set, allowing the tickets to be used across NATs. The default value is true.
반응형