본문 바로가기
python

[pyhive] pyhive에서 커버로스 인증을 사용할 때 no mechanism available: No worthy mechs found 오류

by hs_seo 2023. 8. 19.

PyHive에서 커버로스 인증을 사용할 때 다음과 같은 오류가 발생 하였습니다.

  File "/usr/local/lib/python3.6/site-packages/thrift_sasl/__init__.py", line 72, in open
    message=("Could not start SASL: %s" % self.sasl.getError()))
thrift.transport.TTransport.TTransportException: Could not start SASL: Error in sasl_client_start (-4) SASL(-4): no mechanism available: No worthy mechs found

이 오류는 cyrus-sasl 라이브러리가 설치 되어 있지 않을 때 발생합니다.

우분투 기준으로 다음과 같이 라이브러리를 설치 하였습니다.

 

apt-get install -y
    cyrus-sasl2-doc \
    libsasl2-2 \
    libsasl2-dev \
    libsasl2-modules \
    libsasl2-modules-gssapi-mit \
    libsasl2-modules-db \
    libsasl2-modules-ldap \
    libsasl2-modules-otp \
    libsasl2-modules-sql \
    sasl2-bin \
    libkrb5-dev

 

라이브러리 설치 후에는 정상 동작 하였습니다.

설치 시 주의 할 점은 libsasl2-modules-gssapi-mit, libsasl2-modules-gssapi-heimdal 라이브러리는 동시에 설치가 안됩니다. Conflict 오류가 발생하기 때문에 하나만 설치 하셔도 됩니다.

 

https://launchpad.net/ubuntu/+source/cyrus-sasl2 

 

cyrus-sasl2 package : Ubuntu

 

launchpad.net

 

설치 후 테스트 코드는 다음과 같습니다.

 

반응형