Kafka External Listener 설정 브로커가 기동될 때 InetAddress.getLocalHost.getHostAddress 가 사용됨. 클라이언트가 외부 환경에 있어서 브로커 접속이 불가능 한 경우 advertise.host.name 값 설정으로 해결할 수 있다. advertised.host.name=$EXT_HOSTNAME listener.security.protocol.map=EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://0.0.0.0:9093 advertised.listeners=INTERNAL://10.4.0.105:9092,EXTERNAL://$EXT_HOSTNAME:9093 inter.broker.listener.name=INTERNAL
[Kafka] Python Consumer sample
#!/app/python/bin/python from kafka import KafkaConsumer consumer = KafkaConsumer(‘test’,bootstrap_servers=[‘$HOSTNAME:9093’]) for message in consumer: print (“%s:%d:%d: key=%s value=%s” % (message.topic, message.partition, message.offset, message.key, message.value))
[Kafka] Python Producer sample
#!/app/python/bin/python from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProducer(bootstrap_servers=[‘node1.qrm:9092′,’node2.qrm:9092′,’node3.qrm:9092’]) producer.send(‘accesslog_wp-bigdata’,str.encode(‘this is test’))
[Kafka] Producer & Consumer Sample
Building Kafka Producer & Consumer Application Using Maven Maven 설치 JAVA만 준비돼 있다면 maven project 사이트에서 pre-compiled binary 받아서 그대로 사용하면 됨. apache maven binary 다운로드 wget http://mirror.navercorp.com/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz 환경 변수 설정 # JDK ENV export JAVA_HOME=/app/jdk export PATH=$JAVA_HOME/bin:$PATH # MAVEN ENV export PATH=/app/maven/bin:$PATH 설치 압축 해제 tar -xvzf apache-maven-3.5.4-bin.tar.gz -C /app/maven 경로 설정 cd /app/maven […]
[Kafka] Console Script 사용하기
Kafka Console Script 사용하기 kafka-topics.sh Create New Topic ‘test’ 라는 이름의 topic 생성 kafka-topics.sh \ –create –zookeeper node1.big:2181,node2.big:2181,node3.big:2181 \ –replication-factor 1 –partitions 1 \ –topic test Get List of Topics from Kafka Cluster kafka-topics.sh \ –list –zookeeper node1.big:2181,node2.big:2181,node3.big:2181 kafka-console-producer.sh console-producer 이용하여, bash 환경에서 표준 입력을 통해 ‘test’라는 topic에 message publish kafka-console-producer.sh \ –broker-list node7.big:9092,node8.big:9092 –topic […]
[Kafka] kafka1.1 설치
Apache Kafka 설치하기 시스템 사용자 profile 설정 # JDK ENV export JAVA_HOME=/app/jdk export PATH=$JAVA_HOME/bin:$PATH export LD_LIBRARY_PATH=$JAVA_HOME/lib:$LD_LIBRARY_PATH # KAFKA ENV export PATH=/app/kafka/bin:$PATH export LOG_DIR=/logs/kafka # Kafka 데몬의 로그 경로 alias startKafka=’kafka-server-start.sh -daemon /app/kafka/config/server.properties’ alias stopKafka=’kafka-server-stop.sh’ # USER ENV set -o vi 바이너리 다운로드 wget http://mirror.apache-kr.org/kafka/1.1.1/kafka_2.11-1.1.1.tgz 바이너리 압축 해제 tar -xvf kafka_2.11-1.1.1.tgz -C /app/kafka/1.1.1 sybolic link 생성 […]
[Kafka] Apache Kafka
Apache Kafka Introduction 이번에 직접 사용해보니.. Message Queue Open Source Framework로서 kafka를 많이들 사용하는 것 같다. 기본적으로 Producer/Consumer Application 을 개발해서 사용해야 하는데 많이 사용하다 보니 관련 자료가 많고 Hadoop, Spark, 여러 수집기 등에서 Plugin을 제공한다. 많이 쓰고 자료가 많아서 kafka를 이용하는 것도 좋은 이유인 것 같다. 다음 두가지 이유가 직접 느낀 좋은 점 Consumer는 […]