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는 […]
[Zookeeper] zookeeper 3.x 설치
Zookeeper 설치 Zookeeper 소개 분산 시스템을 설계 하다보면, 가장 문제점 중의 하나가 분산된 시스템 간의 정보를 어떻게 공유할 것이고, 클러스터에 있는 서버들의 상태를 체크할 필요가 있으며 또한, 분산된 서버들간에 동기화를 위한 락(lock)을 처리하는 것들이 문제로 부딪힌다. 이러한 문제를 해결하는 시스템을 코디네이션 서비스 시스템 (coordination service)라고 하는데, Apache Zookeeper가 대표적이다. 이 코디네이션 서비스는 분산 시스템 내에서 […]
openssl generate self-signed certification
openssl generate self-signed certification ./openssl req -new -x509 -days 365 -nodes \ -out /path/to/pem/file -newkey rsa:2048 \ -keyout /path/to/key/file
[Elasticsearch] elasticsearch-sql
Elasticsearch Sql ElasticSearch 6.3.x 버전부터 X-Pack을 통해 SQL-Like Query 기능을 제공한다. Index 에 대해서 SQL 질의를 바로 하는 것이 아니라, ElasticSearch 에 최적화된 DSL 로 translate 한 뒤 해당 DSL을 이용해 조회한다. SELECT SQL만 가능하고, multi-index 조회 (join SQL)은 수행되지 않는다. 또한 스칼라 서브쿼리 등 조금만 복잡해져도 잘 안 됨. Kibana와 Curl REST API 를 […]
[MySQL] mysqldump
mysqldump mysqldump 프로세스가 실행된 순간의 데이터베이스 스키마 및 데이터를 SQL로 추출한다. 이 방식으로 백업하는 경우, DB에 TX가 발생하지 않는 상황에서 하는 것이 좋다. (AP 서비스 종료 후 백업하는 것을 권장) Usage 전체 데이터베이스 백업 mysqldump -uroot -p -A > full_database.sql 특정 데이터베이스 백업 mysqldump -uroot -p specific_database_name > specific_database_name.sql 특정 테이블 백업 mysqldump -uroot -p […]
[Windows] OpenSSH Client
Windows openssh client Windows 에서도 opessh client 를 기본 제공한다. 가볍게 사용하기 위해서 putty를 쓸 필요는 거의 없어진 것 같고, X 를 사용하는게 아니라면 .bat 파일을 생성해서 관리하는 것도 나쁘지는 않은 것 같은데 아직은 X Shell 평가판이 익숙해서 더 좋은 것 같다. C:\Windows\System32\OpenSSH 경로에 가보면 다음과 같이 scp, sftp도 있음. — scp.exe sftp.exe ssh-add.exe ssh-agent.exe […]
[Fluentd] Usecase – forward
Fluentd Usecase forward 플러그인 활용하기 망이 분리되어있거나 ssl 등의 네트워크 보안을 활용하는 경우 또는 스토리지에 연결되는 채널을 간소화하여 관리하기 위해 forward 플러그인을 활용할 수 있다. fluentd config remote fluentd agent remote fluentd agent는 해당 agent가 설치된 호스트의 파일 로그를 수집할 수도 있고 별도의 플러그인으로 다양한 로그들을 수집한다. 이를 스토리지에 직접 저장할 수 없는 경우 다른 […]
[Fluentd] Usecase – http
Fluentd Use Case http 플러그인 활용하기 지정한 Listener Port 를 통해 POST 되는 데이터를 수집한다. openAPI openAPI 를 이용해 REST 하게 받아온 데이터를 다시 Fluentd http listener 에 전달해줌으로써 데이터를 수집한다. 데이터 소스 vi /app/python/sources/JayWalkingAll.py JayWalkingAll #!/app/python/bin/python from urllib.request import urlopen from urllib.parse import urlencode,quote_plus,unquote import urllib import requests import json url = ‘http://apis.data.go.kr/B552061/jaywalking/getRestJaywalking’ my_service_key […]