본문 바로가기

대학원 공부/computer science66

Spark : Partitioning 용어정리 •1) Partition : 데이터를 나누는 단위 •2) Dependency : RDD의 파티션이 어디에서 파생되었는 지를 기술하는 모델 •3) Function : 부모 RDD에서 어떻게 파생되었는지를 계산 하는 함수 •4) Metadata : 데이터 위치, 파티션 정보 보유 Partitioning Background 분산컴퓨팅에서는 communication은 매우 expensive하다고 볼 수 있다. 따라서 network traffic을 낮추는 것이 성능 개선하는 방법이다. Purpose Spark는 RDD의 partitioning을 통해서 communication을 최대한 줄이려고 한다. partitioning은 join 같은 key 지향적인 연산들에서는 dataset을 재사용하는데, 이 때.. 2019. 12. 18.
Spark : Introduction Spark Spark Spark 란 빅데이터 처리를 위한 클러스터용 병렬 분산처리 플랫폼이다. Why we use Spark? MapReduce와 Dryad 등은 대규모 데이터 분석을 용이하게 만들었지만 반복 알고리즘이나, 대화형 마이닝 툴과 같은 어플 리케이션의 경우에는 상당히 비효율적이었다. 왜냐하면 MapReduce와 같은 경우에는 Fault-Tolerance를 위해 중간 데이터를 storage에 쓰게 되는데, 반복 알고리즘의 경우 이 중간 값을 다시 input으로 반복해서 사용하기 때문에 Disk I/O와 직렬 화 등으로 인한 overhead가 비교적으로 크게 발생하기 때문이다. Hadoop을 기반으로 한 MapReduce의 단점이다. disk로 많은 I/O가 발생하기 때문에, 그만큼 trade-off가 발.. 2019. 12. 18.
Network : Transport Layer, UDP, TCP 우리가 지난 posting에서는 Data link layer는 hop to hop, node to node , Network layer는 host to host 라고 얘기했다. 1. Transport Layer 1.1 Client/Server Paradigm process to process 통신이 client server 패러다임을 만들었다. 여기서 client는 localhost에서 실행되는 process를 말하며, server는 remote host에서 서비스를 제공하기 위해 실행되는 process 다. 1.2 전달 방법, Transport Layer는 Data link layer는 hop to hop, node to node , Network layer는 host to host로 보냈다면, pro.. 2019. 12. 17.
Network : Network Layer : Internet Protocol Why we need Network Layer?? Internetworking 우리들이 이용하고 있는 internet 들은 LAN(Local Area Network), WAN(Wide Area Network) 로 구성되어 있고, 그 사이는 router 들이 연결해주고 있다. 따라서 움직임은 node to node, hop to hop 으로 연결되어있고, 이 때 MAC 주소를 써서 신호를 주고 받는다. 이렇게 우리는 data를 signal로 변환해서 보내는 physicl layer와 data link layer가 물리적으로 연결을 담당하고 있다. Internetworking's Problem 위에서 R1을 담당하는 router들은 interface를 내보내는 어떻게 결정할까?? 이 때 필요한 주소가 바로 .. 2019. 12. 17.
Network : Application Layer 1. WWW (World Wide Web) WWW 이란, client가 browser를 써서 server에 서비스를 접속하는 Client/Server 개념 서비스를 도입한것을 의미한다. WWW Architecture Web Page 웹페이지란, 같은 사이트나 다른 여러 사이트들에 page가 연결되어있는 것을 말한다. 웹페이지들은 브라우저를 이용해서 페이지를 볼 수 있다. 1.1 Client Browser 브라우저는 Web 문서들을 해석하고 보여준다. Browser 구성 1. 컨트롤러는 키보드, 마우스로 컨트롤한다. 2. 클라이언트는 http, https 라는 protocol을 따른다. 3. 인터프리터는 HTML, JAVA, Javascript에 의해 돌아간다. 1.2 Server server의 역할, 기.. 2019. 12. 16.
Open Source : Elasticsearch & Kibana install Elasticsearch install # zip file download wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.5.tar.gz # zip tar -xvf elasticsearch-5.6.5.tar.gz # port setting vim config/elasticsearch.yml # set the bind address to a specific IP (IPv4 or IPv6): #network.host: 192.168.0.1 #network.host: 0.0.0.0 # set a custom port for HTTP: #http.port: 9200 yml 문서로 들어가면 아마도 위와 같이 모두 주석처리가 .. 2019. 12. 13.
Open Source : Logstash & Elasticsearch & Kibana 전체적인 흐름도 Elasticsearch : inverted index를 활용, text 검색 유용 유명해진 이유는, 현재 우리는 cloud computing이 발전함에 따라 한정된 자원을 활용이 가능하다. 이 말은, 서로 정보를 공유하고, 자원을 공유하면서 그런 움직임들에 대해서 알기를 원했고, 이에 대한 해결책이 log 분석이었다. log는 어떤 event가 발생하였을 때, 사용자의 정보, 경로, ip, 위치 등등 생성되는 파일이다. Where? 애플리케이션 검색 웹사이트 검색 엔터프라이즈 검색 로깅과 로그 분석 인프라 메트릭과 컨테이너 모니터링 애플리케이션 성능 모니터링 위치 기반 정보 데이터 분석 및 시각화 보안 분석 비즈니스 분석 indexing에 유용, 위와 같은 분야에 적용이 가능하다. Ho.. 2019. 12. 13.
Open Source : tmux 사용하기 tmux ? 란 tmux는 terminal 창을 여러개로 분할, 나누어서 terminal 창을 좀 더 효율적으로 쓸 수 있다. 실제로 나는 elasticsearch를 활성화 시켜두고, kibana를 활성화 시켜두고, 나머지 terminal을 창 분할하여 작업을 한다. 나중에 elasticsearch와 kibana는 따로 posting 할 계획이다. 실제로 많이 쓰이고, 알아두면 좋을 것 같아 posting으로 남겨두려 한다. 명령어 정리 1. prefix (명령어 입력 전, tmux 명령어 실행) # prefix ctr1 + b tmux 명령어를 사용할 때, ctrl + b 를 누른 후, 우리가 명령할 key를 입력해주면 된다. 2. session # 새 세션 생성 $ tmux new -s # 세션 이름.. 2019. 12. 13.
Network : Network Layer : Logical Addressing 1. IPv4 주소 IPv4 주소는 32ibt로 xxx.xxx.xxx.xxx 으로 이루어져 있다. 이는 0.0.0.0 -- 255.255.255.255 까지 이루어져 있으며, 실제로 한 칸당 8bit 씩 표현 가능하다. 그리고 IP 주소는 internet에서 여러 device들과 연결을 정의해주는 주소이다. IP 주소라는 logical 한 주소를 할당하여, 내가 가야하는 host들의 주소를 정의한다. internet 공간에서는 IP 주소를 보며 host가 맞는지 확인하고, 실제로 신호가 가는 hop 간은 MAC 주소를 보고 이동한다. 1.1 Classful Addressing 첫 byte 기준으로, A,B,C,D,E class 로 나눈다. 이 나누게 되는 기준은 규모의 크기이다. A가 제일 규모가 큰 c.. 2019. 12. 12.
Network : IP vs MAC 주소 http://blog.naver.com/PostView.nhn?blogId=zelkobaray&logNo=10149958179 MAC ADDRESS와 IP ADDRESS의 차이 MAC ADDRESS와 IP ADDRESS의 차이가 뭘까... IP ADDRESS : 집 주소MAC A... blog.naver.com IP address는 집주소와 같고, MAC 주소는 내 주민등록번호와 같다고 할 수 있다. 우리는 packet을 보낼 때, Network들을 떠돌아다니며, router들에 의해 packet들이 주고 받고 한다. 이 때, router는 routing table을 보면서, 이 packet을 어디로 보낼지 정한다. 그렇게 해서 packet을 직접 보낼 수 있지만, 우리는 여러가지 요인에 맞선다. IP의.. 2019. 12. 12.
Network : Network Layer : Backbone Networks 지난 posting에서는 LAN이 어떤 장비들에 의해, 어떤 계층에서 연결되는지에 대해 알아보았다면, 이번에는 Backbone Network에 대해 적을 예정이다. Backbone network는 LAN의 일부분인 station이 직접 연결하는 것이 아니라, Bridge를 통해 LAN을 연결한다. 1. Bus Backbone Backbone 이 Bus Topology로 이루어져있다. 2. Star Backbone Backbone이 Star Topology를 쓰는 것을 말하며. 하나의 switch를 담당한다. 2019. 12. 12.
Network : Network Layer : Connecting LANs 이번 posting 에서는 LAN을 어떻게 연결하고, 어떤 장비를 쓰는지에 대해 적을 예정이다. 1. Connecting Device Connecting을 도와주는 Device는 정말 여러가지이다. Passive Hub Active Hub Bridge Two Layer Switches Routers Three-Layer Switches Gateways 1.1. Passive Hub 특징 - 단지 connector 역할만 한다. - 다른 branch 들과 wire로 물리적으로만 연결을 해준다. - 이런 type의 hub는 physical layer만 해당되며, 연결을 도와주는 media에 해당한다. 1.2 Repeater 특징 - LAN의 segment들을 연결해준다. - physical layer에 해당.. 2019. 12. 12.