하이브로 AWS EMR 클러스터를 설정했습니다. Java를 사용하여 로컬 컴퓨터에서 하이브 중고품 서버에 연결하고 싶습니다. 다음 코드를 시도했습니다.
Class.forName("com.amazon.hive.jdbc3.HS2Driver");
con = DriverManager.getConnection("jdbc:hive2://ec2XXXX.compute-1.amazonaws.com:10000/default","hadoop", "");
http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/HiveJDBCDriver.html . 개발자 가이드에서 언급했듯이 하이브 jdbc 드라이버와 관련된 jar를 클래스 경로에 추가했습니다. 하지만 연결을 시도 할 때 예외가 발생합니다. 위 코드를 사용하여 간단한 hadoop 클러스터의 하이브 서버에 연결할 수있었습니다 (다른 jdbc 드라이버 사용). 내가 뭔가를 놓친 경우 누군가 제안 해 주시겠습니까? Hive jdbc를 사용하여 로컬 머신에서 AWS EMR의 Hive 서버에 연결할 수 있습니까?
(댓글에서 병합 된 답변)
Hive는 포트 10000에서 실행되지만 로컬로만 emr에 대한 ssh 터널을 만들어야합니다.
다음은 하이브 0.13.1에 대한 문서 에서 가져온 것입니다.
터널 만들기
ssh -o ServerAliveInterval=10 -i path-to-key-file -N -L 10000:localhost:10000 hadoop@master-public-dns-name
JDBC에 연결
jdbc:hive2://localhost:10000/default
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다