프로그래밍
-
HDP 2.0에서 HDP 2.4로 업그레이드 삽질프로그래밍/hadoop 2016. 5. 27. 10:53
오래전 부터 쓰던 Hortonworks 사의 HDP 2.0 버젼을을 최근에 나온 2.4 버젼으로 업그레이드 해야 할 필요성이 생겼다. 일단 너무 오래된 버젼이라 나날이 발전하고 있는 Hadoop 관련 시스템들의 지원이 제대로 이루어 지고 있지 않고 있었고 현재 만들고 있는 데이터들의 생성 속도도 현저하게 저하되고 있었다. 일단 Rolling Upgrade를 지원하는지를 확인 해봐야 했다. 메일 생성되는 데이터가 있으니 진행에 차질이 없어야 하니! Hortonworks 홈페이지에서 확인해 보니 Rolling upgrade를 지원한다! 하지만! ImportantAmbari 2.2.2 does not support managing an HDP 2.1 or 2.0 cluster. If you are runnin..
-
Hive GenericUDTF 사용프로그래밍/hive 2016. 5. 13. 15:14
Hive에서 일반적인 UDF는 사용하기 쉽다. Hive UDF는 [INPUT] : ONE ROW -> [OUTPUT] ONE ROW 이런 결과 값이 나온다. 하지만 필요에 의해 [INPUT] : ONE ROW -> [OUTPUT] MULTI ROW 값이 필요하게 되었다. 찾아보니 GenericUDTF를 사용 하면 된다. import java.util.ArrayList;import java.util.List; import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.metadata.HiveException;import org.apache.hadoop.hive.ql.udf.generic.GenericU..
-
ulimit 설정 관련프로그래밍/linux 2016. 5. 13. 14:35
리눅스에서 ulimit 설정이 있다, 이걸 알게된 계기는 Hadoop 설치시 권장 설정 항목에 명시되어 있기 때문이었다. hortonworks 사이트 설치 문서에 위와 같이 명시되어 있다. 그럼 ulimit란 게 무엇 일까? --> 쉘 내부 명령어로 시스템 자원의 제한 값을 조정하는 것이라고 한다. >ulimit -a 위와 같이 나온다! 잠깐 ulimit 옵션을 보면 -a : 모든 제한 사양 뷰-c : 최대 코어 파일 사이즈 -d : 프로세스 데이터 세그먼트의 최대 크기 -f : shell에 의해 만들어질 수 있는 파일의 최대 크기 -s : 최대 스택 크기 -p : 파이프 크기 -n : 오픈 파일의 최대수 -u : 오픈파일의 최대수 -v : 최대 가상메모리의 양 -S : soft 한도 -H : hard ..
-
리눅스 crontab으로 기간이 지난 로그 삭제프로그래밍/linux 2016. 5. 2. 23:01
프로그램을 운영하다가 보면 로그를 남기는 것은 필수다. 허나! 이 로그들로 인해 프로세스가 멈출 수도 있다. 쌓여가는 로그들을 일일이 손으로 제거 할 수도 없고... 쩝... 그럴때 흔히 사용하는 것이 crontab 이다. crontab은 일종의 스케줄러라고 보면 된다. 사용 방법은 간단하다. 원하는 동작 방식과 실행 스크립트를 등록하면 된다! * * * * * 수행할 명령어분(0-59)시(0-23)일(1-31)월(1-12)요일(0-6)(0=일요일) 이런 구조다 예를 들면 * * * * * /home/run.sh==> 1분 마다 /home/run.sh 수행 15,45 * * * * /home/run.sh==> 매시 15,45분에 수행 0 2 * * * /home/run.sh==> 매일 2시에 수행 30 ..
-
NHN Entertainment Toast Swap 메모리 설정 해프닝프로그래밍/cloud 2016. 4. 25. 17:19
NHN 엔터의 TOAST를 사용중 메모리 부족으로 인한 프로세스가 죽는 현상이 나타났다. 처음에는 떠 있는 프로세스들이 아무런 로그 없이 다음날 죽어 있는 상태였다? 왜? 죽었는지 의문이 들었는데... 우리 연구소 책임님이 지나가는 말로 시스템 물리적인 메모리가 부족할 경우 커널 단에서 그냥 아무 프로세스를 죽인다고 한다! 음 그래? 커널 메시지 확인!! 간단한 커널 메시지 확인은 >> dmesg 확인 결과! 역시나 kill 메시지가 존재 한다.... ㄷㄷㄷ Instance의 메모리를 너무 작게 설정했나...(괜히 돈 아낄려다가...) 그래서 메모리를 확인하는 중 재미있는 현상을 발견했다. 분명 Toast Instance에서 Swap으로 할당 된 디스크 용량이 있는 걸 확인 했는데... 막상 free를 ..
-
PostgreSQL shell command(ambari)프로그래밍/hadoop 2016. 4. 11. 19:48
Hadoop 설치 시 hostname를 잘 못 지정하여 설치하여 hostname을 변경 후 재 설치 했더니... ambari-server 에서 host하나가 없어 졌다고 자꾸 alert을 발생 시키고 있다. 이거 어찌 하겠는가... 같은 host인데 이름만 바꼈을 뿐... 다르게 인식하다니... 상관은 없지만 아무래도 경고 메시지가 시뻘걷게 떠 있으니 여간 신경이 쓰이지 않을 수 없다!!! 결구은 ambari DB에서 삭제 해주는 방법을 선택했다. 암바리 DB는 postgreSQL 흠 MySQL? MS-SQL? 암튼 뭐! 일단 ambari에 설치에 사용된 postgreSQL은 embaded postgreSQL 이다. 참고 하시고! postgreSQL 접속은! psql --host=127.0.0.1 --u..
-
Python hive Client 설정프로그래밍/python 2016. 3. 30. 19:51
Python 으로 Hiveserver Client 개발을 하려고 한다. 우선 적으로 확인 해보니 일단 python version이 2.6 업데이트가 필요한 상황이다! 우선 Python CentOS 6.7에서 python 2.7로 업데이트 하는 방법!! => yum update=> yum install centos-release-SCL=> yum install python27=> scl enable python27 bash=> cd /opt/rh/python27/root/usr/bin/ # cd to the directory where SCL installs python=> sudo LD_LIBRARY_PATH=$LD_LIBRARY_PATH ./easy_install-2.7 pip => sudo LD_LI..
-
HDP Hiveserver2 JAVA heap Error프로그래밍/hive 2016. 3. 30. 19:40
HDP 버젼을 운용 중 발생 중인 문제점.. Hiveserver2에서 3주 정도 지나면 Java Heap Memory Error를 뱉는다.. 여기에 설치된 Hive 버젼은 1.2.1.2.3 에러 메시지는 다음과 같다. Java.lang.OutOfMemoryError: Java heap space 2016-03-04 10:45:23,530 WARN [HiveServer2-Handler-Pool: Thread-675783]: thrift.ThriftCLIService (ThriftCLIService.java:FetchResults(681)) - Error fetching results: java.lang.RuntimeException: java.lang.OutOfMemoryError: Java heap sp..