[HADOOP] 하이브 셸 모드의 SemanticException
HADOOP하이브 셸 모드의 SemanticException
하이브 예외
내 컴퓨터에 Hadoop 3.0.0과 Hive 2.3.1을 설치했습니다. Parallely 나는 MySQL을 설치하고 SQL 셸 모드에서 SQL 명령으로 작업하고 잘 작동합니다. 그러나 하이브 셸 모드에서 쿼리를 실행하는 동안 다음 오류가 발생합니다.
하이브> 테이블 saurzcode (id int, name string) 만들기;
FAILED : SemanticException org.apache.hadoop.hive.ql.metadata.HiveException : java.lang.RuntimeException : org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient를 인스턴스화 할 수 없습니다.
실패 이유를 알려주십시오.
또한 다음 쿼리를 명확히하십시오.
하이브 쉘 모드와 mysql 쉘 모드의 차이점.
2) 하이브 용 Myast Metastore를 구성해야하는 이유는 무엇입니까?
hive-site.xml 구성을 찾으십시오.
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hivelogin</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>apache</value>
</property>
</configuration>
해결법
-
==============================
1.귀하의 원래 예외는 아래 오류 로그에서 볼 수있는 것처럼 인증 플러그인 'caching_sha2_password'을 (를)로드 할 수 없습니다.
귀하의 원래 예외는 아래 오류 로그에서 볼 수있는 것처럼 인증 플러그인 'caching_sha2_password'을 (를)로드 할 수 없습니다.
org.apache.hadoop.hive.metastore.HiveMetaStore - Retrying creating default database after error: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true , username = hivelogin. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------ java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
해결책: 이 오류는 모든 새로운 MySQL 버전이 "caching_sha2_password"라는 암호 플러그인을 추가했기 때문에 발생합니다. MySQL 서버에서 적절하게 구성되어야합니다. 그렇지 않으면 다음과 같이 MySQL의 "CREATE USER"매개 변수와 함께 "mysql_native_password"매개 변수를 사용할 수 있습니다. 해결하자.
하이브 메타 저장소 사용자를 생성하는 동안 아래 명령을 따르십시오.
CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; GRANT ALL PRIVILEGES ON metastore_db.* TO 'hive'@'%';
from https://stackoverflow.com/questions/50231212/semanticexception-in-hive-shell-mode by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 분산 캐시를 사용할 때 FileNotFoundException 발생 (0) | 2019.07.04 |
---|---|
[HADOOP] hadoop에서 hdfs 명령은 더 이상 사용되지 않습니다. (0) | 2019.07.04 |
[HADOOP] Spark Streaming 및 Phoenix Kerberos 문제 (0) | 2019.07.04 |
[HADOOP] pyspark 동적 컬럼 계산 (0) | 2019.07.04 |
[HADOOP] cumulocity의 java 클라이언트가 이벤트를 수신하는 방법은 무엇입니까? (0) | 2019.07.04 |