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

[hive] hive s3 연결시 hive 2.3.0, 3.0.0 이상에서 설정해야 하는 hive.conf.hidden.list 값

by hs_seo 2024. 3. 5.

hive 에서 s3 를 연결할 때 core-site.xml 파일에 s3 설정 값을 정상적으로 입력하고, hadoop으로 데이터 조회를 확인하고, hive를 이용하여 테이블 생성까지 되는데, tez 나 mr을 이용한 작업을 돌릴 때 다음과 같은 오류가 발생하였습니다.

 

Caused by: com.amazonaws.AmazonClientException: No AWS Credentials provided by SimpleAWSCredentialsProvider : org.apache.hadoop.fs.s3a.CredentialInitializationException: Access key, secret key or session token is unset
    at org.apache.hadoop.fs.s3a.AWSCredentialProviderList.getCredentials(AWSCredentialProviderList.java:151)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.getCredentialsFromContext(AmazonHttpClient.java:1164)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.runBeforeRequestHandlers(AmazonHttpClient.java:762)

 

원인

오류 원인은 신규로 추가된 hive.conf.hidden.list 값이었습니다. 이 부분에 s3 접근을 위한 fs.s3a.secret.key, fs.s3a.access.key 값이 있고, 여기 설정에 들어가 있으면 tez, mr에서 이 값을 읽어 오지 못해서 오류가 발생하였습니다.

 

https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties

 

Configuration Properties - Apache Hive - Apache Software Foundation

 

cwiki.apache.org

 

 

해결 방법

이 문제를 해결하기 위해서는 hive-site.xml에서 해당 값을 제외하여 주면 됩니다.

 

<configuration>
    <property>
        <name>hive.conf.hidden.list</name>
        <value>javax.jdo.option.ConnectionPassword,hive.server2.keystore.password,fs.s3a.proxy.password,dfs.adls.oauth</value>
    </property>
</configuration>
반응형