728x90


    [목표 : 방대해진 데이터로 인해 데이터 관리의 어려움이 발생, 추후 원할한 유지보수를 위하여 카우치베이스 데이터 관리 방법을 찾을것.]

    버킷 1: document 갯수 : 6천만, 버킷 2 : document갯수 : 1천만(value값이 큼)


    카우치베이스 홈페이지를 통해 제품에 관련된 사항을 확인하던 중 

    카우치베이스 Server 5에서는 N1QL이 지원 됨을 확인.

    (참고 URL : https://www.couchbase.com/)


    1. 버전 4, 버전 5 와의 클러스터 관련.


    기존 운영중이던 카우치베이스는 4.1버전, 4.5버전으로 클러스트링이 되어 있으며

    노드는 4대, 버킷은 총 4개로 구성되어 있었다.

    카우치베이스는 Enterprise버전이 아닌 Comunity버전으로 

    카우치베이스에서 기술지원을 받을 수 없는 상황이었습니다.


    실제 운영중인 서버이므로 클러스터 상위호환 클러스트링을 로컬장비에서 

    테스트 해야했다.


    테스트 장비가 열악한 관계로 

    데스크탑한대 [D1] : (cpu : 4코어, 메모리 8기가) - 카우치베이스 5.1

    노트북한대[N1] : (cpu: 4코어, 메모리4기가) - 카우치베이스 4.5

    노트북한대[N2] : (cpu: 2코어, 메모리4기가) - 카우치베이스 4.1 with WIFI


    일단 카우치베이스를 기존 운영서버와 동일하게 클러스터링을 맺기 위하여

    N1과 N2 서버를 클러스터링을 맺어보았다.

    클러스터링이 진행이 해보았으나 

    클러스트링까지는 성공했지만.

    Rebalance에서 실패...

    하드웨어 사양이 부족해서 그런가 싶어서.

    D1 서버 N1 서버를 클러스트링 시도.

    마찬가지로 Rebalance에서 실패...


    추후 확인해보니 안정적으로 Rebalance를 하기 위해서는

    CPU 8코어에 안정적인 네트워크가 필요함을 알게 되었다.

    (회사 사설 네트워크는 여기저기 쓰다보니...당연히 실패할수 밖에 없었던 것이다.)


    이후 문제점을 확인하여 

    실제 리눅스 서버 중 테스트 서버를 지원받아

    CPU 8코어에 130메모리/hdd:500g[W1] - 5.0

    CPU 8코어에 30메모리/hdd:400g[S1] - 4.5

    CPU 8코어에 30메모리/hdd:400g[S2] - 4.1

    설치 계획.


    각 서버를 yum으로 설치 준비

    yum install http://packages.couchbase.com/releases/4.5.1/couchbase-server-community-4.5.1-centos6.x86_64.rpm

    (다른 버전은 버전명만 바꾸시면 yum설치 가능합니다)


    기존 운영데이터를 보존하여 version up을 해야되므로 

    기존 시스템 히스토리를 따라가서 S2, S1 서버를 클러스트링 계획,

    S2가 먼저 이뤄졌을꺼라고 추측하여 마스터를 S2로 하여 

    S1, S2를 클러스트링 이후 리발랜스.(성공)

    이후 version 5가 설치된 W1을 추가적으로 클러스트링.

    하지만 클러스링 이후 Rebalance에서 실패....


    수차례 시도를 해보았지만

    fail에 대한 로그를 보라고 확인해보라고 뜨지만 

    알수 없는 로그만 뱉어내고 문제의 해결점을 찾기가 어렵다고 판단하여.

    잠정적으로 4버전과 5버전의 community버전에서는 클러스트링이 안된다고 판단하여

    다른 방도를 찾기로함.

    이후 4버전과 5버전의 클러스트링 관련하여 기술문의를 카우치베이스 고객센터에

    한 상태이지만 2달쨰 연락 안옴.

    당시 로그문)


    Event Module Code Server Node Time

    Bucket 버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. ns_memcached000 ns_1@192.168.1.139 11:33:48 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown ns_memcached000 ns_1@192.168.1.139 11:33:48 - Wed Jan 3, 2018

    Bucket 버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown (repeated 4 times) ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown (repeated 19 times) ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Bucket 버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. (repeated 4 times) ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Bucket 버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. (repeated 19 times) ns_memcached000 ns_1@192.168.1.139 11:33:43 - Wed Jan 3, 2018

    Bucket 버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. ns_memcached000 ns_1@192.168.1.139 11:33:15 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown ns_memcached000 ns_1@192.168.1.139 11:33:15 - Wed Jan 3, 2018

    Bucket "버킷 loaded on node 'ns_1@192.168.1.139' in 0 seconds. ns_memcached000 ns_1@192.168.1.139 11:33:09 - Wed Jan 3, 2018

    Shutting down bucket 버킷 on 'ns_1@192.168.1.139' for server shutdown ns_memcached000 ns_1@192.168.1.139 11:33:09 - Wed Jan 3, 2018

    Node 'ns_1@192.168.1.139' saw that node 'ns_1@192.168.1.99' came up. Tags: [] ns_node_disco004 ns_1@192.168.1.139 11:32:11 - Wed Jan 3, 2018

    Started node add transaction by adding node 'ns_1@192.168.1.99' to nodes_wanted (group: undefined) ns_cluster000 ns_1@192.168.1.139 11:32:09 - Wed Jan 3, 2018

    Current master is older and I'll try to takeover (repeated 1 times) mb_master000 ns_1@192.168.1.99 11:16:43 - Wed Jan 3, 2018

    Rebalance exited with reason {unexpected_exit,

    {'EXIT',<0.1551.40>,

    {{error,

    {badrpc,

    {'EXIT',

    {{{function_clause,

    [{couch_set_view_group,handle_info,

    [{'DOWN',#Ref<11668.0.4.73601>,

    process,<11668.15841.1>,normal},

    {state,


    일부 로그데이터는 보안상 삭제하였습니다.






    Posted by 천상나타