Couchbase Server 6.5.1에서는 이제 rpm 패키지에 대한 비루트 설치 및 업그레이드가 표준화되었습니다. 이제 Couchbase Server를 비루트로 쉽게 설치, 업그레이드 및 유지 관리할 수 있습니다.
이 블로그의 목적은 당사의 우수한 기능을 대체하는 것이 아닙니다. 카우치베이스 문서가 아닌, 몇 가지 모범 사례 를 참조하세요. 이 블로그는 두 부분으로 나뉩니다.
1부: 카우치베이스 서버 6.5.1을 비루트로 설치합니다.
파트 2: 루트로 설치되지 않은 Couchbase Server 6.0.4를 6.5.1 버전으로 업그레이드합니다.
Couchbase Server 6.5.1의 새로운 기능
설치: 새 설치 프로그램 cb-비패키지-인스톨러를 사용하여 Couchbase 서버를 설치하는 대신 rpm2cpio 및 reloc.sh를 사용합니다.
상태: 이제 새로운 명령어로 Couchbase 서버의 상태를 확인할 수 있습니다, 카우치베이스 서버 -상태
업그레이드: : The cb-비패키지-인스톨러 는 이전 버전에서 Couchbase 서버를 업그레이드하는 데 사용됩니다. 모두 업그레이드 옵션롤링 온라인 업그레이드(정상 장애 조치 포함) 및 델타 복구가 지원됩니다.
1부: 새로 설치하기
계획
- 3노드 Couchbase 6.5.1 클러스터를 비루트로 배포하기
- 사용자: ec2-user
- 서버는 다음 위치에 배포됩니다: /home/ec2-user/cb-server
- 데이터가 들어갑니다: /home/ec2-user/cb-data
사전 요구 사항
몇 가지가 있습니다. 일반적인 오류 Couchbase 서버를 비루트로 실행할 때 발생할 수 있으며, 링크된 문서에서 이에 대해 설명합니다. 예를 들어 한계. 울리밋 는 프로세스당 열린 파일 디스크립터의 수입니다. 표준 루트 설치 프로그램은 설치 중에 이를 변경하지만 루트가 아닌 경우에는 사용자가 직접 관리해야 합니다. 따라서 매우 중요하므로 여기서 몇 가지를 강조하겠습니다.
투명 대형 페이지(THP) 비활성화하기
THP(투명한 대용량 페이지)는 대부분의 Linux 운영 체제에서 기본적으로 활성화되어 있는 메모리 관리 시스템입니다. Linux에서 Couchbase Server가 올바르게 작동하려면 THP를 비활성화해야 합니다. 이 설정은 문서 를 클릭하고 THP가 비활성화되었는지 확인합니다.
커널 스왑 구성
Linux에서 커널의 스왑 수준은 RAM 사용량에 따라 시스템이 물리적 메모리에서 페이지를 스왑할 가능성을 나타냅니다. 대부분의 Linux 시스템에서 스왑 가능성을 1 또는 0으로 설정해야 최적의 Couchbase Server 성능을 얻을 수 있습니다. 스왑 레벨은 문서 를 클릭하고 스왑이 권장 사항에 따라 설정되었는지 확인합니다.
한도 확인
ec2 사용자의 한도를 간단히 확인합니다. 이는 최소 권장 값입니다. 이 값을 영구적으로 설정하세요.
1 2 3 4 5 |
[ec2-사용자@IP-172-31-22-131 ~]$ ulimit -n 70000 [ec2-사용자@IP-172-31-22-131 ~]$ ulimit -c 무제한 |
필수 프로그램 설치
python2, bzip2, perl이 필요합니다. 따라서 이 언어들을 모두 사용할 수 있는지 확인하세요.
1 2 3 4 5 6 7 8 9 |
[ec2-사용자@IP-172-31-22-131 ~]$ python2 -V Python 2.7.16 [ec2-사용자@IP-172-31-22-131 ~]$ bzip2 -V bzip2, a 블록-정렬 파일 압축기; 버전 1.0.6, 6-9월-2010. [ec2-사용자@IP-172-31-22-131 ~]$ perl -v 이 는 perl 5, 버전 26, 서브버전 3 (v5.26.3) built 에 대한 x86_64-리눅스-스레드-멀티 (와 함께 51 등록된 패치, 참조 perl -V 에 대한 더 보기 세부 정보) |
패키지 다운로드
1 2 3 |
[ec2-사용자@IP-172-31-22-131 ~]$ wget https://packages.couchbase.com/releases/6.5.1/couchbase-server-enterprise-6.5.1-centos8.x86_64.rpm [ec2-사용자@IP-172-31-22-131 ~]$ wget https://packages.couchbase.com/cb-non-package-installer/cb-non-package-installer |
카우치베이스 서버를 비루트로 설치하기
SSH로 첫 번째 노드에 접속하여 설치합니다.
1단계: 서버 및 데이터에 대한 디렉터리 만들기
1 2 3 4 |
[ec2-사용자@IP-172-31-22-131 ~]$ ls -l 합계 346696 drwxrwx---. 3 ec2-사용자 ec2-사용자 21 4월 24 18:03 cb-데이터 drwxrwxr-x. 2 ec2-사용자 ec2-사용자 6 4월 24 18:03 cb-서버 |
2단계: Couchbase 서버 설치하기
1 2 |
[ec2-사용자@IP-172-31-22-131 ~]$ ./cb-비-패키지-설치 관리자 --설치 --설치-위치 /홈/ec2-사용자/cb-서버 --패키지 카우치베이스-서버-엔터프라이즈-6.5.1-centos8.x86_64.rpm 성공적 설치된 |
3단계: 시작 카우치베이스 Server
1 2 3 4 5 6 7 8 9 10 11 12 |
/홈/ec2-사용자/cb-서버/opt/카우치베이스/bin/카우치베이스-서버 \-- -입력 없음 -분리됨 그리고 최대 숫자 의 프로세스 에 대한 의 카우치베이스 사용자 는 set too low (4096). It 필수 be 에서 최소 10000. 일반적으로 이 can be 증가 by 추가 의 다음 라인 에 /등/보안/제한.conf: 카우치베이스 <값> 카우치베이스 <값> Where <값> 는 더 큰 보다 10000. 그리고 절차 may be 완전히 다른 만약 당신're 실행 중 그래서 호출 "비루트/비수도 설치" 또는 만약 당신've built 카우치베이스 서버 에서 출처. |
ec2-user에 대한 제한을 이미 설정했으므로 이 메시지는 무시해도 됩니다.
4단계: 상태 확인
1 2 |
[ec2-사용자@IP-172-31-22-131 ~]$ /홈/ec2-사용자/cb-서버/opt/카우치베이스/bin/카우치베이스-서버 --상태 카우치베이스 서버 는 실행 중 |
다른 2개의 노드에 대해 위 단계를 반복합니다.
카우치베이스 클러스터 설정
액세스: http://xxxx.compute.amazonaws.com:8091
다양한 데이터 경로의 변경 사항에 유의하세요.
1 노드 클러스터 확인
남은 노드 추가
를 클릭합니다. 서버 추가 를 클릭하고 위 화면에서 다른 2개의 노드를 추가하고 재조정. 추가할 때 사용자 지정 데이터 경로 서버 추가 화면에서
이제 클러스터가 실행 중입니다.
2부: 업그레이드
사전 업그레이드
ec2-user로 설치된 3노드 Couchbase Server 6.0.4로 시작합니다.
설치 홈은 다음과 같습니다: /home/ec2-user/cb-server
데이터 디렉토리는 /home/ec2-user/cb-data
Couchbase 6.0.4 관리자 UI에 로그인하여 Couchbase 서버 상태를 확인하고 모두 녹색으로 표시되어 있는지 확인합니다.
다음으로 버킷을 간단히 확인합니다:
이제 이 클러스터를 Couchbase 6.5.1로 업그레이드해 보겠습니다.
사전 요구 사항
이는 이 블로그의 1부에서 설명한 것과 동일합니다. Couchbase Server 6.0.4를 설치할 때 이러한 사전 요구 사항을 충족하지 않았더라도 이러한 요구 사항을 충족하는지 확인하시기 바랍니다. 업그레이드 프로세스는 이를 수행할 수 있는 좋은 기회입니다.
업그레이드 프로세스
1단계: 노드 정상적으로 페일오버하기
참고
- Do not 아직 재조정
- 노드가 장애 조치되어 트래픽을 수신하지 않지만 여전히 클러스터의 일부입니다.
노드에 대한 간단한 확인
SSH로 장애 조치 노드에 접속하여 다음 단계를 수행합니다.
2단계: 서버 중지
1 |
[ec2-사용자@IP-172-31-25-239 ~]$ /홈/ec2-사용자/cb-서버/opt/카우치베이스/bin/카우치베이스-서버 -k |
3단계: 서버 업그레이드
1 2 3 4 |
[ec2-사용자@IP-172-31-25-239 ~]$ ./cb-비-패키지-설치 관리자 --업그레이드 --설치-위치 \ /홈/ec2-사용자/cb-서버 --패키지 카우치베이스-서버-엔터프라이즈-6.5.1-centos8.x86_64.rpm 실행 중 cbupgrade 이 could take 일부 시간 업그레이드 has 완료 성공 |
4단계: 서버 시작
1 |
[ec2-사용자@IP-172-31-25-239 ~]$ /홈/ec2-사용자/cb-서버/opt/카우치베이스/bin/카우치베이스-서버 \-- -입력 없음 -분리됨 |
팁: 어느 단계에서든 서버 상태를 확인할 수 있습니다:
1 |
[ec2-사용자@IP-172-31-25-239 ~]$ /홈/ec2-사용자/cb-서버/opt/카우치베이스/bin/카우치베이스-서버 --상태 |
업그레이드 후 UI에서 서버 버전을 확인하세요.
서버 버전이 변경되었음을 참고하세요.
노드를 다시 추가하고 리밸런싱
참고: 다음과 같이 공연할 예정입니다. 롤링 온라인 업그레이드 와 함께 정상 장애 조치 및 델타 복구.
다시 추가를 클릭합니다: 델타 복구 버튼을 클릭합니다.
선택 사항입니다: 로그 확인
1 |
시작 재조정, KeepNodes = ['ns_1@ec2-3-101-69-76.us-west-1.compute.amazonaws.com', 'ns_1@ec2-54-176-242-50.us-west-1.compute.amazonaws.com', 'ns_1@ec2-54-67-66-89.us-west-1.compute.amazonaws.com'], EjectNodes = [], 실패 over 그리고 존재 배출 노드 = [], 델타 복구 노드 = ['ns_1@ec2-54-176-242-50.us-west-1.compute.amazonaws.com'], 델타 복구 버킷 = 모두; 운영 Id = 1651aa843a095465bbb5b38dd22a1adans_orchestrator 000ns_1@ec2-54-176-242-50.us-west-1.compute.amazonaws.com1:00:44 AM 금 4월 24, 2020 |
전체 업그레이드 완료
3개 노드 모두에 대해 동일한 과정을 반복합니다.관리자 UI에 로그인하던 첫 번째 노드를 장애 조치하려면 업그레이드된 노드에서 관리자 UI에 액세스해야 합니다. 모양과 느낌은 개선되었지만 기능은 동일합니다.
결론
업그레이드 프로세스가 완료되면 대시보드에서 서버 버전을 확인합니다:
업그레이드가 완료되었습니다.