반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- docker
- 유니티
- JavaScript
- MySQL
- logstash
- nodejs
- API
- Windows
- elasticsearch
- MSSQL
- build
- JS
- mariadb
- ssh
- 영어
- 엘라스틱서치
- ChatGPT
- 구글
- Git
- sample
- s3
- Python
- Linux
- Ai
- 설정
- unity
- Kibana
- AWS
- error
Archives
- Today
- Total
가끔 보자, 하늘.
Ubuntu 에 Elasticsearch 롤링 업데이트 본문
1. 재설치
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
sudo apt update && sudo apt -y upgrade
sudo apt install apt-transport-https ca-certificates wget
sudo apt install elasticsearch
2. 설정 (7.x에 대한 상세한 설정 참고 링크)
> sudo vi /etc/elasticsearch/elasticsearch.yaml
# node 관련 설정 진행
.
.
> sudo vi /etc/security/limits.d/elasticsearch.conf # debian 계열.
> sudo vi /etc/security/limits.conf # redhat 계열
# 파일/메모리 제한 해제 설정 추가 >> 시스템 재시작 필요
elasticsearch hard memlock unlimited
elasticsearch soft memlock unlimited
elasticsearch hard nofile 65536
elasticsearch soft nofile 65536
elasticsearch hard nproc 65536
elasticsearch soft nproc 65536
# vm.max_map_count 상향
> sudo vi /etc/sysctl.conf
vm.max_map_count = 262144
# 위 설정 후 reboot 후에 아래와 같이 체크
> ulimit -l
# unlimited 라고 출력되면 설정 완료
# 만약 인증서가 있다면 권한 변경
> sudo chown elasticsearch:elasticsearch /etc/elasticsearch/elastic-cert.p12
> sudo chmod 644 /etc/elasticsearch/elastic-cert.p12
# 사용자를 elasticsearch 그룹에 추가. package로 설치한 경우만..
> sudo usermod -aG elasticsearch <사용자명>
지속적인 운영을 위해 현재 elected master만 남기고 우선 업데이트를 진행하세요. kibana, logstash는 다른 노드들을 업데이트 하는동안 elected master 에 연결되어 서비스를 지속할 수 있습니다.
이후 마지막에 기존 elected master를 재설치 전에 kibana와 logstash를 잠시 중단해 둡니다. 이후 재설치가 완료되면 kibana를 업그레이드 후 우선 시작하여 이상여부를 확인, 그리고 logstash를 업그레이드 후 재시작합니다.
3. 모니터링을 위한 MetricBeat 설정
# 모니터링을 위한 metricbeat 설치
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.17.14-amd64.deb
sudo dpkg -i metricbeat-7.17.14-amd64.deb
> sudo vi /etc/metricbeat/metricbeat.yml
# metricbeat 와 kibana 버전은 일치해야 함.
# kibana에서 mb_user 계정 등록 및 권한 부여.
setup.kibana:
host: "172.31.6.33:5601"
username: "mb_user"
password: "mb_user_passwd"
output.elasticsearch:
hosts: ["172.31.6.11:9200", "172.31.6.12:9200","172.31.6.13:9200"] # master node들만 입력하세요.
username: "mb_user" # kibana에서 계정을 생성하고 권한을 부여해야 합니다. 적절한 이름으로 수정하여 사용하세요.
password: "mb_user_passwd"
# 설정. kibana의 버전이 metricbeat와 동일해야 한다.
> sudo metricbeat modules enable elasticsearch-xpack #elasticsearch 모니터링 모듈을 활성화 합니다.
> sudo metricbeat modules disable system # 개별 시스템 모니터링 모듈은 비활성화 합니다.
> sudo metricbeat setup -e #
# 실행
> sudo service metricbeat start
서로 다른 버전이 혼재된 경우 elected master의 버전을 기준으로 처리됩니다.
롤링 업데이트는 일반적으로 많은 시간이 소요됩니다. 업데이트가 아닐 때도 시스템을 교체할 경우에는 인덱스 재할당이 진행되므로 더 많은 시간이 소요됩니다. 워낙 많은 파일로 데이터들이 분할되어 있어 백업해서 복구하는 것도 쉽지 않습니다. 이럴 경우 cluster안에서는 서로 다른 버전의 node 들이 혼재되어 있어 kibana에서 node를 쉽게 볼 수 없습니다.
이런 경우 kibana의 devtool 등에서 GET _cat/nodes?v로 현재 node들의 상태를 확인할 수 있습니다.
# 출력된 결과 예시
172.31.1.1 45 98 7 1.80 2.01 1.83 cdhilrstw - node-1
172.31.1.2 46 99 2 0.28 0.20 0.23 cdhilmrstw * node-2
172.31.1.3 5 99 0 0.17 0.09 0.08 cdfhilmrstw - node-3
반응형
'개발 이야기 > 인프라 구축 및 운영' 카테고리의 다른 글
screen 으로 세션 관리하기 (1) | 2023.11.27 |
---|---|
Ubuntu 시스템 시간대 확인/설정 (0) | 2023.10.24 |
Linux 에 SSD 추가하기 (0) | 2023.09.21 |
Docket Desktop에서 elasticsearch 가동하기 (0) | 2023.09.21 |
Linux 시스템 사양 확인 commands (0) | 2023.09.14 |