메뉴 건너뛰기

(*.168.0.1) 조회 수 397 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://blog.naver.com/springhyc/221069330376
개요

아마도 다운로드에 들어가는 시간을 제외하면, 지구상에서 가장 간편하게 프로그램을 설치하고, 테스트 해 볼 수 있는 환경은 도커가 아닌가 한다.
도커에 대한 자세한 사용법이나 설치법을 알기 위해서는 다음 링크를 사용하고, 여기에서 도커에 대한 설명은 하지 않기로 한다.

초보자를 위한 도커 시작 페이지

또 다른 도커 한글 문서들

http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/
이문서에서 사용한 도커 버젼은 다음과 같다.(17.06.0-ce)

sjkim@localhost:~$ docker --version
Docker version 17.06.0-ce, build 02c1d87
sjkim@localhost:~$

자...이제 본격적으로 설치해 보도록 하자.

마크베이스 도커 페이지 엿보기

그냥 재미로 마크베이스가 유지하는 도커 허브의 페이지를 방문해 보자.
(https://hub.docker.com/r/machbase/machbase/)

설명과 여러가지 설명이 나와 있고, 우측에 pull 명령이 나왔다.

도커 이미지 다운로드 하기

도커 이미지를 다운로드 하기 위해서는 아래와 같이 매우 간단하다.

sjkim@localhost:~$ sudo docker pull machbase/machbase
Using default tag: latest
latest: Pulling from machbase/machbase
7ee37f181318: Pull complete
df5ffabe5e97: Pull complete
ae2040ed51a1: Pull complete
3ce7010d244b: Pull complete
2538b201d2a6: Pull complete
7b2d7b983298: Pull complete
e373e27d649c: Pull complete
8723dd51b741: Pull complete
67b38fb11afa: Pull complete
08c0e916d620: Pull complete
062b053f6c9a: Pull complete
7d3330570ca9: Pull complete
556b2dead613: Pull complete
da803df15b5a: Pull complete
d795743db7b8: Pull complete
a7a11d9d1996: Pull complete
468b283d8d33: Pull complete
ac139db316f6: Pull complete
e55f53aaa5c7: Pull complete
bd74e4fa8b8b: Pull complete
951a56f8e523: Pull complete
2dec0c6abd8b: Pull complete
1f783140bfaf: Pull complete
3dc719fe2a8c: Pull complete
4ef2fde43015: Pull complete
Digest: sha256:9200aaf2de6e1695a57188fafd901a0a519d9deaeac66f0ba9274e9a13aba35d
Status: Downloaded newer image for machbase/machbase:latest
sjkim@localhost:~$ docker run -it machbase/machbase

최초로 받는 경우에는 꽤 많이 받아야 하지만, 한번 받아 놓으면, 이후에 업데이트 될 경우에는 일부만 받으므로 다운로드 성능이 늦지는 않을 것이다.
나의 경우에는 1~2분 정도 걸린 것 같다.

도커를 실행하자!

아래는 실행 명령어로 수행한 것이다.  콘솔에서 입력을 받으므로 -it 명령을 사용해서 수행했다.

sjkim@localhost:~$ docker run -it machbase/machbase
 * Restarting OpenBSD Secure Shell server sshd                                                                    [ OK ]
-----------------------------------------------------------------
     Machbase Administration Tool
     Release Version - 3.5.0.826b8f2.official
     Copyright 2014, InfiniFlux Corp. or its subsidiaries
     All Rights Reserved
-----------------------------------------------------------------
Waiting for Machbase server start.
Machbase server started successfully.
SERVER HAS BEEN RESET
SERVER STARTED, PID : 78
     Connection URL : http://172.17.0.2:5001
machbase@15f5ed3f8c98:~$

오호..!! 마크베이스가 동작한다고 나온다. (너무 쉽다...)

콘솔툴(machsql)로 테스트해 보기

현재 상태는 도커내부에서 새로운 쉘에 로그인한 상태이기 때문에 여기에서 아무 작업이나 가능하다.

machbase@15f5ed3f8c98:~$ machsql
=================================================================
     Machbase Client Query Utility
     Release Version 3.5.0.826b8f2.official
     Copyright 2014 InfiniFlux Corporation or its subsidiaries.
     All Rights Reserved.
=================================================================
Machbase server address (Default:127.0.0.1) :
Machbase user ID  (Default:SYS)      
Machbase User Password :
MACHBASE_CONNECT_MODE=INET, PORT=5656
Type 'help' to display a list of available commands.
Mach> select * from m$tables;
NAME                                      TYPE        DATABASE_ID          ID                   USER_ID     COLCOUNT   
-------------------------------------------------------------------------------------------------------------------------------
M$SYS_COLLECTOR_COLUMNS                   1           -1                   1000049              0           11         
M$COLUMNS                                 1           -1                   1000043              0           13         
M$SYS_COLUMNS                             1           -1                   1000042              0           13         
M$SYS_INDEX_COLUMNS                       1           -1                   1000045              0           9          
M$SYS_COLLECTOR_SOURCES                   1           -1                   1000050              0           7          
M$SYS_TABLESPACE_DISKS                    1           -1                   1000020              0           8          
M$SYS_COLLECTORS                          1           -1                   1000048              0           25         
M$SYS_TABLES                              1           -1                   1000038              0           8          
M$TABLES                                  1           -1                   1000040              0           8          
M$SYS_INDEXES                             1           -1                   1000044              0           15         
M$SYS_USERS                               1           -1                   1000046              0           4          
M$SYS_TABLESPACES                         1           -1                   1000016              0           5          
M$SYS_COLLECTORMANAGERS                   1           -1                   1000047              0           7          
[13] row(s) selected.
Elapsed time: 0.000
Mach> quit
machbase@15f5ed3f8c98:~$

오호 잘 동작한다..

로딩 테스트

내부 튜토리얼을 사용해서 한번 데이터 로딩과 쿼리를 수행해 보도록 하자.
아래의 디렉토리로 이동을 해 보자.

machbase@15f5ed3f8c98:~$ cd $MACHBASE_HOME/tutorials/csvload/
machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$ ls -al
total 127696
drwxr-xr-x  2 machbase machbase      4096 Aug  3 03:08 .
drwxr-xr-x 10 machbase machbase      4096 Aug  3 03:08 ..
-rw-r--r--  1 machbase machbase    246769 Aug  3 03:08 awards.csv
-rw-r--r--  1 machbase machbase       259 Aug  3 03:08 create_sample2_table.sql
-rw-r--r--  1 machbase machbase       231 Aug  3 03:08 create_sample_table.sql
-rwxr-xr-x  1 machbase machbase        60 Aug  3 03:08 load_awards.sh
-rwxr-xr-x  1 machbase machbase       486 Aug  3 03:08 load_sample.sh
-rwxr-xr-x  1 machbase machbase       474 Aug  3 03:08 load_sample2.sh
-rw-r--r--  1 machbase machbase 130477124 Aug  3 03:08 sample_data.csv
machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$

준비된 스크립트인 load_sample.sh를 수행하면 자동으로 100만건을 로딩하도록 되어 있다.

machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$ sh ./load_sample.sh
+ machsql -s 127.0.0.1 -u sys -p manager -f create_sample_table.sql
=================================================================
     Machbase Client Query Utility
     Release Version 3.5.0.826b8f2.official
     Copyright 2014 InfiniFlux Corporation or its subsidiaries.
     All Rights Reserved.
=================================================================
MACHBASE_CONNECT_MODE=INET, PORT=5656
Type 'help' to display a list of available commands.
Mach> CREATE TABLE SAMPLE_TABLE
(
    srcip        IPV4,
    srcport      INTEGER,
    dstip        IPV4,
    dstport      INTEGER,
    protocol     SHORT,
    eventlog     VARCHAR(1204),
    eventcode    SHORT,
    eventsize    LONG
);
Created successfully.
Elapsed time: 0.093
+ csvimport -t sample_table -d sample_data.csv -a -F _arrival_time YYYY-MM-DD HH24:MI:SS
-----------------------------------------------------------------
     Machbase Data Import/Export Utility.
     Release Version 3.5.0.826b8f2.official
     Copyright 2014, InfiniFlux Corporation or its subsidiaries.
     All Rights Reserved.
-----------------------------------------------------------------
NLS            : US7ASCII            EXECUTE MODE   : IMPORT             
TARGET TABLE   : sample_table        DATA FILE      : sample_data.csv    
IMPORT_MODE    : APPEND              FILED TERM     : ,                  
ROW TERM       : \n                  ENCLOSURE      : "                  
ARRIVAL_TIME   : TRUE                ENCODING       : NONE               
HEADER         : FALSE               CREATE TABLE   : FALSE              
 Progress bar                       Imported records        Error records
                                             1000000                    0
Import time         :  0 hour  0 min  5.172 sec
Load success count  : 1000000
Load fail count     : 0
machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$

100만건 로딩에 약 5.2초 걸렸다...초당 20만건 성능이네..

쿼리 테스트

로딩된 레코드 수는 다음과 같다.

Mach> select count(*) from sample_table;
count(*)            
-----------------------
1000000             
[1] row(s) selected.
Elapsed time: 0.000
Mach>

sample_table 의 구조는 다음과 같다.

Mach> desc sample_table;
[ COLUMN ]                             
----------------------------------------------------------------
NAME                          TYPE                LENGTH       
----------------------------------------------------------------
SRCIP                         ipv4                15                 
SRCPORT                       integer             11             
DSTIP                         ipv4                15                 
DSTPORT                       integer             11             
PROTOCOL                      short               6              
EVENTLOG                      varchar             1204               
EVENTCODE                     short               6              
EVENTSIZE                     long                20                 
Mach>

DSTIP의 종류와 갯수를 한번 세어보자.
SQL은 select dstip, count(dstip) from sample_table group by dstip 로 하면 될 듯.

Mach> select dstip, count(dstip) from sample_table group by dstip ;
dstip           count(dstip)        
----------------------------------------
148.30.103.173  13431               
31.224.72.52    13310               
5.114.66.53     13253               
118.179.107.47  13206               
....... 생략 ........
219.229.142.218 13353               
210.174.159.227 13424               
220.192.100.45  13015               
159.240.209.63  13287               
[75] row(s) selected.
Elapsed time: 0.224
Mach>

총 75 종류의 인터넷 주소가 존재한다. 0.224초 만에 계산을 완료했다.
그럼, 소팅을 해서 가장 많이 등장하는 숫자부터 10개를 출력해보자.

Mach> select dstip, count(dstip) from sample_table group by dstip order by 2 desc limit 10;
dstip           count(dstip)        
----------------------------------------
121.67.24.216   13560               
123.198.82.192  13545               
185.22.195.164  13515               
248.168.229.34  13465               
166.144.72.55   13454               
6.32.167.53     13453               
66.114.157.127  13450               
153.70.151.135  13449               
157.54.162.47   13449               
245.13.24.17    13437               
[10] row(s) selected.
Elapsed time: 0.253
Mach>

음..100만건 ip주소에 대한 통계 간단한 분석은 0.25초 정도만에 할 수 있는 것으로 보인다.

외부에서 도커로 SSH 접속하기

SSH와 같은 도구로 외부에서 접속해 보도록 하겠다.
IP주소를 확인해보자.

machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$ ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02 
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11139 (11.1 KB)  TX bytes:42 (42.0 B)
 
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:12107 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12107 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:122322696 (122.3 MB)  TX bytes:122322696 (122.3 MB)
machbase@15f5ed3f8c98:~/machbase_home/tutorials/csvload$

172.17.0.2 로 주소가 잡혀 있으므로, 여기로 접속해 보자.
아이디와 패스워드는 machbase/machbase 라고 되어 있다.
ssh로 접속하고, 수동으로 bash를 수행한 화면은 다음과 같다.

sjkim@localhost:~$ ssh machbase@172.17.0.2
machbase@172.17.0.2's password: ********
Welcome to Ubuntu 14.04 LTS (GNU/Linux 4.4.0-83-generic x86_64)
 * Documentation:  https://help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
$ bash
machbase@15f5ed3f8c98:~$ env | grep MACH
MACHBASE_HOME=/home/machbase/machbase_home
machbase@15f5ed3f8c98:~$

도커를 실행한 환경과 동일하므로, 여기에서 많은 작업을 수행할 수 있다.

외부에서 도커로 MWA 접속하기

외부에서 도커의 MWA에 접속하기 위해서는 도커 최초 실행시 나온 도움말 URL로 접속하면 된다.

sjkim@localhost:~$ docker run -it machbase/machbase
......................생략.......................
Machbase server started successfully.
SERVER HAS BEEN RESET
SERVER STARTED, PID : 78
     Connection URL : http://172.17.0.2:5001   <================= 여기
machbase@15f5ed3f8c98:~$

웹 브라우저에서 위에서 나온 http://172.17.0.2:5001로 접속해 보자. 아이디와 패스워드는 admin/machbase 이다.

위의 화면이 나오면 성공적으로 사용할 수 있도록 설치 및 구동이 잘 된 것이다.

마무리

도커는 설치와 테스트에 있어서 정말 환상적인 환경을 제공해주는 것 같다.
특히, 성능에 있어서도 크게 뒤떨어지지 않고, 마치 정말 설치한 것과 유사한 환경으로 만들어주기 때문에 나같은 귀차니즘이 발동하는 개발자에게는 최고의 환경이 아닌가 생각된다.
물론, 실제 서비스에 사용하기 위해서는 더 많은 준비를 해야 하겠지만 말이다.
그리고, 도커 환경에서도 마크베이스의 성능은 정말 인상적이라고 할 수 밖에 없다.
나중에 인덱스 공부를 한 후에 몇 억 건을 대상으로 다시 한번 테스트 해 보고 싶다.


  1. Docker 시작하기

    비고# Docker는 소프트웨어 컨테이너 내부의 응용 프로그램 배포를 자동화하는 오픈 소스 프로젝트입니다 . 이러한 응용 프로그램 컨테이너는 서로 및 실행중인 호스트에서 독립적으로 실행할 수 있으므로 경량 가상 시스템과 유사합니다. Docker는 최신 Linux...
    Date2020.06.22 Views314
    Read More
  2. 금융 클라우드시장 불꽃 경쟁…"AWS 독주는 없을 것"

    * 본 기사는 2019 7월 <디지털데일리>가 출간한 2019년판 '디지털금융 혁신과 도전'의 내용중 Cover Story의 일부를 발췌, 요약한 것입니다. - 금융권 ‘멀티 클라우드’ 방식 선호…“AWS 락인 경계, 대안찾기” 분주 - IBM, MS, NBP, 구글 등 차별화된 서비스 경...
    Date2020.06.19 Views250
    Read More
  3. High Availability, Clustering, Duplicate, Redundant Array ...

    1) HA : High Availability의 준말 : 번역 - 고가용성, 고가용도 : 가용성은 시스템 고장 발생시 빠른 시간내에 치료하여 다시 정상적으로 서비스할 수 있는 상태를 분석하기 위해서 사용되는 척도입니다...따라서 고가용성이란 결함 또는 고장 발생 빈도를 줄...
    Date2019.12.23 Views263
    Read More
  4. 소프트웨어 정의 데이터센터 (SDD: Software-Defined Datacenter)

    소프트웨어 정의 데이터센터 (SDD: Software-Defined Datacenter) 서버·스토리지·네트워크·보안장비 등의 인프라를 가상화된 상태로 운영하는 데이터 센터. 모든 인프라을 가상화하고 자동화된 소프트웨어로 운영함으로써 효율적이고 민첩한 데이터 센터를 구...
    Date2019.12.23 Views252
    Read More
  5. IDG Summary | “베어메탈부터 HCI까지, 컨설팅부터 멀티클라우...

    IDG Summary | “베어메탈부터 HCI까지, 컨설팅부터 멀티클라우드까지” 완전체 하이브리드 클라우드의 조건 소품종 대량 생산을 통한 효율성과 경제성은 클라우드 컴퓨팅, 특히 퍼블릭 클라우드 서비스의 핵심 가치이다. 글로벌퍼블릭 클라우드 서비스 대부분...
    Date2019.07.29 Views204
    Read More
  6. No Image

    클라우드 가상화 플렛폼의 미래! 상포(Sangfor) HCI 하이라이트

    아시아 최대 네트워크 공급업체 상포(Sangfor)의 HCI(Hyper Converged Infrastructure) 솔루션은 클라우드 가상화 플랫폼의 미래로 손꼽히고 있습니다. Sangfor HCI의 어떤 점이 전통적인 데이터센터와의 차별점을 만들어내는 것일까요? Sangfor HCI의 특장점...
    Date2019.07.28 Views330
    Read More
  7. No Image

    베어 메탈 (Bare Metal, Bare Machine) - HCI 와 상반되는 개념

    베어 메탈 (Bare Metal, Bare Machine) 소프트웨어가 설치되어 있지 않은 컴퓨터 하드웨어. 베어메탈(bare metal)의 일반적 의미는 금속 재질이 그대로 드러나는 상태를 뜻하지만, IT 업계에서는 운영 체제(OS)를 포함하여 어떤 소프트웨어도 설치되어 있지 않...
    Date2019.07.28 Views280
    Read More
  8. 데스크톱 가상화 (VDI)

    데스크톱 가상화 (Desktop Virtualization) 서버를 데이터센터에 두고 필요할 때 로그인해서 사용할 수 있는 PC. 동일한 데이터와 애플리케이션을 사용하기 위해 같은 컴퓨터를 들고 다니는 것이 아니라 아무 컴퓨터나 사용해서 웹을 통해 데스크톱 작업을 연...
    Date2019.07.28 Views325
    Read More
  9. No Image

    도커(Docker) 에서 마크베이스(Machbase) 사용기

    개요 https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html http://blog.nacyot.com/articles/2014-01-27-easy-deploy-with-docker/ 이문서에서 사용한 도커 버젼은 다음과 같다.(17.06.0-ce)sjkim@localhost:~$ docker --version Docker versi...
    Date2019.07.27 Views397
    Read More
  10. [인터뷰]맹상영 엔클라우드24 대표 “IT강국 한국, 클라우드로 4...

    발행일 : 2017-05-24 <최근 국내 클라우드 확산의 핵심인물이자 CSB(Cloud Service Brokage) 선구자인 맹상영 엔클라우드24(웰데이타시스템) 대표는 인터뷰를 통해 국내 클라우드 업계의 경쟁력 강화와 4차 산업 핵심기술의 발전이 일맥상통한다고 말했다. (...
    Date2017.05.24 Views202
    Read More
  11. 클라우드 보안 인증제...어떻게 운영되나

    보안솔루션 국내·국제 CC인증 필수  (지디넷코리아=손경호 기자)클라우드법 시행에 따른 후속 조치로 민간 클라우드 서비스 사업자들이 공공 부문에 서비스를 제공하기 위해 클라우드서비스 보안 인증제가 5월부터 본격 시행된다.  일각에서는 클라우드 보안인...
    Date2016.05.26 Views267
    Read More
  12. MS 윈도서버2016, 나노란 무엇인가

    마이크로소프트의 최신 데이터센터 운영체제 ‘윈도서버2016’은 나노서버란 새로운 모델과 도커 컨테이너 기술을 제공한다. 나노서버와 컨테이너는 클라우드와 기업 데이터센터 운용에 대한 MS의 근본적 철학 변화를 담고 있다.나노서버는 윈도서버를 최소한의 ...
    Date2016.04.22 Views243
    Read More
  13. BI 위한 클라우드 데이터 통합

    [컴퓨터월드] 데이터통합(DI)이란 상이한 데이터소스 간의 연결 및 통합을 통해 데이터의 연관성을 단일하게 관리함으로써 데이터를 재사용 가능하도록 만드는 일련의 작업을 뜻한다. 데이터의 정확성과 신뢰성 및 분석업무의 효율성을 높일 수 있다는 점에서 ...
    Date2016.04.15 Views295
    Read More
  14. 한국후지쯔, 서버 이중화 전용 어플라이언스 출시

    한국후지쯔, 서버 이중화 전용 어플라이언스 출시 한국후지쯔(대표 박제일)는 후지쯔 x86서버 프라이머지(PRIMERGY)와 사이오스(SIOS)의 라이프키퍼(LifeKeeper) 고가용(HA) 솔루션을 결합한 후지쯔 프라임센트릭 포 라이프키퍼 에이치에이(PRIMECENTRIC for L...
    Date2016.04.12 Views259
    Read More
  15. [시장동향] 편의성 무기로 백업 시장에서 떠오르는 ‘PBBA’

    [시장동향] 편의성 무기로 백업 시장에서 떠오르는 ‘PBBA’ 기존 백업 업체들 앞 다퉈 제품 발표, 유지보수에 문제 시각도 존재 [컴퓨터월드] 백업 어플라이언스(이하 PBBA, Purpose Built Backup Appliance)는 그동안 중요성에 비해 상대적으로 주목을 받지 ...
    Date2016.04.12 Views298
    Read More
  16. No Image

    IBM Cloud 유투브 링크

    저는 Commerce와 Social, 즉 협업솔루션 및 그룹웨어 쪽 담당을 하는 영업대표이기에 제가 아는 선에서 cloud 자료를 공유해드립니다^^ 혹시 보시고 더 필요한 영역이 있으시면 제게 회신 주십시오. 담당하시는 분께 연결 도와드리겠습니다. Manual for Conne...
    Date2016.03.20 Views593
    Read More
목록
Board Pagination Prev 1 2 3 4 Next
/ 4