프로그래밍
-
Hive CLI 기본 셋팅프로그래밍/hive 2017. 12. 25. 17:20
요즘도 Hive 기본 CLI를 사용하고 있는 사람이 있르지 모르겠지만.... 부득이 하게 가끔 하이브 기본 CLI를 사용해야 할때가 있다. 그럴 때 데이터 조회 시 테이블 header나 현재 db명이 안나오면 좀 불편한 경우가 있다 그럴 땐 CLI에서 SET hive.cli.print.current.db = true(hive 현재 db명 표시)SET hive.cli.print.header = true(table 조회 시 최 상단에 테이블 header 표시) 영구 등록hive-site.xml에 등록하면 된다.
-
서버에 열려 있는 PORT 확인프로그래밍/linux 2017. 12. 20. 16:46
가끔 포트 포워딩으로 필요할 때만 특정 PORT를 Open 할 때가 있다.그런데 이게 비정상 적으로 종료하게 되면 PORT는 열려 있는 채로 서버에 존재하게 된다.해당 Port를 닫고 싶을 때 어떤 Port가 열려 있을 때 확인 하고 Kill 하는 방법 이다. lsof -i TCP:port[포트 확인] netstat -ln [연결프로그램 확인] netstat -lnp | grep 32769[어떤 작업인지 확인] ps auwex | grep -w 32769
-
SSH SESSION 관리프로그래밍/linux 2017. 12. 20. 16:42
서버에서 주로 작업을 하다가 노트북을 그냥 덮어 종료하고 퇴근을 하다 보니 서버에 수많은 ssh 연결이 끊어지지 않은채로 있는 걸 알게 되었다. 관리를 좀 하라고.. 그냥 종료하면 끊기지 않는 다는 걸 이제 알았다 ㅎㅎㅎ 자 그럼 관리를 해볼까.. 이미지 파일에서 보는 것과 같이 너무 많은 세션들이 있다. 날짜를 보면 몇일이 지난 세션들 이런 세션들을 지워주면 된다.세션을 보는 명령어는'w'그리고 세션을 종료하는 것은'ps -ef|grep ssh'를 통해서 지우고 싶은 세션의 PID를 Kill 해주면 된다.
-
DataNode Java Heap Warning프로그래밍/hadoop 2016. 8. 24. 11:55
HDP 버젼을 2.4로 업데이트 이후 DATANODE JAVA HEAP WARNING을 자주 보게 되었다. 기존까지 별 문제 없다가 업데이트 이후 자주 보이고 있다. 결국은 GC 문제로 추정되는데 WARNING이 발생하더라도 나중에는 사라지게 된다. DATANODE의 JAVA HEAP의 크기를 증가 시켜 줘도 똑 같은 현상이 발생하는 걸 보면 확실히 GC의 문제이다. 이 GC가 너무 자주 동작해도 문제고 너무 동작하지 않아서 FULL GC가 돌게 되어도 문제다. 어느 것이든 성능 이슈가 발생하게 된다. 일단 나의 이론이 맞는지 증명해 보기 위한 간단한 테스트! "jcmd GC.run" 명령으로 해당 DATANODE에 강제적으로 full garbage collect를 동작하게 해주면 위의 경고는 조금 후 ..
-
Hive 성능 향상 방안프로그래밍/hive 2016. 8. 18. 00:07
일반적으로 알려진 Hive 성능을 높이기 위한 방안 알려진 방안 HDP를 사용할 경우[Tez Engine 사용] (현재 사용중)MR(Map Reduce)는 여전히 대용량 배치 작업에 사용되고 있지만 이제 구 시대의 기술이 되어 버렸죠. Tez 엔진을 사용하면 2배 이상의 성능 향상이 가능 함 [ORC File 사용] (현재 사용중)일반적인 TEXT FILE 형태로 HIVE Table에 데이터를 넣는 것 보다 ORC File 형태로 입력하면 좀더 나은 성능을 얻을 수 있다. 일반적으로 Hive Table을 생성 할때“CREATE TABLE TESTTABLE (value string, key string) STORED AS ORC” 만들고“insert OR Load Data”를 사용하여 TABLE에 입력하면..
-
ES-Hadoop(1)프로그래밍/Elasticserach 2016. 8. 2. 16:49
Hadoop 과 Elasticsearch를 연결하여 사용하기 위한 방법 1. elasticsearch on yanr => Hadoop yarn cluster 안에 elasticsearch가 동작 하도록 하는 방식 (현재 사용 목적에 부합하지도 않고 Beta version 이므로 Pass) 2. elasticsearch for apache hadoop => 독립된 elasticserch cluster 와 hadoop cluster 사이를 driver를 통해 연결하여 사용 %4년 전에 mongo-hadoop 을 잠시 이용한 적이 있었다. 결론은 엄청난 I/O 부하와 network 부하로 인해 별로 유용하게 사용하지 못했던 기억이 있다. 그 때는 한 대의 MongoDB에서 무식한 짓을 했던 거긴 하지만.. E..
-
JounalNode 오류 관련 해프닝프로그래밍/hadoop 2016. 7. 12. 13:51
현재 구동 중인 Hadoop Cluster에 로그 미삭제로 인한 디스크 FULL이 발생. JournalNode의 기록이 작성 중 중단되는 현상이 발생. - 용량 확보 후 JournalNode을 재 시작 하였으나 파일 쓰기 오류 발생 => 참고로 JournalNode를 사용하기 위해서는 3개의 set 2개는 동작 가능해야 하는 상황이어야 함 - ambari API를 통한 재 구동 명령이 듣지 않음.- 수동 명령어로 재시작 (hortonworks HDP-2.4): /usr/hdp/{버전}/hadoop/sbin/hadoop-deamon.sh start journalnode - 여전히 쓰기 오류 발생WARN namenode.FSImage (EditLogFileInputStream.java:scanEditLog(..
-
Hive Command Line CLI History 보기프로그래밍/hive 2016. 6. 7. 13:34
Hive를 사용하다 보면 나는 주로 CLI Shell을 주로 이용하게 된다. 쿼리 검증을 하기 위해서 shell에서 작업을 많이 하는데... 가끔 내가 사용 했던 쿼리를 다시 사용해야 할 때가 있다. 그럴때 shell에서 화살표 위 아래로 움직이면 과거 쿼리를 불러 올 수 있는데.. 이게 꽤 옛날 쿼리라면 찾기가 참 어렵다. history 명령도 있는 것도 아니고.. 그럴때 어떻해야 하나~ 확인해 보니 내가 Cli shell에서 사용했던 쿼리가 기록에 남아 있다. =>$HOME/.hivehistory 란 곳에 10,000 Line 까지 기록이 된다고 한다. 그래서 오래된 쿼리를 다시 찾기 위해서는 그 파일을 열고!! 확인해 보면 나의 삽질이 어떻게 진행되고 있는 지 한눈에 확인해 볼수 있다!!