Open tjswlsdl135 opened 4 years ago
bin/kafka-server-start.sh -daemon config/server.properties 실행중 다음과 같은 오류가 발생하며 프로세스가 셧다운됨
java.net.UnknownHostException: swc-27: 이름 혹은 서비스를 알 수 없습니다
/etc/hosts 파일에 명시된 host명과 실제 hostname이 일치하지 않아 발생하는 에러
(base) root@swc-27:~# hostname
swc-27
(base) root@swc-27:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu
/etc/hosts의 127.0.0.1 이름을 localhost에서 swc-27로 변경했더니 프로세스가 잘 돌아감
kafka 설치
wget http://mirror.navercorp.com/apache/kafka/2.4.1/kafka_2.11-2.4.1.tgz
맨 마지막에 delete.topic.enable = true 추가 port=9092 advertised.host.name=localhost
카프카는 주키퍼 위에서 돌아가는데, 일단 지금 테스트용이니까 주키퍼 따로 깔지 않고 카프카에 내장된 주키퍼 사용할것
주키퍼 실행
카프카 실행
토픽 생성
bin 경로에 kafka-topic.sh 파일 사용하며 옵션으로 create 명시한 후 zookeeper의 접속정보와 replication-factor로 데이터 복제 수 지정(서버 한대로 테스트 중이니 1개로 하겠다.)
partition으로 파티션 수 지정(이것도 테스트 중이니 1로)
마지막으로 topic name 지정
InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0 에러..
zookeeper.connect=localhost:2181 -> zookeeper.connect=loacalhost:5181 (아까 주키퍼 포트번호 =5181로 바꿨으니까)
다시 카프카 실행 -> 안됨..
사실 브로커를 여러개 만드는 방법이지만 일단 이 방법으로 해결
config에 server.properties를 복사하여 server-1.properties 만듦
다시 카프카로 돌아와서
다시 토픽 생성 하니까 성공!!
토픽 생성 되었는지 확인
해당 토픽에 실제 데이터 삽입(produce 하기)
새로운 터미널을 띄워 consumer을 실행해보기
java 버전 안맞을때
git에 openjdk 맞는 버전 찾아서 wget ~~
위 블로그대로 안되면 심볼릭 링크 변경
서버에 주키퍼, 카프카 서버 계속 켜놓기
데몬 프로세스(daemon process)란 일반 프로세스는 실행상태에 들어가 일련의 명령을 수행하고 명령이 끝나면 Process가 소멸되는데 비해 Daemon Process는 일련의 명령이 끝나도 소멸되지 않고 메모리에 상주하면서 특별한 조건이 되면 명령을 수행하는 Process이다. 즉, 백그라운드로 실행되어 있다가 네트워크를 통해 클라이언트의 여러가지 요청에 서비스하기 위해 설치하는 서버 프로그램이다.
카프카 서버 껐다가 다시 시작하는 경우:
kill -9 9092
/tmp/kafka-logs 지우고 다시 시작해야함