OpenSource
-
[spark] spark-streaming-kafka-0-10 종속성 오류 해결OpenSource 2017. 11. 10. 11:11
이와 같은 sbt 빌드 파일을 통해 컴파일을 함. name := "spark-streaming-with-kafka" version := "1.0" scalaVersion := "2.11.8" fork := true libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0" libraryDependencies += "org.apache.spark" %% "spark-streaming" % "2.2.0" libraryDependencies += "org.apache.spark" % "spark-streaming-kafka-0-10_2.11" % "2.2.0" libraryDependencies += "org.apache.spark" %% "spa..
-
[Flink] Keyed StateOpenSource 2017. 8. 29. 16:55
Reassigning Keyed State When Re-scaling Keyed State 이 상태는 operator 상태와 달리 각 스트림에서 키가 추출 되는 “keyed state”의 범위(scope)가 지정된다. 예를 들어 이벤트 스트림을 가질 때, 각 이벤트는 {id:int, value:int} 스키마를 가지고 있다. 각 id마다의 value를 더하고 싶을 때, keyed state를 사용한다. 스트림 내에서 각각의 유일한 키에 의해서 aggregate 상태가 유지되어야 하기 때문이다. keyBy() 연산은 1. 각 이벤트로부터 키를 어떻게 추출할지 명시하고, 2. 같은 키를 가진 모든 이벤트들은 항상 같은 병렬 오퍼레이터 객체에 의해서 처리되도록 보장한다. è 그 결과로 모든 keyed sta..
-
[Flink] Apache Flink 시작하기OpenSource 2017. 7. 18. 11:42
installhadoop2, yarn 클러스터를 사용할 것이면, 설치 되어 있는 하둡 버전에 맞게 설치한다. 로컬모드로 실행할 것이라면, 하둡 설치는 필요하지 않다. java는 1.8.x 버전을 설치하고, scala는 2.10.x 버전이나 2.11.x 버전을 설치하고, flink는 하둡이나 scala 버전에 맞는 바이너리로 설치한다. scala F="scala-2.11.11.tgz"wget https://downloads.lightbend.com/scala/2.11.11/$Fsudo tar zvxf $F -C /usr/localsudo rm -rf $Fsudo rm -rf /usr/local/scalasudo ln -s /usr/local/scala-2.11.11 /usr/local/scalasudo l..
-
[GRPC] gRPC 소개 및 Go 기반 gRPC 설치OpenSource 2017. 5. 31. 16:21
RPC RPC는 네트워크 상 원격에 있는 서버의 서비스를 호출하는데 사용되는 프로토콜로 IDL(Interface Definition Language)로 인터페이스를 정의한 후 이에 해당하는 Skeleton 과 Stub 코드를 통해 프로그래밍 언어에서 호출해서 사용하는 방식이다. 최근에는 HTTP를 활용한 SOAP, RESTful 등이 많이 활용되어서 RPC는 거의 사용이 되지 않으나 요청/응답을 위한 규약이 명시적이지 않다는 단점으로 인해 다시 RPC의 방식을 채용한 프레임워크들이 나오기 시작했다. gRPC는 자바,C/C++ 뿐만 아니라 Node.js, Python, Ruby, PHP, Go, Android 기반, Objective-C 등 다양한 언어들을 지원함으로 서버간 뿐만이 아니라 클라이언트 어플리..
-
[oVirt] 소개OpenSource 2017. 5. 31. 11:44
oVirt 오픈소스 가상화 관리 플랫폼이다. ovirt 관리 인터페이스(oVirt engine)에서 하드웨어 노드, 스토리지 및 네트워킹 자원을 중앙 집중식으로 관리하고, 운영중인 데이터 센터에서 가상머신을 모니터링하고 배포할 수 있다. 특징 KVM 하이퍼바이저를 기반으로 구축 실시간 migration 지원 VM 리소스 사용량 모니터링 Component 가상화 : Linux Kernel, KVM, libvirt, Qemu 미들웨어 : Wildfly or Jboss EAP 6 데이터베이스 : PostgreSQL VDI : VNC, Spice JAVA : OpenJDK 사용자 관리 : Microsoft Active Directory, Red Hat Directory Server, IBM Tivoli Dire..
-
[Protocol Buffer] 프로토콜 버퍼 소개 및 Go에서의 사용법OpenSource 2017. 5. 18. 15:14
Google Protocol Buffer 프로토콜 버퍼는 구글에서 내놓은 오픈소스 직렬화 라이브러리이다. 메시지를 연속된 비트로 만들고(직렬화-Serialize) 반대로 비트들에서 원래의 메시지로 만들어 낼 수 있다. (역직렬화-Deserialize) 네트워크 통신과 데이터 저장에 사용된다. 데이터 구조(Message)와 서비스를 Proto 스키마 파일에 저장하고, 다양한 언어(Java, C++, Python, Ruby, C, Go, Erlang, Javascript, Lua, Perl, PHP, R, Rust, Scala, Swift )로 인/디코딩하여 멀티 플랫폼 대응을 가능하게 한다. 즉, Big endian과 Little endian을 사용하는 언어사이에 이기종간 통신을 할 수 있다. 웹 애플리케..
-
[Kibana] 설치 및 사용OpenSource 2017. 4. 13. 15:49
Kibana 설치 [Linux 64bit] $ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.3.0-linux-x86_64.tar.gz $ tar xvf kibana-5.3.0-linux-x86_64.tar.gz 실행 $ (elasticsearch 실행) $ cd kibana-5.3.0-linux-x86_64 $ vi config/kibana.yml server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200" $ bin/kibana 접속 browser를 통해 "http://localhost:5601" 접속 Management 왼쪽 메뉴바에서 Manage..
-
[Elasticsearch] 개요 및 APIOpenSource 2017. 4. 13. 15:04
Elasticsearch: 분산형 RESTful 검색 및 분석 엔진 핵심 개념Cluster : 전체 데이터를 가지고 모든 노드간의 통합 인덱싱 및 검색이 가능한 1개 이상의 노드(서버)집합Node : 노드는 클러스터의 부분이 되는 단일 서버로써, 데이터를 저장하고 클러스터에 참여하여 인덱싱과 검색 역할을 수행Index : 인덱스는 비슷한 형질을 가지는 문서 간의 집합Type : 인덱스를 논리적 분류/파티션으로 문서의 공통 속성을 가지고 정의Document : 문서는 인덱싱된 정보의 기본 단위로 JSON으로 구성Shards : 인덱스를 나누는 단위로, 이 단위별로 분산/병렬 처리Replicas : Shard의 복제본으로 장애 대응과 검색 병렬 처리에 사용 elasticsearch vs relational ..