가이드된 문서를 보면 뭔가 1% 부족하다
http://hyunsik.github.io/tajo-doc-kr/docs/0.10.0/configuration/ha_configuration.html
일단 서버는 다음과 같은 구성이라고 가정하자
* 하둡NAMENODE : name_node01
* 액티브마스터 : tajo_server01
* 백업마스터 : tajo_server02
* 워커노드 : tajo_server03 ~ tajo_server10
[마스터노드 : tajo_server01, tajo_server02]
* conf/masters
tajo_server01
tajo_server02
* conf/workers
tajo_server03
tajo_server04
tajo_server05
tajo_server06
tajo_server07
tajo_server08
tajo_server09
tajo_server10
[마스터 + 워커 모든서버 : tajo_server01 ~ 10]
액티브마스터와 백업마스터에 'xx.master.xxx' 관련 설정을 호스트명을 직접 넣어주거나, 액티브마스터쪽으로 해서 했는데, 백업마스터쪽은 기동이 안되서 삽질했는데 일단 0.0.0.0 형태로 실행하면 기동이 되었다.
사실 이게 맞는건지도 잘 모르겠다 ㄱ-
왜냐면, 나는 분명 tajo_server01에서 start-tajo.sh 로 실행했는데, 웹관리페이지를 보면 tajo_server02가 액티브로 잡히고 tajo_server01이 백업으로 잡혀있다 -_-; 원인은 잘 모르겠지만 일단 실행은 된다. 더 난감한건 종종 일부 워크 노드가 안뜨는문제도 있다.
뭘 해야하는지 모르겠다.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tajo.rootdir</name>
<value>hdfs:// name_node01/tajo</value>
<description>Base directory including system directories.</description>
</property>
<property>
<name>tajo.master.ha.enable</name>
<value>true</value>
</property>
<property>
<name>tajo.master.umbilical-rpc.address</name>
<value>0.0.0.0:26001</value>
<description>TajoMaster binding address between master and workers.</description>
</property>
<property>
<name>tajo.master.client-rpc.address</name>
<value>0.0.0.0:26002</value>
<description>TajoMaster binding address between master and clients.</description>
</property>
<property>
<name>tajo.resource-tracker.rpc.address</name>
<value>0.0.0.0:26003</value>
<description>TajoMaster binding address between master and workers.</description>
</property>
<property>
<name>tajo.catalog.client-rpc.address</name>
<value>0.0.0.0:26005</value>
<description>CatalogServer binding address between catalog server and workers.</description>
</property>
</configuration>
15/08/23 추가글1 !!
1. 한국사용자 모임에 따르면 0.0.0.0 으로 설정하기보다는 각 서버의 호스트명이나 IP로세팅해주는것을 추천했다
2. 그리고 전체 스타트를 하면 백업마스터와 액티브마스터는 논리적으로 구분했지만,
실행속도에 따라서 먼저 실행되어 안착(?)된 노드가 액티브가 된다.
그래서 1번서버가 꼭 액티브마스터가 되진 않고 심지어 일부 노드는 마스터에 못붙어서 실행을 또 해줘야하는 경우도 있다. 주의하자.
내가 테스트해본걸로는 액티브 마스터가 죽었을때 백업마스터가 액티브마스터를 대체하는거까지는 확인할순 있었다.