Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
impala [impala]쿼리 수행중 발생하는 오류(due to memory pressure: the memory usage of this transaction, Failed to write to server)
다음과 같은 오류가 발생하면서 쿼리가 실패할때 확인 및 조치 내용을 정리합니다.
<오류내용>
Kudu error(s) reported, first error: Timed out: Failed to write batch of 838 ops to tablet 754b956462d840f6b2a7065efc817900 after 589 attempt(s): Failed to write to server: (no server available):
Write(tablet: 754b956462d840f6b2a7065efc817900, num_ops: 838, num_attempts: 589) passed its deadline: Illegal state: Tablet not RUNNING: FAILED: IO error: failing tablet
Impala Version: impalad version 3.2.0-cdh6.3.4 RELEASE (build 5fe4723ad8fe1c3aaecbeb32c7533048be2420cf)
<확인사항>
1. datanode12 호스트의 TServer 로그에서 실패한 태블릿 ID 1개(754b956462d840f6b2a7065efc817900)를 확인했으며 다음 메시지를 볼 수 있습니다.
"W0924 02:47:02.611682 3793 leader_election.cc:348] T 754b956462d840f6b2a7065efc817900 P 4755be7391934535b21ec5be91e87bdd [CANDIDATE]: Term 9109 pre-election: Tablet error from VoteRequest() call to peer 9c863beb35d64899a11b0a570eb19cc3 (datanode05.gooper.com:7050): Illegal state: cannot vote while shut down"
2. 이번에는 datanode05에서 피어 Tserver 로그를 확인했습니다. 같은 날 02:47 이전에 다음과 같은 경고 메시지가 많이 있음을 알 수 있습니다.
"W0924 02:43:43.869937 18241 transaction_tracker.cc:156] transaction on tablet de58f99d829b43f88f3c527de4009904 rejected due to memory pressure: the memory usage of this transaction (10493974) plus the current consumption (62963844) exceeds the transaction memory limit (67108864) or the limit of an ancestral memory tracker. [suppressed 18 similar messages]"
3. 위의 경고의 결과로 트랜잭션 커밋이 지연되는 것을 볼 수 있습니다.
W0924 02:45:36.688170 13986 tablet_replica.cc:862] Time spent Committing in-flights took a long time.: real 15.343s user 0.000s sys 0.001s
4. Tablet_transaction_memory_limit_mb의 기본값을 초과하여 태블릿 선택에 실패했습니다.
https://kudu.apache.org/docs/configuration_reference.html#kudu-tserver_tablet_transaction_memory_limit_mb
<조치내용>
Tablet_transaction_memory_limit_mb의 값을 64M에서 128M으로 늘리고 Tablet Sever들을 모두 restart하고 결과를 모니터링 하면 됩니다.
CM ->Kudu -> Configuration -> Tablet Server Advanced Configuration Snippet (Safety Valve) for gflagfile
--tablet_transaction_memory_limit_mb =128
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
60 | access=WRITE, inode="staging":ubuntu:supergroup:rwxr-xr-x 오류 | 총관리자 | 2014.07.05 | 1719 |
59 | org.apache.hadoop.security.AccessControlException: Permission denied: user=hadoop, access=WRITE, inode="":root:supergroup:rwxr-xr-x 오류 처리방법 | 총관리자 | 2014.07.05 | 2835 |
58 | banana pi에(lubuntu)에 hadoop설치하고 테스트하기 - 성공 | 총관리자 | 2014.07.05 | 2760 |
57 | 2개 data를 join하고 마지막으로 code정보를 join하여 결과를 얻는 mr 프로그램 | 총관리자 | 2014.06.30 | 408 |
56 | Cannot create /var/run/oozie/oozie.pid: Directory nonexistent오류 | 총관리자 | 2014.06.03 | 479 |
55 | oozie job 구동시 JA009: User: hadoop is not allowed to impersonate hadoop 오류나는 경우 | 총관리자 | 2014.06.02 | 807 |
54 | hadoop및 ecosystem에서 사용되는 명령문 정리 | 총관리자 | 2014.05.28 | 3456 |
53 | hive job실행시 meta정보를 원격의 mysql에 저장하는 경우 설정방법 | 총관리자 | 2014.05.28 | 1088 |
52 | oozie의 meta정보를 mysql에서 관리하기 | 총관리자 | 2014.05.26 | 1466 |
51 | hive query에서 mapreduce돌리지 않고 select하는 방법 | 총관리자 | 2014.05.23 | 811 |
50 | hiverserver2기동시 connection refused가 발생하는 경우 조치방법 | 총관리자 | 2014.05.22 | 1472 |
49 | import 혹은 export할때 hive파일의 default 구분자는 --input-fields-terminated-by " |