1. 시작
해당 설치는 클러스터 구성 내용을 이어서 작성하며 그 기준에 맞게 작성하였습니다.
`node1~3` 은 `/etc/hosts` 파일에 추가해 준 내용이며 아래 링크를 참고하세요
[참고 1 `etc/hosts`]
[zookeeper][Ubuntu] Apache zookeeper cluster 구성하기
1. 시작 업무에서 이중화 요구사항에 따라 규모 있는 cluster를 구성해야 한다. 추후 업무에 내가 정리하고 참고하기 위해 글을 작성한다.(망각 방지) 2. zookeeper Apache zookeeper 는 분산시스템을 위한
hbcha0916.tistory.com
[참고 2 클러스터 구성]
https://hbcha0916.tistory.com/category/%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%20%EA%B5%AC%EC%84%B1
'클러스터 구성' 카테고리의 글 목록
망각을 지연시키는 블로그
hbcha0916.tistory.com
이제 Elasticsearch도 클러스터를 구성하면 한서버당 zookeeper, kafka, NiFi, elasticsearch를 삼중화(pc 3대)시킨 것이다.
Elasticsearch는 zookeeper를 사용하지 않기 때문에 Elasticsearch끼리만 클러스터를 구성할 것이다.(Zookeeper의 관여가 없다.)
[참고 3 Elasticsearch가 zookeeper를 사용하지 않는 이유]
https://www.elastic.co/kr/blog/found-zookeeper-king-of-coordination#what-we-dont-use-zookeeper-for
ZooKeeper - The King of Coordination
Let's explore Apache ZooKeeper, a distributed coordination service for distributed systems. Needless to say, there are plenty of use cases! At Found, for example, we use ZooKeeper extensively for discovery, resource allocation, leader election and high pri
www.elastic.co
2. Elasticsearch
- 텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 무료 검색 및 분석 엔진으로 분산형과 개방형을 특징으로 한다.
- REST API 를 사용해 데이터를 CRUD 할 수 있다.
- NOSQL 혹은 검색엔진 분류이다.
- 수많은 양의 데이터를 신속하고 실시간으로 저장, 검색, 분석할 수 있다.
- JAVA기반 애플리케이션이다.
3. 설치
3.1. 설치전 작업
Elasticserach는 메모리를 많이 사용하는데, 여기서 Linux커널의 메모리 맵 최대 영역을 조정해 줘야 한다.
아래 명령어는 일시적으로 사용할 수 있으며, 재부팅하면 기본값으로 변경된다.
3.1.1. 일시적 적용
sudo sysctl -w vm.max_map_count=262144
3.1.2. 영구적 적용
영구적 적용은 `/etc/sysctl.conf` 에서 아래 구문을 추가시키면 된다.
텍스트 에디터로 `/etc/sysctl.conf`을 연다.
vm.max_map_count=262144
참고로 기본값은 65536이다.
아마 이 작업을 건너뛰고 elasticsearch 애플리케이션을 실행시키면 아래와 같은 문장을 만나볼 수 있다.
ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
3.2. Elasticsearch 다운로드
아래 링크에 접속하여 다운로드한다.
https://www.elastic.co/kr/downloads/elasticsearch
Download Elasticsearch
Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.
www.elastic.co
Choose platform: 컴퓨터 운영체제 아키텍처
플랫폼을 선택하고 다운로드 버튼에 링크를 복사하여 `wget` 명령어를 사용하거나 어떠한 방법을 사용하여 다운로드한다.
설치 방법이 3가지가 있는데 본인 환경 혹은 제한사항에 따라 설치방식을 선택하면 될 것 같다.
- 직접설치(tar.gz)
- 패키지 관리자로 설치(apt-get, yum...)
- Docker설치(docker pull)
나는 1번(직접설치) 방식을 선택했다.
3.2.1. Elasticsearch를 패키지 관리자(apt-get, yum...)로 설치
Package managers 부분에서 리눅스 OS 에 맞는 링크를 들어가 가이드에 맞게 설치하면 된다.
나는 압축 파일을 받아서 직접설치 방식을 선택했다.(프로젝트에서 지정된 디렉터리에 Elasticsearch를 설치해야 했기 때문이다.)
3.2.2. wget으로 Elasticsearch 8.9.0 다운로드(linux-x86_64)
위 링크를 접속하지 않고 그냥 8.9.0을 설치할 예정이면 위 링크를 무시하고 해당 절차를 따른다.
설치할 디렉터리로 이동 후 아래 명령어를 따른다.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-linux-x86_64.tar.gz
3.2.3. 다운로드 파일 압축 풀기
tar -zxvf elasticsearch-8.9.0-linux-x86_64.tar.gz
4. 적용
Elasticsearch를 설치한 디렉터리를 편의상 `$ELASTIC_HOME`으로 부르겠다.
4.1. elasticsearch.yml 설정
$ELASTIC_HOME/config/elasticsearch.yml 파일에서 아래 내용을 추가/수정한다.
cluster.name: el-cluster
node.name: node-1 #노드별로 설정
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
xpack.security.enabled: false
cluster.name | 한 클러스터의 모든 노드는 같은 이름의 `cluster.name`를 가져야 합니다. |
node.name | 노드별로 이름을 설정해 줍니다. |
network.host | 해당 노드의 호스트 입니다. |
http.port | 노드의 http port입니다. |
discovery.seed_hosts | 모든 노드들의 host를 적어줍니다. |
cluster.initial_master_nodes | 마스터 노드가 될 수 있는 노드들을 적어줍니다. |
xpack.security.enabled | 보안설정 입니다. |
저는 별다른 보안 설정을 하지 않았습니다.
4.2. jvm.options 설정
JavaHeap 사이즈를 설정합니다.
-Xms4g
-Xmx4g
`-Xms` : 기본 할당
`-Xmx` : 최대 할당
5. Elasticsearch 실행 명령어
데몬 모드로 실행하여 Elasticsearch 시작 로그만 출력 후 데몬으로 실행됩니다.
$ELASTIC_HOME/bin/elasticsearch -d
5.1. 적용 확인
Elasticsearch의 모든 노드를 실행시키고 클러스터가 구성되었는지 확인합니다.
아무 노드에서 아래 명령어를 실행시킵니다.
curl http://node1:9200/_nodes/process?pretty=true
출력 시 모든 노드가 나와야 합니다.
'클러스터 구성' 카테고리의 다른 글
[kafka][Ubuntu][NiFi] Apache Kafka cluster 구성하기 (0) | 2023.08.06 |
---|---|
[NiFi][Ubuntu] Apache NiFi cluster 구성하기 (0) | 2023.08.02 |
[zookeeper][Ubuntu] Apache zookeeper cluster 구성하기 (0) | 2023.08.01 |
1. 시작
해당 설치는 클러스터 구성 내용을 이어서 작성하며 그 기준에 맞게 작성하였습니다.
`node1~3` 은 `/etc/hosts` 파일에 추가해 준 내용이며 아래 링크를 참고하세요
[참고 1 `etc/hosts`]
[zookeeper][Ubuntu] Apache zookeeper cluster 구성하기
1. 시작 업무에서 이중화 요구사항에 따라 규모 있는 cluster를 구성해야 한다. 추후 업무에 내가 정리하고 참고하기 위해 글을 작성한다.(망각 방지) 2. zookeeper Apache zookeeper 는 분산시스템을 위한
hbcha0916.tistory.com
[참고 2 클러스터 구성]
https://hbcha0916.tistory.com/category/%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%20%EA%B5%AC%EC%84%B1
'클러스터 구성' 카테고리의 글 목록
망각을 지연시키는 블로그
hbcha0916.tistory.com
이제 Elasticsearch도 클러스터를 구성하면 한서버당 zookeeper, kafka, NiFi, elasticsearch를 삼중화(pc 3대)시킨 것이다.
Elasticsearch는 zookeeper를 사용하지 않기 때문에 Elasticsearch끼리만 클러스터를 구성할 것이다.(Zookeeper의 관여가 없다.)
[참고 3 Elasticsearch가 zookeeper를 사용하지 않는 이유]
https://www.elastic.co/kr/blog/found-zookeeper-king-of-coordination#what-we-dont-use-zookeeper-for
ZooKeeper - The King of Coordination
Let's explore Apache ZooKeeper, a distributed coordination service for distributed systems. Needless to say, there are plenty of use cases! At Found, for example, we use ZooKeeper extensively for discovery, resource allocation, leader election and high pri
www.elastic.co
2. Elasticsearch
- 텍스트, 숫자, 위치 기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터를 위한 무료 검색 및 분석 엔진으로 분산형과 개방형을 특징으로 한다.
- REST API 를 사용해 데이터를 CRUD 할 수 있다.
- NOSQL 혹은 검색엔진 분류이다.
- 수많은 양의 데이터를 신속하고 실시간으로 저장, 검색, 분석할 수 있다.
- JAVA기반 애플리케이션이다.
3. 설치
3.1. 설치전 작업
Elasticserach는 메모리를 많이 사용하는데, 여기서 Linux커널의 메모리 맵 최대 영역을 조정해 줘야 한다.
아래 명령어는 일시적으로 사용할 수 있으며, 재부팅하면 기본값으로 변경된다.
3.1.1. 일시적 적용
sudo sysctl -w vm.max_map_count=262144
3.1.2. 영구적 적용
영구적 적용은 `/etc/sysctl.conf` 에서 아래 구문을 추가시키면 된다.
텍스트 에디터로 `/etc/sysctl.conf`을 연다.
vm.max_map_count=262144
참고로 기본값은 65536이다.
아마 이 작업을 건너뛰고 elasticsearch 애플리케이션을 실행시키면 아래와 같은 문장을 만나볼 수 있다.
ERROR: [1] bootstrap checks failed [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
3.2. Elasticsearch 다운로드
아래 링크에 접속하여 다운로드한다.
https://www.elastic.co/kr/downloads/elasticsearch
Download Elasticsearch
Download Elasticsearch or the complete Elastic Stack (formerly ELK stack) for free and start searching and analyzing in minutes with Elastic.
www.elastic.co
Choose platform: 컴퓨터 운영체제 아키텍처
플랫폼을 선택하고 다운로드 버튼에 링크를 복사하여 `wget` 명령어를 사용하거나 어떠한 방법을 사용하여 다운로드한다.
설치 방법이 3가지가 있는데 본인 환경 혹은 제한사항에 따라 설치방식을 선택하면 될 것 같다.
- 직접설치(tar.gz)
- 패키지 관리자로 설치(apt-get, yum...)
- Docker설치(docker pull)
나는 1번(직접설치) 방식을 선택했다.
3.2.1. Elasticsearch를 패키지 관리자(apt-get, yum...)로 설치
Package managers 부분에서 리눅스 OS 에 맞는 링크를 들어가 가이드에 맞게 설치하면 된다.
나는 압축 파일을 받아서 직접설치 방식을 선택했다.(프로젝트에서 지정된 디렉터리에 Elasticsearch를 설치해야 했기 때문이다.)
3.2.2. wget으로 Elasticsearch 8.9.0 다운로드(linux-x86_64)
위 링크를 접속하지 않고 그냥 8.9.0을 설치할 예정이면 위 링크를 무시하고 해당 절차를 따른다.
설치할 디렉터리로 이동 후 아래 명령어를 따른다.
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.0-linux-x86_64.tar.gz
3.2.3. 다운로드 파일 압축 풀기
tar -zxvf elasticsearch-8.9.0-linux-x86_64.tar.gz
4. 적용
Elasticsearch를 설치한 디렉터리를 편의상 `$ELASTIC_HOME`으로 부르겠다.
4.1. elasticsearch.yml 설정
$ELASTIC_HOME/config/elasticsearch.yml 파일에서 아래 내용을 추가/수정한다.
cluster.name: el-cluster
node.name: node-1 #노드별로 설정
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["node1", "node2", "node3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
xpack.security.enabled: false
cluster.name | 한 클러스터의 모든 노드는 같은 이름의 `cluster.name`를 가져야 합니다. |
node.name | 노드별로 이름을 설정해 줍니다. |
network.host | 해당 노드의 호스트 입니다. |
http.port | 노드의 http port입니다. |
discovery.seed_hosts | 모든 노드들의 host를 적어줍니다. |
cluster.initial_master_nodes | 마스터 노드가 될 수 있는 노드들을 적어줍니다. |
xpack.security.enabled | 보안설정 입니다. |
저는 별다른 보안 설정을 하지 않았습니다.
4.2. jvm.options 설정
JavaHeap 사이즈를 설정합니다.
-Xms4g
-Xmx4g
`-Xms` : 기본 할당
`-Xmx` : 최대 할당
5. Elasticsearch 실행 명령어
데몬 모드로 실행하여 Elasticsearch 시작 로그만 출력 후 데몬으로 실행됩니다.
$ELASTIC_HOME/bin/elasticsearch -d
5.1. 적용 확인
Elasticsearch의 모든 노드를 실행시키고 클러스터가 구성되었는지 확인합니다.
아무 노드에서 아래 명령어를 실행시킵니다.
curl http://node1:9200/_nodes/process?pretty=true
출력 시 모든 노드가 나와야 합니다.
'클러스터 구성' 카테고리의 다른 글
[kafka][Ubuntu][NiFi] Apache Kafka cluster 구성하기 (0) | 2023.08.06 |
---|---|
[NiFi][Ubuntu] Apache NiFi cluster 구성하기 (0) | 2023.08.02 |
[zookeeper][Ubuntu] Apache zookeeper cluster 구성하기 (0) | 2023.08.01 |