문제 원인
hue로 sqoop import, export test를 할 때 yarn UI에서는 다음과 같은 로그가 찍히고 그 다음으로 진행되지 않으며 계속 러닝되는 경우가 발생
이때 넣었던 sqoop 명령어는 다음과 같았다
sqoop import --connect [MYSQL DB URL]?serverTimezone=UTC&characterEncoding=UTF-8 \
--username [유저 이름] \
--password [비밀번호] \
--query "[select 쿼리] where $CONDITIONS" \
--hive-import \
--hive-database [hive DB] \
--hive-table [hive 테이블명] \
--hive-overwrite \
--delete-target-dir \
--target-dir [hive 테이블 디렉토리] \
--fields-terminated-by "," \
--lines-terminated-by '\n' \
--hive-drop-import-delims \
--as-textfile \
--split-by seq \
--m 1
해결 방법
연결하려는 서버가 hive server2 면서 그 옵션을 넣어 주지 않아서 그런 것
sqoop import --connect [MYSQL DB URL]?serverTimezone=UTC&characterEncoding=UTF-8 \
--username [유저 이름] \
--password [비밀번호] \
--query "[select 쿼리] where $CONDITIONS" \
--hive-import \
--hive-database [hive DB] \
--hive-table [hive 테이블명] \
--hive-overwrite \
--hs2-user [hive 서버 유저명] \
--hs2-password [hive 서버 비밀번호] \
--hs2-url [hive db url] \
--delete-target-dir \
--target-dir [hive 테이블 디렉토리] \
--fields-terminated-by "," \
--lines-terminated-by '\n' \
--hive-drop-import-delims \
--as-textfile \
--split-by seq \
--m 1
다음과 같이 hs2 옵션 세 개를 반드시 넣어주어야 한다!
이유는 Apahce Ranger(하둡 전체 서비스에 대한 보안 정책을 적용할 수 있고 관리 및 운영할 수 있는 프레임워크)로 인한 계정 권한 보안으로 인해 url, user, password가 모두 필요해서이다. 반드시 명령어에 기입.
첫번째 명령어에서 hs2 서버 옵션을 뺀 이유는 사실 또 있었는데 관련 포스트는 곧..
'빅데이터' 카테고리의 다른 글
[hadoop] 하둡 클러스터 구축하기 2. 계정 생성 및 노드간 통신 설정 (0) | 2023.01.21 |
---|---|
[hadoop] 하둡 클러스터 구축하기 1. 자바 설치 (0) | 2023.01.20 |
[문제 해결] sqoop import export시 java.lang.ClassNotFoundException (0) | 2023.01.17 |
빅데이터 02 (0) | 2022.09.20 |
빅데이터 01 (0) | 2022.09.19 |