이전 프로젝트에서 네임노드에서 하둡설정파일을 변경후 데이터노드에 일일이 scp를 이용해서 복사한 기억이 나는데, 무지에 의한 노가다 였구나.
책 Hadoop.The.Definitive.Guide 3rd 에서 설정부분을 꼼꼼히 살펴보다보니, hadoop-env.sh 파일에 HADOOP_MASTER라는 속성을 지정하면 자동으로 마스터노드와 싱크를 맞추어 준다. 굳이예요~
conf/hadoop-env.sh 내에 다음과 같은 속성을 설정한다. (디폴트는 설정 x)
export HADOOP_MASTER=hadoop@master:/home/hadoop/hadoop-1.0.3
hadoop-dameon.sh 파일을 살펴보면 rsync를 통해 설정파일 동기화를 수행한다.
그러나 클러스터가 너무 큰 환경에서는 데몬 시작시 동시에 요청되는 rsync로 인해서 마스터노드가 요청을 받지 못하는 경우가 발생할 수 있으므로 HADOOP_SLAVE_SLEEP 에 1보다 작은 값을 설정하자. 가령 0.1 (1/10초)
마스터가 슬레이브에게 데몬 실행 요청을 일정한 간격을두고 하려는 의도 --> 결국 슬레이브노드들이 rsync를 수행하는 것이 일정한 간격을 두고 발생하게 된다.