2016-08-23 3 views
0

나는 호튼 웍스의 기초를 학습하고 다음과 같은 사양으로 작은 클러스터를 실행 해요 :Hadoop의 개별 데이터 노드에 개별 데이터 노드 디렉토리를 설정하는 방법은 무엇입니까?

  • 3 아마존 EC2 노드 (각은 모두 데이터 노드와 이름 노드) Ambari 통해
  • 설정
  • 노드 1은있다/mnt/vol1 (마운트 된 하드 드라이브)의 추가 스토리지

이제 dfs.datanode.data.dir (Ambari를 통해)에/mnt/vol1을 추가하면 각 노드에서 vol1 디렉토리의 사본을 얻습니다. 그들은 존재하지 않는다. 블록이 다른 데이터 노드의이 디렉토리에도 저장됩니까? 어떻게하면 다른 데이터 노드가 아닌 단일 데이터 노드에 대해 추가 스토리지를 추가 할 수 있습니까?

답변

0

여기에 그림과 함께 나오는 Ambari의 구성 그룹 개념이 있습니다. 기본적으로 클러스터의 모든 노드는 하나의 구성 그룹에만 포함됩니다. 따라서 그룹의 구성은 모든 노드에 적용될 수 있습니다. 이 경우 dfs.datanode.data.dir/mnt/vol1으로 설정하면 Ambari는 각 노드에서이 디렉토리를 확인합니다. 존재한다면, 데이터 노드의 데이터는 그 디렉토리에 저장 될 것이다. 그렇지 않으면 무시됩니다.

따라서 노드 1의 경우이 디렉토리가 사용되지만 다른 노드의 경우이 디렉토리를 사용할 수 없으므로이 디렉토리는 사용되지 않습니다. dfs.datanode.data.dir 구성에 다른 디렉토리가 언급되지 않은 경우 replication factor가 3으로 설정되면 under-replication이 표시 될 것입니다.

기본적으로 두 개의 config-group을 하나의 머신에 두는 것입니다. 탑재 된 저장소 볼륨으로 설정 한 다음 dfs.datanode.data.dir/mnt/vol1으로 설정하고 다른 두 노드에 다른 구성 그룹을 지정한 다음이 속성에 적절한 값을 제공하십시오. 그렇게하면 문제가 해결됩니다.

확인 구성 그룹에 관한 자세한 내용에 아래의 링크 :

https://developer.ibm.com/hadoop/2015/11/10/override-component-configurations-with-ambari-configuration-groups/

https://docs.hortonworks.com/HDPDocuments/Ambari-2.1.1.0/bk_Ambari_Users_Guide/content/_using_host_config_groups.html