서버에 kafka를 실행시키고 로컬 PC(별도의 외부 PC)에서 서버의 kafka topic 을 구독하려하였는데 이리저리 해보아도 구독에 실패하다가 원인을 찾게되어 기록을 남깁니다. 일단 결론 원인은 kafka server.properties의 내용중 advertised.listeners 라는 녀석을 advertised.listeners==PLAINTEXT://11.22.33.123:9092 과 같이 IP를 명시하였더니 컨슘에 성공하였습니다 그렇다면 이 설정이 뭐길래 외부에서 컨슘하는걸 가능하게 할까요? advertised.listeners ? 넌 뭐하는 놈이니? server.properties를 열어보면 IP와Port 를 넣을 수 있는 값이 두개 있는걸 볼 수 있는대 listeners 와 adverti..
OS환경 : centos7 실행되는 서비스간에 종속이 필요한 상황이 발생했습니다. 예를들어 저의 서비스는 DB 사용 및 특정 경로의 마운트가 필수인 service 이며 최초 실행 시 DB존재 여부를 확인합니다. 이를 위하여 서비스 실행 시 종속관계의 다른 서비스가 현재 실행중인지 확인하는 작업이 필요하였습니다. .service 파일 내부에 After 와 Requires 추가 예를들어 내가 실행시킬 서비스의 이름이 B.service 이고 이 B 라는 서비스는 A 라는 서비스가 반드시 실행되어있어야 정상동작은 합니다. 이럴 경우 B.service의 파일에 After와 Requires 를 추가하여 A 서비스가 실행이 된 후 B 서비스가 실행되게 할 수 있습니다. [Unit] Description=B.servi..
증상 kafka 사용중에 알 수 없는 타이밍에 kafka가 자동 종료되며 error shutdown broker because all log dirs in /tmp/kafka-logs have failed (kafka.log.logmanager) log를 뿜는 경우가 확인되었습니다. 예상되는 원인 kafka와 zookeeper의 기본 .properties 파일에는 /tmp 폴더 하위에 데이터를 쌓도록 지정되어있습니다. 문제는 리눅스의 /tmp 경로는 기본적으로 운영체제가 주기적으로 내용을 비워주는 크론탭을 돌리고있습니다. 아마 OS가 비워주는 타이밍에 Kafka에서 파일 핸들러를 물고있는게 아니라서 OS는 해당 파일을 지워버리고 지워진 후 바로 Kafka가 해당 파일을 사용하려하니 파일이 삭제되어(또는 ..
환경 : Elasticsearch 7.8.1 TermsAggregationBuilder 이용하여 Terms 집계를 사용할 경우 대량의 데이터를 집계하다가 too_many_buckets_exception 을 마주하게 되었습니다. { "error": { "root_cause": [ { "type": "too_many_buckets_exception", "reason": "Trying to create too many buckets. Must be less than or equal to: [10000] but was [10001]. This limit can be set by changing the [search.max_buckets] cluster level setting.", "max_buckets": 1..
try-finally 보다는 try-with-rewsources를 사용하라 /** * 이거 말고!! */ static String firstLineOfFile(String path) throws IOException { BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); } } /** * 이거!! * AutoCloseable 구현한 객체는 다 가능! */ static String firstLineOfFile(String path) throws IOException { try (BufferedReader br = new BufferedReader(new F..
서로 다른 PC간 통신을 하게되는 프로젝트를 진행하다보면 포트(Port) 라는 단어를 많이 보게됩니다. 그리고 포트를 열어야한다 또는 닫아야한다 이러한 얘기가 많이 나오게 되는대 이 포트라는 것이 무엇이기에 PC간 통신에 단골 손님으로 등장하며 변기뚜껑 마냥 열었다 닫았다 할 수 있는 것 인지 알아보겠습니다. 포트(PORT)? 항구? Port 의 사전적 의미를 먼저 보고 가겠습니다. 항구 라고 나오네요 현실에서 항구는 선박들이 들어와 운항에 필요한 식자재, 생필품, 사고 팔 물건 등을 싣거나 내리거나 하는 장소입니다. 컴퓨터에서 포트도 항구와 비슷한 의미를 가집니다. PC를 넓디 넓은 해안 도시라고 생각한다면 해안가에 여러 항구 들이 존재할 수 있겠죠. 어떠한 항구는 디지털 제품을 수출,수입하기 위한 항..
SSH!! 들어도 보았고 사용도 해보았는데 누군가 "SSH 가 무엇이니?" 라고 질문 했을때 뚜렷하게 답변할 자신이 없어 공부할 겸 글을 작성해 봅니다. SSH ? 우리가 사용하는 서버들은 보통 나와는 멀리 떨어져있는 거리에 있는 것이 대부분입니다. 회사를 다녀보면 보통 서버들은 다른 층, 다른 공간의 서버실이라는 이름하에 옹기종기 모여있거나 또는 IDC 센터 (internet data center) 더 나아가 아마존의 AWS, 마이크로소프트 Azure 와 같이 클라우드 서버 등 내가 물리적으로 만지기엔 머나먼(?) 곳에 존재합니다. 우리는 이 서버를 통하여 어떠한 작업을 하기 위해서 자동차를 타고 IDC 센터를 가거나, 비행기를 타고 아마존의 서버실에 가지는 않습니다. 보통은 내가 사용하는 개인 PC에..
class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; java.util.Map participantMap = new java.util.HashMap(); for (String name : participant) { if (participantMap.containsKey(name)) { Integer count = participantMap.get(name); participantMap.replace(name, ++count); } else { participantMap.put(name, 1); } } for (String name : completion) { if (par..
- Total
- Today
- Yesterday
- UE5
- 람다
- C
- UE4
- c++11
- double free
- coordinate system
- c++
- bug
- rotator
- unrealengine
- Lambda
- Trouble shooting
- LambdaFunction
- 람다함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |