gloctl

gloctl 소개

정의

gloctl은 GOLDILOCKS에서 제공하는 대화형 유틸리티로써 glocator에 location을 제공하고 편집한다.
gloctl은 User Datagram Protocol (UDP) 통신 프로토콜을 사용하여 glocator와 통신한다.

사용법

gloctl [options]

Option

help

설명

Help 메시지를 출력한다.

사용 예

$ gloctl --help

Usage:
 gloctl [options]

Options:

-c  --conf         User configure file
-i  --ip           Locator host ip
-p  --port         Locator port number
-o  --import       Import control FILE
-l  --silent       Suppress the display of result message and echoing commands
-r  --no-copyright Suppress display copy right and version
-h  --help         Print help message

conf

설명

glocator와 통신하기 위해 Configuration 설정 파일을 지정한다.
지정하지 않을 경우, $GOLDILOCKS_DATA/conf/goldilocks.gloctl.conf가 사용된다.

사용 예

$ gloctl --conf gloctl.conf

gLoctl>
[GLOCTL]
# Port number (1024 ~ 49151)
PORT = 44581

# Locator address
LOCATOR_HOST = 127.0.0.1

# Locator port number (1024 ~ 49151)
LOCATOR_PORT = 42581

# Time out to receive message from glocator (second)
# second ( 0 ~ 2147483647 )
MESSAGE_TIMEOUT = 10

ip

설명

gloctl를 구동할 때 glocator의 IP address를 설정한다. DSN과 함께 사용될 때는 IP 설정값이 우선한다.

사용 예

$ gloctl --ip 127.0.0.1

gLoctl>

위의 예에서 glocator의 port는 odbc.ini에서 DSN 기본값 LOCATOR를 이용하여 얻는다.

port

설명

gloctl를 구동할 때 glocator의 port를 설정한다. DSN와 함께 사용될 때는 port 설정값이 우선한다.

사용 예

$ gloctl --port 42581

gLoctl>

위의 예에서 glocator의 IP는 odbc.ini에서 DSN 기본값 LOCATOR를 이용하여 얻는다.

import

설명

대화형 모드가 아닌 파일 내의 gloctl 명령을 batch로 수행한다.

사용 예

$ gloctl --import import.txt

HELP                                                       
QUIT                                                       
IMPORT       {'FILE'}             Upload FILE to locations 
EXPORT       {'FILE'}             Download locations to FILE
ADD MEMBER   {DSN|{member_name {'host; port; db_home;'}}} Add member location      
DROP MEMBER  {member_name}        Drop member location     
SET TIMEOUT  {second}             Set time for session timeout

Add member succeeded.
HELP
ADD MEMBER G1N3 'HOST=127.0.0.1;PORT=24581;DB_HOME=g1n3_home;'

silent

설명

실행에 대한 gloctl의 메시지를 출력하지 않는다.

사용 예

$ gloctl --silent --import import.txt

no-copyright

설명

실행에 대한 gloctl의 copy right와 버전 메시지를 출력하지 않는다.

사용 예

$ gloctl --no-copyright

gLoctl>

Interactive Command Reference

ADD MEMBER

구문

ADD MEMBER {DSN | member_name {'host; port; db_home;'}}

설명

glocator에 member 하나를 추가한다. odbc.ini에 존재하는 DSN 또는 member name과 필요한 location 정보를 입력해야 한다.

사용 예

odbc.ini의 DSN을 이용하여 ADD MEMBER를 수행한다.

gLoctl> ADD MEMBER G1N1

Add member succeeded.

gLoctl>
[G1N1]
HOST=127.0.0.1
PORT=20101
DB_HOME= g1n1_home
LOCATOR_DSN=LOCATOR
gLoctl> ADD MEMBER G1N2 'HOST=127.0.0.1; PORT=20201; DB_HOME=g1n2_home;'

Add member succeeded.

gLoctl>

ADD SERVICE

구문

ADD SERVICE service_name {'member_name; ... '}

설명

glocator에 service 하나를 추가한다. Service에 속한 node는 glocator에서 관리되어야 하며 glocator에 동일한 node가 없으면 무시된다.

사용 예

ADD SERVICE로 service s1을 추가한다.

gLoctl> ADD SERVICE S1 'G1N1;G1N2;G2N1'

Add service succeeded.

gLoctl>
[GOLDILOCKS]
HOST=127.0.0.1
PORT=22581
LOCATOR_DSN=LOCATOR
LOCATOR_SERVICE=S1
[LOCATOR]
HOST=127.0.0.1
PORT=42581

odbc.ini 파일에 glocator 속성을 기술하고 glocator를 사용하면 gsqlnet과 기타 응용 프로그램은 service 목록 중 하나의 서버에 접속할 수 있다.

DROP MEMBER

구문

DROP MEMBER member_name

설명

member_name에 해당하는 member를 glocator에서 삭제한다.

삭제하려는 member가 failover 과정 중에 있다면 삭제할 수 없다.

사용 예

gLoctl> DROP MEMBER G1N2

Drop member succeeded.

gLoctl>

DROP SERVICE

구문

DROP MEMBER service_name

설명

service_name에 해당하는 service를 glocator에서 삭제한다.

사용 예

gLoctl> DROP SERVICE S1

Drop service succeeded.

gLoctl>

EXPORT

구문

EXPORT {'FILE'}

설명

glocator로부터 location 정보를 받아 파일에 저장한다.

사용 예

Location.txt라는 파일에 location 정보를 다운로드 한다.

gLoctl> EXPORT 'Location.txt'

Export file succeeded.

gLoctl>
[G1N1]
PORT = 20101
HOST = 127.0.0.1
DB_HOME = g1n1_home

[G1N3]
PORT = 24581
HOST = 127.0.0.1
DB_HOME = g1n3_home

HELP

구문

HELP

설명

gloctl의 대화형 모드에서 명령어 목록을 보여준다.

사용 예

gLoctl> HELP

HELP
QUIT
IMPORT {'FILE'} Upload FILE to locations
EXPORT {'FILE'} Download locations to FILE
ADD MEMBER {DSN|{member_name {'host; port; db_home;'}}} Add member location
DROP MEMBER {member_name} Drop member location
SET TIMEOUT {second} Set time for session timeout
ADD SERVICE  {service_name {'member_name; ... '} } Add service
DROP SERVICE {service_name}       Drop service 

gLoctl>

IMPORT

구문

IMPORT {'FILE'}

설명

ini 형식의 파일을 이용하여 glocator에 location을 전송한다.

사용 예

Location.txt 파일에 있는 내용을 glocator로 보낸다.

gLoctl> IMPORT 'Location.txt'

Import file succeeded.

gLoctl>
[G1N1]
PORT = 20101
HOST = 127.0.0.1
DB_HOME = g1n1_home

[G1N3]
PORT = 24581
HOST = 127.0.0.1
DB_HOME = g1n3_home

QUIT

설명

gloctl을 종료한다.

구문

QUIT

SET TIMEOUT

설명

glocator의 TIMEOUT을 설정한다.

구문

SET TIMEOUT {second}

사용 예

gLoctl> set timeout 120

Set timeout.

gLoctl>

Location File

Location file은 gloctl에서 glocator로 노드의 location 정보를 업로드하거나 다운로드한다.

설명

Location file 형식은 데이터 원본 스펙 파일의 형식과 유사하다.

[node_name]
HOST = host_address
PORT = port_no
DB_HOME = db_home_path

[SERVICE]
service_name = node_name {, node_name}*

Location file의 location 키워드는 다음 표와 같다.

Location infornation

키워드

설명

node_name

노드 이름이다.

HOST

노드의 IP 주소이다.

PORT

노드에서 실행된 glsnr의 port 번호이다.

DB_HOME

노드의 홈 디렉토리를 설정한다.

[SERVICE]는 서비스 힌트 목록을 나열하는 고정 키워드이다. glocator에 등록되어 있거나 등록할 서비스 힌트 목록은 SERVICE 키워드 아래에 나열된다.

HOST와 PORT 키워드는 반드시 입력되어야 하며 누락할 경우 에러가 발생한다.

다음은 location file을 구성하는 예이다.

[G1N1]
HOST = 192.168.0.101
PORT = 20101
DB_HOME = g1n1_home

[G1N2]
HOST = 192.168.0.102
PORT = 20102
DB_HOME = g1n2_home

[G2N1]
HOST = 192.168.0.201
PORT = 20201
DB_HOME = g2n1_home

[G2N2]
HOST = 192.168.0.202
PORT = 20202
DB_HOME = g2n2_home

[SERVICE]
service_1 = G1N1,G2N1
service_2 = G1N1,G1N2

Configuration

gloctl의 환경파일은 $GOLDILOCKS_DATA/conf/goldilocks.gloctl.conf이다. gloctl의 구동 환경을 변경하려면 해당 파일의 내용을 변경하거나 conf 옵션으로 환경 파일을 지정하여 gloctl을 구동하면 된다.

gloctl이 실행 중인 상태에서 gloctl의 환경을 변경하여 적용하려면 gloctl을 멈춘 후에 구동 환경을 변경 하고 다시 시작해야 한다.

PORT

항목

설명

이름

PORT

설명

gloctl이 사용하는 port이다.

Data type

INT

기본값/ 범위

44581 / 1024 ~ 49151

gloctl이 사용하는 소켓의 port를 설정한다.

LOCATOR_HOST

항목

설명

이름

PORT

설명

gloctl과 통신하는 glocator의 host address이다.

Data type

STRING

기본값/ 범위

127.0.0.1

glocator의 host address를 설정한다.

LOCATOR_PORT

항목

설명

이름

PORT

설명

gloctl과 통신하는 glocator의 port이다.

Data type

INT

기본값/ 범위

42581 / 1024 ~ 49151

glocator의 port를 설정한다.

MESSAGE_TIMEOUT

항목

설명

이름

MESSAGE_TIMEOUT

설명

gloctl이 glocator로부터 응답을 기다리는 시간을 설정한다. (second)

Data type

INT

기본값/ 범위

10 / 0 ~ 2147483647

gloctl이 glocator로 패킷을 보낸 후에 응답을 기다리는 시간을 설정한다.