2012-08-11 2 views
0

일부 aws-instances에서 HDFS (0.20.2)를 실행 중입니다. HDFS가 파일의 모든 블록을 하나의 데이터 노드에 쓰도록 강요했습니다 (복제를 1로 줄이고 오직 하나의 데이터 노드 만 추가함으로써).로컬 HDFS 액세스가 더 빨라야합니까?

로컬로 (블록이 저장된 데이터 노드에서) 또는 클러스터의 다른 호스트에서 파일에 액세스 할 때 성능 차이가 나타나지 않습니다. 본질적으로 copyToLocal을 수행하는 데 걸리는 시간은 로컬 데이터 노드 또는 다른 시스템에서와 동일합니다 (JAVA-API를 통해 액세스하는 경우에도 마찬가지 임) 차이가 없어야합니까?

파일의 크기는 3.5GB이고 블록 크기는 128MB입니다 (문제가되는 경우). 보통 매체 인스턴스 인 경우

업데이트

당신의 제안을 들으하지만 많은 경우에 내가 예상되는 동작을 얻을 때 실제 문제 만 중소 경우에 발생은 (그래서 로컬 액세스는 속도가 매우 빠르고 ~ 20 대 ~ 40 대)입니다.

+0

1. copyToLocal 명령을 실행하는 클라이언트는 데이터가있는 데이터 노드에서 한 번 실행되고 다른 컴퓨터에서 실행됩니다. 2. namenode가 동일한 컴퓨터에 있습니까? – Razvan

+0

1. 예 2. 데이터 노드가없는 다른 컴퓨터에 namenode가 없습니다. – cedrics

+0

데이터 노드가 하나뿐이므로 복제본 배치 전략은 아무런 차이가 없습니다. 부수적으로, 2 가지 경우에 들어갈 수있는 시간을 알려주시겠습니까? – Razvan

답변

관련 문제