소스코드를 관리하기 위해 git hub가 있는것처럼 도커 이미지(?)를 관리하기 위한 도커 허브 저장소가 있는 것으로 보인다. CentOS에서 yum install을 하면 yum 리포지터리에서 패키지를 내려받는 것 처럼 도커는 기본적으로 이 도커 허브라는 중앙 이미지 저장소에서 이미지를 내려받는다. 도커 허브는 도커가 공식적(Officially)으로 제공하고 있는 도커 저장소로서, 도커 계정을 가지고 있다면 누구나 이미지를 내려받거나 올릴수 있다고 한다. 다만, private하게 올리는 경우는 개수에 제한이 있고 더 많은 것을 바랄 경우 비용이 들어간다는 점만 이해하도록 한다. Docker Hub 저장소 링크https://hub.docker.com/?ref=login
최근 도커를 공부하고 있는데, container 포트들을 포트 포워딩 하는 도커 머신 자체의 ip정보를 얻는 방법을 리서치 해서 얻었는데, 이 뿐만 아니라 container ip정보를 얻는 방법또한 포스팅 하도록 한다. Docker host(?) ip정보 얻기 docker-machine ip : 실행중인 도커 ip정보 docker-machine ip default : 기본으로 설정되어 있는 ip정보 Docker container ip 정보 얻기 docker network inspect bridge : 컨테이너 ip정보들 여기서 bridge는 도커 컨테이너 내의 내부 망으로 다른 망을 만들수도 있다. (단, 기본적으로 해당 망에 생성되므로 위의 명령이면 충분?할듯) docker inspect contain..
bootstrap.servers 카프카 클러스터에 처음 연결을 하귀 위한 호스트와 포트 정보로 구성된 리스트 정보를 나타낸다. 정의된 포맷은 호스트명:포트, 호스트명:포트, 호스트명:포트 이다. fetch.min.bytes 한번에 가져올 수 있는 최소 데이터 사이즈 group.id 컨슈머가 속한 컨슈머 그룹을 식별하는 식별자 enable.auto.commit 백그라운드로 주기적으로 오프셋을 커밋합니다. auto.offset.reset 카프카에서 초기 오프셋이 없거나 현재 오프셋이 더 이상 존재하지 않은 경우에 다음 옵션으로 리셋합니다. earliest: 가장 초기의 오프셋값으로 설정합니다. latest : 가장 마지막의 오프셋값으로 설정합니다. none : 이전 오프셋값을 찾지 못하면 에러를 나타냅니다...
crontab 리눅스는 예약 녹화처럼 지정한 시각에 명령어를 자도 실행하는 crond라는 서비스가 있다. crontab은 “crond로 실행하고 싶은 명령어와 실행 시각”(cronjob)을 관리하는 명령어 "다. cronjob 날싸 지정 규칙 분, 시, 일, 월, 요일 crontab -e를 실행하면 cronjob 설정을 편집할 수 있다. 0(일), 1(월), 2(화), 3(수), 4(목), 5(금), 6(토), 7(일) 0, 7이 겹치는데 어느쪽도 가능하다. crontab -l을 사용하면 설정된 스케줄들을 확인할 수 있다.
bootstrap.servers처음 연결을 하기 위한 호스트와 포트 정보로 구성된 리스트 정보를 나타냅니다. 정의된 포맷은 호스트이름 :포트,호스트이름:포트,호스트이름:포트 이다.호스트 하나만 입력해 사용할 수 있지만, 장애가 발생하는 경우 접속이 불가능하기에 클러스터에 있는 호스트를 모두 입력하는것을 권장한다. acks프로듀서가 카프카 토픽의 리더에게 메시지를 보낸 후 요청을 완료하기 전 ack(승인)의 수. 수가 크면 메시지 손실 가능성이 낮아지지만 속도가 줄어들고 수가 작으면 손실 가능성이 높아지지만 속도가 높아진다. acks=0프로듀서는 서버로 부터 어떠한 ack도 기다리지 않는다. asks=1리더는 데이터를 기록하지만, 모든 팔로워는 확인하지 않는다. 이 경우 데이터 손실이 발생가능하다. ack..
원인 java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/JsonNode 해결(dependency 추가) compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8' compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.8.8' compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8'
처음 카프카를 실행하려고 하는데, 다음과 같은 에러가 났따.. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 이러할 경우 다음의 Dependency를 추가한다. compile 'org.slf4j:slf4j-simple:1.7.30'
카프카에서 토픽을 만들려고 하는데 다음과 같은 에러가 발생하였다.. Error while executing topic command : Replication factor: 1 larger than available brokers: 0. [2020-09-26 09:15:41,654] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0. (kafka.admin.TopicCommand$) 토픽을 만들려는데 브로커가 없다는 의미인것 같은데 확인해보니 server.properties에 설정해 놓은zookeeper.connect에 설정된 경로..
일전에 Kafka를 공부하려다가 실패하였는데, 주된 원인은 책 중간중간에 주키퍼에 대한 얘기가 많이 나와서 뭔가 스트레스를 받았었다.(주키퍼를 하나도 몰랐기에..) 그래서, 주키퍼에 대한 책을 1독하고 나서 다시 카프카에 대한 책을 읽으니 뭔가 처음 설치하고 테스트 할 때 막힘이 없다. 카프카를 공부하려는 사람은 일단 주키퍼 기본서적을 1독하면 공부를 하는데 도움이 될 거라는 생각을 하게 된다. 카프카 공부의 목적 최근 카프카에 대한 공부를 시작하였는데 내가 주키퍼를 공부한 궁극적인 목표도 카프카를 공부하기 위함이었기에 1차적인 목표를 달성하였다는 점에서 일단 기쁘게 시작하고 있다. 왜 카프카를 공부하려고 하냐면 내가 속한 프로젝트에서 카프카를 쓰고 있는데, 이게 가운데서 뭔가 메시지 큐의 역할을 한다는..
주키퍼 포레터 단어 를 사용하면 서버 운영중 모니터링을 해야할 때 포레터 단어를 이용해서 할 수 있다. 여기서 포레터 단어(four - letter word)는 위키피디아에서 찾아보니 좀 긴 글자를 4글자로 축약한 것이라고 한다. 우리말로 하면 그냥 줄임말 같은 것 같다. 예를들면 상태메시지 -> 상메, 카카오톡 -> 카톡 이런것 처럼 말이다. 포레터 단어의 주요 목표는 telnet이나 nc와 같은 간단한 도구로 사용할 수 있는 단순한 프로토콜을 제공해서 시스템 상태를 점검하고 문제를 진단하는 것이다. *그런데,, 내가 지금 주키퍼 3.6.2를 사용하는데, 포레터 단어가 거의 먹히지 않는다. 3.6.2 관련 Administrator 문서를 보니까 다음과 같은 글귀가 있다. New in 3.5.3: Fou..