본문 바로가기

IT87

리눅스에 아파치 카프카(Apache Kafka) 설치하기 이번 글에서는 리눅스에 아파치 카프카(Apache Kafka)를 설치한 후 주키퍼와 연결해 볼 것이다. 이 글의 순서는 다음과 같다. 1. 사전준비 2. 아파치 카프카 설치 3. 아파치 카프카 실행/종료 4. Systemd에 카프카 등록(선택사항) 5. 주키퍼 연결 확인 1. 사전준비 이 글을 진행하기 전에는 다음과 같은 준비가 되어 있어야 한다. 1) 리눅스에 코디네이션 애플리케이션인 주키퍼 설치(리눅스에 주키퍼 설치하기 글 참고) 2) 아파치 카프카 클러스터를 구성할 리눅스 서버. 이 글에서는 AWS EC2 인스턴스(Amazon Linux 2 AMI (HVM) t2.smaull. cpu 1, memory 2G) 2대에 설치를 진행할 것이다(카프카 실행 시 1G 메모리로는 메모리 부족 에러가 발생한다).. 2020. 12. 9.
아파치 카프카 실행 에러(Classpath is empty. Please build the project first e.g. by running) 아파치 카프카를 설치한 후 실행시킬 때 아래와 같은 에러가 발생하는 경우가 있다. Classpath is empty. Please build the project first e.g. by running './gradlew jar -PscalaVersion=2.13.2' 위와 같은 에러가 발생하는 원인은 아파치 카프카 binary 파일을 다운받고 실행시킨 것이 아니라, source 파일을 다운받고 실행시켜서 그렇다. 카프카를 다운받을 때는 kafka.apache.org/downloads 에서 binary 파일을 다운받도록 하자. 참고 stackoverflow.com/questions/34081336/classpath-is-empty-please-build-the-project-first classpath .. 2020. 11. 22.
Oracle 테이블 컬럼 정보 조회 쿼리(컬럼명, PK, FK, Nullable) 프로젝트 진행 시 분석/설계를 진행할 때 기존에 등록되어 있는 Oracle 테이블 컬럼정보를 조회하는 경우가 많다(예를 들면 컬럼 물리명/논리명, PK, FK, Nullable, Data 기본값 등등) 그래서 해당 내용을 기억하기 위해 아래와 같이 컬럼 정보 조회 쿼리를 정리해 보았다. SELECT AA.COLUMN_ID, AA.COLUMN_NAME, BB.COMMENTS, AA.DATA_TYPE, AA.DATA_LENGTH, AA.DATA_DEFAULT, CC.PK, AA.NULLABLE, CC.FK FROM ALL_TAB_COLUMNS AA, ALL_COL_COMMENTS BB, (SELECT A.OWNER, A.TABLE_NAME, A.CONSTRAINT_TYPE, COLUMN_NAME, POSIT.. 2020. 11. 20.
리눅스에 주키퍼(zookeeper) 설치하기 지난 글에서는 아파치 카프카(Apache Kafka)의 정의에 대해서 알아보았다. 이번 글에서는 아파치 카프카를 관리하기 위해서는 반드시 필요한 코디네이션 애플리케이션인 주키퍼(Zookeeper)를 설치 실습을 진행해 보겠다(아파치 카프카 설치는 다음 글에서 진행할 것이다) 이 글의 진행 순서는 다음과 같다. 1. 서버 준비 2. 주키퍼 설치하기 3. 주키퍼 실행하기 1. 서버 준비 우선 주키퍼를 설치할 서버가 필요하다. 주키퍼는 서버 3대에 설치를 진행하도록 하겠다(다음 글에서 카프카는 서버 2대에 설치를 진행할 것이다) 사실 아파치 카프카 및 주키퍼 모두 각각 서버 1대에 설치를 진행해도 되지만, 클러스터 구성을 맛보기 위해서 주키퍼는 3대의 서버에 설치할 것이다. 또한 주키퍼는 클러스터로 구성할 경.. 2020. 11. 5.
리눅스 scp를 활용한 원격 파일 전송 리눅스를 사용하다보면 원격으로 파일을 전송해야 하는 경우가 있다. 이번 글에서는 리눅스 환경에서 scp를 사용하여 원격으로 파일을 전송하는 방법에 대해 알아볼 것이다. scp는 secure copy (remote file copy program)의 줄임말로 ssh를 이용해 네트워크로 연결된 호스트간에 파일을 주고 받는 명령어이다. 우선 scp를 사용하기 위해서는 다음과 같은 조건이 선행되어야 한다. 1. 리눅스 및 bash shell 2. 목적지 서버의 22번 포트(SSH포트) 개방 그럼 파일을 전송하는 방법에 대해 알아보자 1. 로컬서버(접속한 서버) -> 리모트서버로 파일 전송 scp [목적파일명(경로)] [유저명]@[IP주소]:[목적디렉토리] 2. 리모트서버 -> 로컬서버(접속한 서버)로 파일 전송.. 2020. 10. 25.
리눅스 명령 프롬프트 변경하기 리눅스를 사용하다 보면 명령 프롬프트 창을 변경해야 하는 경우가 종종 있다. 이번 글에서는 명령 프롬프트 창을 변경하는 방법에 대해서 정리해보고자 한다. 1. 접속한 계정의 명령 프롬프트 창을 일시적으로 변경하기 export 명령어를 통해서 명령 프롬프트 창 변경이 가능하다. 일시적으로 명령 프롬프트 창을 변경할 때 유용하다. 단 해당 서버에 재접속을 하게 되면 명령 프롬프트 창이 초기화된다. $ export PS1="[변경하고 싶은 명령 프롬프트]" 2. 접속한 계정의 명령 프롬프트 창 변경하기 ~/.bashrc 파일을 수정해주면 동일한 계정으로 재접속을 하거나 재부팅을 해도 변경된 명령 프롬프트 창은 유지된다. 1) ~/.bashrc 파일을 열어서 export PS1="[변경하고 싶은 명령 프롬프트].. 2020. 10. 22.
아파치 카프카(Apache Kafka) 정의 및 특징 최근에 아파치 카프카(Apache Kafka)에 대한 관심이 생겨서 공부를 하게 되었다. 이 글에서는 아파치 카프카에 대한 정의 및 특징에 대해 정리를 해 볼 것이다. 글의 진행 순서는 다음과 같다. 1. 아파치 카프카(Apache Kafka)란 무엇인가? 2. 아파치 카프카 탄생 배경 3. 아파치 카프카의 용어 4. 아파치 카프카의 용어 5. 아파치 카프카의 특징 1. 아파치 카프카(Apache Kafka)란 무엇인가? 아파치 카프카(Apache Kafka)는 대용량, 대규모 메시지 데이터를 빠르게 처리하도록 개발된 메시징 플랫폼이다. 비즈니스 중심의 소셜 네트워크 서비스를 하는 링크드인(LinkedIn)에서 출발해 2011년 초 아파치 공식 오픈소스로 세상에 공개되었다. 많은 기업들이 자사의 빅데이터.. 2020. 10. 17.