A라는 이미지를 가지고 컨테이너를 실행 한 후 어떤 작업을 했을 때 현재 컨테이너 상태 그대로 다른 사람에게 공유를 하거나, run 시킬 때 빠진 포트를 지정하거나 할 수 있다. commit 이라는 명령어를 사용하면 되는데, 사용법은 아래와 같다. docker commit [컨테이너id/이름] [이미지명:태그] 예) 나는 sad_johnson이라는 컨테이너를 linux-kafka라는 이미지로 커밋하려고 한다. commit한 이미지를 컨테이너로 실행시켜 보면, 이전 컨테이너에서 작업 한 내용을 확인 해 볼 수 있다.
offset 을 리셋하면 데이터를 처음부터 다시 읽을 수 있다. 1️⃣ consumer-group 상세보기 kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group consumer-group LOG-END-OFFSET을 보면, 마지막으로 읽은 offset을 확인 할 수 있다. 2️⃣ offset 리셋하기 - reset시에는 모든 consumer group이 비활성화 상태여야한다. 아니면 아래와 같은 에러가 난다. `Assignments can only be reset if the group consumer-group is inactive, but the current state is Stable` kafka-consumer..
아래의 그림처럼 consumer-group이라는 #컨슈머그룹을 만들고 여러 컨슈머를 생성하는 방법을 알아보자. 1️⃣ topic 생성하기 kafka-topics.sh --bootstrap-server localhost:9092 --topic test_topic --create --partitions 5 2️⃣ 하나의 consumer로 시작하기 - #옵션 : --group kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --group consumer-group 3️⃣ 하나의 producer 시작 # kafka-console-producer.sh --bootstrap-server localhost:9092 --pro..
1️⃣ topic 생성 kafka-topics.sh --bootstrap-server localhost:9092 --topic test_topic --create --partitions 3 2️⃣ #producing / 데이터 쓰기 1) key없이 데이터 쓰기 - 키를 입력하지 않은 경우 key는 Null이다 kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test_topic 위 명령어를 입력하면, 데이터를 쓸 수 있게 터미널이 변경 된다. 쓰고 싶은 데이터를 입력 후 프로듀서를 빠지나오고 싶으면 ctrl+C를 눌러주면 된다. 2) key 데이터 쓰기 - : 로 key와 값을 구분한다. - 동일한 키는 동일한 파티션에 데이터가 쓰..
1️⃣ #토픽 만들기 - first_topic 이라는 이름을 가진 토픽 만들기 kafka-topics.sh --bootstrap-server localhost:9092 --topic first_topic --create 2️⃣ topic 리스트 확인하기 kafka-topics.sh --bootstrap-server localhost:9092 --list 3️⃣ #partition 을 가진 토픽 만들기 - 3개의 파티션을 가진 second_topic 이라는 이름을 가진 토픽 만들기 kafka-topics.sh --bootstrap-server localhost:9092 --topic second_topic --create --partitions 3 4️⃣ #복제계수 - 복제계수 : 재해 복구의 목적과 고가..
한 프로젝트에서 통계 쿼리를 누군가 sql 쿼리를 직접 사용하여 작성을 했다. 아마 queryDsl에서는 unionAll을 제공하지 않아서 그런것 같다. (@Query 어노테이션을 사용하여, nativeQuery = true) 이 쿼리의 문제점은 1. 가독성이 떨어져서 보기 싫다. 띄어쓰기가 만약 잘못되어있다면?😖 2. 오라클의 경우 스키마명을 명시를 해주어야하는데, 운영과 개발의 스키마명이 달라 컴파일을 각각 2번 해줘야한다는 것이다. 너무 불편하다. 3. 나중에 이 내용을 모르는 사람이 수정 없이 배포 한 경우, 해당 테이블이 존재하지 않는다는 황당한 일이 발생 할 수도.. 따라서 아래의 쿼리를 queryDSL을 사용하여 변경하려고 한다. @Transactional @Query( value = "SE..
#url 의 #쿼리스트링 에 다음과 같은 문자는 허용되지 않는데, 만약 [\\]^`{|} 같은 문자가 쿼리스트링에 들어가는 경우 #tomcat 자체의 에러가 떨어진다. 서버 콘솔에는 이런 에러가 나온다. Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986. #Tomcat8.0 부터 #RFC3986 규격이 적용되어 영어문자, 숫자, 몇개의 예약 문자만 허용된다. 따라서 '[' 같은 특수문자를 허용하려면, 톰캣 버전을 다운그레이드 시키던지, 허용 문자를 별도로 추가해주면 된다. import org.springframework.boot.web.embedded.tomcat.To..
-DeaiConfigRoot는 ApacheTomcat 서버에서 실행할 때 사용되는 옵션 중 하나다. 이 옵션은 Tomcat이 웹 애플리케이션의 설정 파일을 찾는 위치를 지정하는 데 사용된다. 일반적으로 #Tomcat은 웹 애플리케이션에 대한 설정 파일을 WEB-INF 디렉토리 아래에 있는 web.xml 파일에서 읽는데 DeaiConfigRoot 옵션을 사용하면 Tomcat이 웹 애플리케이션의 설정 파일을 다른 위치에서 찾을 수 있도록 변경할 수 있다. 해당 옵션을 사용하면 웹 애플리케이션의 배포 구조를 유연하게 관리하고 다양한 설정 파일의 위치를 지정 할 수 있다는 장점이 있다. setenv.sh 파일을 생성하면 구동시에 옵션을 직접 주지 않아도, 톰캣이 해당 파일에서 설정값을 읽어간다. vi /톰캣경로..
- Total
- Today
- Yesterday
- 현대코테
- Kubernetes
- 자바
- react
- Docker
- 현대오토에버
- centos
- java 코테
- 아파치카프카
- Spring
- 코테
- 자바코테
- 톰캣
- java
- springboot
- 쿠버네티스
- javascript
- 전자정부프레임워크
- mysql
- tomcat
- 도커
- 오토에버코테
- softeer
- Linux
- 리액트
- softeer java
- 스프링
- 현대
- 코딩테스트
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |