요구사항 & 사전 준비


요구사항

CPU
Intel Core i Series (Nehalem~) 이상 권장
Memory
설치될 Node 1개 당 2GB 이상 권장
운영체제
Linux (Any distribution)

사전 준비

1. 열 수 있는 파일의 최대 개수 설정

Standard Edition 과 같이, 파일을 열 수 있는 최대 개수를 늘려줘야 한다. 수정 후 로그아웃하거나, 서버를 재시작한다.

sudo vi /etc/security/limits.conf
#<domain>     <type>     <item>     <value>
#

*              hard       nofile     65535
*              soft       nofile     65535

아래 명령어로 변경된 사항을 확인한다.

ulimit -Sn

2. 서버 시간 동기화

모든 서버의 시간이 동기화되어 있어야 한다. 만약 서버 간 시간에 큰 차이가 발생하면, 레코드가 입력되지 않거나 조회에 이상이 발생할 수 있다.여기서는 Enterprise Edition이 설치될 서버들의 시간을 동기화하는 방법을 마스터(Master)/슬레이브(Slave) 서버로 구분해서 설명한다.

2-1. 마스터 서버

ntpd 서비스가 실행중이라면, root 권한으로 다음 ntpd 서비스를 중지시킨다.

service ntpd stop
NTP라는 명령어가 없다면?

그렇진 않겠지만, 정말로 없다면.. 아래와 같은 명령으로 NTP 패키지를 설치한다.

# RHEL, Redhat, Cent OS, Fedora..
yum install rtp
# Debian, Ubuntu..
apt-get install rtp

ntpdate를 통해, 외부 시간과 동기화를 한다. 다른 NTP 서버를 사용해도 무방하다.

ntpdate -b -s time.bora.net

/etc/ntp.conf 에서 NTP 서버를 추가해 둔다.

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server time.bora.net

ntpd 서비스를 다시 시작한다.

service ntpd start
이 과정을 매일 수행시키려면?

아래와 같은 명령을 쉘 스크립트로 작성해, crontab 에 등록한다.

# /etc/crontab.daily/ntpd_start 에 저장한다.
service ntpd restart

아래 명령어로 NTP서버와의 동기화 상태를 확인한다.

ntpq -p
2-2. 슬레이브 서버

마스터 서버가 하는 일과 비슷하지만, 슬레이브는 마스터의 NTP 서버를 가리키게만 하면 된다.

ntpd 서비스가 실행중이라면, root 권한으로 다음 ntpd 서비스를 중지시킨다.

service ntpd stop

/etc/ntp.conf 에서 마스터 서버의 Hostname (또는 IP)를 입력한다.

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server time.bora.net

ntpd 서비스를 다시 시작한다.

service ntpd start

3. Network Kernel Parameter 변경

클러스터 간 네트워크 성능을 활용하기 위해, 아래와 같이 설정값을 늘린다.

3-1. 서버 재시작 없이 적용하기

이 방법은 재시작 없이 적용이 가능하지만, 서버가 재시작하면 반영된 내용이 사라진다.

root 권한으로 다음 명령을 수행한다.

sysctl -w net.core.rmem_default = "33554432"                   # 기본 32MB
sysctl -w net.core.wmem_default = "33554432"
sysctl -w net.core.rmem_max     = "268435456"                  # 최대 256 MB
sysctl -w net.core.wmem_max     = "268435456"
sysctl -w net.ipv4.tcp_rmem     = "262144 33554432 268435456"  # 최소 256KB 기본 32MB 최대 256MB
sysctl -w net.ipv4.tcp_wmem     = "262144 33554432 268435456"
sysctl -w net.ipv4.tcp_mem      = "8388608 8388608 8388608"    # 8388608 Page * 4KB = 32GB
                                                               # (가용 메모리에 따라 변경 필요)
3-2. 서버 시작할 때 마다 적용하게 만들기

3-1의 방법을 수행했어도, 서버가 시작할 때 마다 적용하게 만드려면, /etc/sysctl.conf 에 다음을 추가한다.

net.core.rmem_default = 33554432
net.core.wmem_default = 33554432
net.core.rmem_max = 268435456
net.core.wmem_max = 268435456
net.ipv4.tcp_rmem = 262144 33554432 268435456
net.ipv4.tcp_wmem = 262144 33554432 268435456
net.ipv4.tcp_mem = 8388608 8388608 8388608
Parameter 변경 기준
  • 마지막 net.ipv4.tcp_mem 은 '가용 메모리 크기 / 4KB' 가 되는 값으로 수정해야 한다. (필수)
  • 나머지 값들은 그대로 둬도 큰 문제가 없겠지만, net.ipv4.tcp_mem 가 증감했다면 동일 비율로 증감시켜야 한다. (추천)

4. 사용하고자 하는 포트 확인

사용하고자 하는 포트 번호가 방화벽에 의해 막혀있는지, 이미 사용 중인 포트인지 확인해야 한다.
MACHBASE Enterprise Edition 의 기본 포트 번호는 다음과 같이 부여되는 것을 기준으로 한다.

Node Port 번호 Port Name 용도
Coordinator 5101 CLUSTER_LINK_PORT_NO cluster 통신
5102 HTTP_ADMIN_PORT
5001 MWA (Web Admin)
Deployer 5201 CLUSTER_LINK_PORT_NO cluster 통신
5202 HTTP_ADMIN_PORT
Broker 5656 PORT_NO 클라이언트 접속
5301 CLUSTER_LINK_PORT_NO cluster 통신
Warehouse
Active
5400 PORT_NO 클라이언트 접속
5401 CLUSTER_LINK_PORT_NO cluster 통신
5402 REPLICATION_MANAGER_PORT_NO Replication
Warehouse
Standby
5500 PORT_NO 클라이언트 접속
5501 CLUSTER_LINK_PORT_NO cluster 통신
5502 REPLICATION_MANAGER_PORT_NO Replication

results matching ""

    No results matching ""