개요 가끔 개발서버에서 설정파일이나 오류메시지 로그를 복사해오고 싶은 경우가 있다. 그럴때 가장 손쉽게 사용할 수 있는건, python의 SimpleHTTPServer 를 쓰면 정말 쉽게 복사 해올수 있다. 이게 의외로 유용한게 linux 서버에 python 이 왠만하면 기본 설치 되어있다보니 리눅스 서버의 파일을 급하게 복사해올 때 매우 유용하다. (심지어 포트도 지정가능하고) python -m SimpleHTTPServer [port] 보통 장애났을때 관련된 전체 로그를 메일로 전달해주거나, 딴 서버에 동일하게 세팅해야해서 설정파일을 복사하거나 할 때 의외로 유용하게 사용했다. (윈도우도 python이 설치되면 사용가능하다) 사용방법 예시 사용법은 아주 쉽다. 복사할 파일이 있는 폴더로 이동하고, "..
카프카의 토픽이나 그룹정보를 확인하는 기본적인 명령어 툴이 있다. 인터넷에 있는 대부분의 예시는 인증이 없는 방식이 예로 있는데, 카프카클러스터에 보안인증이 존재할때 기냥 명령을 내리면 실행이 안되고 에러가 난다. consumer 를 만들어서 실행할땐 properties 에 선언해서 큰 문제가 없는데, username 과 password 를 선언하기가 조금 애매한 상황이 발생된다. 이럴땐 --command-config 을 이용해서 파일의 설정을 읽어 내면 된다. 인증있는 카프카에 명령 하기 우선 다음과 같은 보안과 관련된 설정을 파일을 만들어 두어야 한다. 그리고 실행할때 파라미터로 제공하면 된다. 자주 쓰는 패턴의 명령어 예시는 아래에 적어두었다. kafka-auth.properties bootstra..
카프카에서 kafka-console-consumer 를 사용할 경우, JSON 이나 STRING 형태의 데이터가 잘 보이지만, AVRO 포맷으로 저장하는 데이터는 다음과 같이 깨지는 현상이 있다. 그래서 토픽의 결과를 깨지 않고 보려면 딴 명령을 사용해야 한다. 참고로 본인은 confluent 에서 제공하는 기본툴을 다운로드 받아서 사용했다. ./kafka-console-consumer \ --bootstrap-server 127.0.0.1:9092 \ --topic 토픽명 \ --from-beginning �߶�����xx-1234��吅����������my�� Ȼ ����� �¢�����xx-1234�Èă�������3�������my��� AVRO 토픽 결과 조회하기 avro 포맷은 스키마가 존재..
하둡을 사용하다보면 디스크 사용량이 70%를 넘어서기 시작하면 장애가 생기는 경우가 은근히 많다. 그리고, 클러스터의 모니터링 알람같은걸 해두면 알람도 많이 오기 때문에 물리적인 디스크 공간을 확보해야 할 필요가 있다. 이때 가장 먼저 삭제시도할 폴더는 HDFS 의 휴지통 공간이다. 휴지통 용량 확인 & 비우기 다음과 같이 hdfs 의 .Trash 를 확인해보면 그 용량이 꽤 무시못한다. 참고로, "hadoop fs -rm -f " 형태로 지우면, 바로 삭제되는게 아니라 .Trash 폴더로 옮겨지고 특정 기간이 지나면 삭제되는 구조다. 그래서 보통 데이터 마이그레이션과 같이 파일을 많이 복사하고 삭제하는게 반복되면 생각보다 여기에 쌓이는 공간이 꽤 크다. 그래서 hdfs 공간이 부족하면 일단 응급처치(?..
hive 는 다양한 파일포맷과 스토리지 핸들러를 통해 hdfs 가 아닌 es 나 kafka 같은 외부 스토리지의 연결도 가능하게 해준다. 그래서 테이블이 어떤 파티션 정책을 갖고 있고 어떤 파일포맷이고 어떤 스토리지 핸들러를 쓰는지 확인해보고 싶은 경우가 생긴다. 특히 딴사람이 만든 테이블이라서 분석이 필요한 경우 더 그런듯 테이블 선언문(DDL) 확인 "show create table 테이블명" 을 하면 테이블 생성할때의 명령을 확인할 수 있다. 이러면 스키마 정보나, SERDE 정보 그리고 어떤 파일포맷과 압축정책을 썼는지 까지 쉽게 확인이 가능하다. 하지만, 코멘트가 한글일 경우 다음과 같이 깨져서 보이는게 조금 아쉽다. 꼭, 코멘트를 확인하고 싶다면 describe 명령을 이용해서 확인하면 가능하..
엘라스틱서치는 restapi 를 지원해서 주소를 요청해서 가능한게, url 을 호출하는 가장 대중적인 커맨드라인툴이 curl 이다. 그래서 curl 로 호출하는 경우도 많으니 간단히 명령어를 정리하도록 하겠다. 예제는 편의상 http://127.0.0.1:9200 을 기준으로 설명하도록 하겠다. 추가로, ES에 웹로그인형태로 권한이 존재한다면 "-u 아이디:패스워드" 파라미터를 추가로 기입해주면된다. 이런게 없다면 파란색 부분은 생략하고 실행하면 된다. (사실 예제들은 모두 빼고 적긴했다) curl -u 아이디:패스워드 -XGET 'http://127.0.0.1:9200/_cat/health?v 인덱스 생성 사실 flink 와 연계하거나 API 를 사용해서 인덱스를 수동으로 생성할 일은 없지만, 다음과 ..