빅 데이터 기술 Hadoop 필기 시험 문제
소개: Hadoop은 높은 내결함성을 가지며 저렴한 하드웨어에 배포되도록 설계되었습니다. 다음은 J.L이 참고할 수 있도록 추천하는 서면 면접 질문과 경험입니다.
객관식 질문
1. 다음 중 HDFS 데이터 저장을 담당하는 프로그램은 무엇입니까?
a) NameNode
b) Jobtracker
c) 데이터 노드
d) SecondaryNameNode
e) tasktracker
2. 기본적으로 HDfS의 블록 복사본은 몇 개입니까?
a) 3개 복사본
b) 2개
c)1
d) 확실하지 않음
3. 다음 중 일반적으로 NameNode와 동일한 노드에서 시작되는 프로그램은 무엇입니까?
a) SecondaryNameNode p>
b )DataNode
c) TaskTracker
d) Jobtracker
4. Hadoop 작성자
a) Martin Fowler
b) Kent Beck
c) 더그 자르기
5. HDFS 기본 블록 크기
a) 32MB
b) 64MB
c) 128MB
6. 다음 중 일반적으로 클러스터의 주요 병목 현상은 무엇입니까?
a) CPU
b) 네트워크
p>c) 디스크
d) 메모리
7. SecondaryNameNode에 대한 올바른 설명은 무엇입니까? a) NameNode의 상시 대기입니다.
b) 메모리 요구 사항이 없습니다.
c) NameNode가 편집 로그를 병합하고 NameNode 시작 시간을 줄이는 데 목적이 있습니다.
d) SecondaryNameNode는 NameNode에 연결되어야 합니다. 노드에 배포
객관식 질문
8. 다음 중 클러스터 관리로 사용할 수 있는 것은 무엇입니까? 도구
a) Puppet
b )Pdsh
c) Cloudera Manager
d) d) Zookeeper
9. 다음 중 랙 인식을 구성하는 데 올바른 것은 무엇입니까
a) 랙에 문제가 있어도 데이터 읽기 및 쓰기에는 영향을 미치지 않습니다
b) 쓰기 시 데이터는 다른 랙의 DataNode에 기록됩니다.
c) MapReduce는 다음을 기반으로 합니다. 랙은 상대적으로 자체에 가까운 네트워크 데이터를 얻습니다.
10. 어느 것입니까? 클라이언트가 파일을 업로드할 때 다음은 정확합니다
a) 데이터는 NameNode를 통해 DataNode로 전달됩니다.
b) 클라이언트는 파일을 블록으로 나누어 순차적으로 업로드합니다
p>
c) 클라이언트는 하나의 DataNode에만 데이터를 업로드하고, NameNode는 블록 복제 작업을 담당합니다.
11. 다음 중 Hadoop이 실행되는 모드는 무엇인가요
a) 독립형 버전
b) 의사 분산형
c) 분산형
12. Cloudera에서 제공 설치 방법은 무엇입니까? CDH?
a) Cloudera 관리자
b) 타르 볼
c) Yum d) Rpm
참 또는 거짓 질문
13. Ganglia can 모니터링 및 알람 기능도 수행할 수 있습니다. ( )
14. 블록 크기는 수정할 수 없습니다. ( )
15. Nagios는 Hadoop 지원을 제공하지 않기 때문에 Hadoop 클러스터를 모니터링할 수 없습니다. ( )
16. NameNode가 예기치 않게 종료되면 SecondaryNameNode가 인계받아 클러스터가 계속 작동하도록 합니다. ( )
17. Cloudera CDH에는 결제가 필요합니다. ( )
18. Hadoop은 Java로 개발되었으므로 MapReduce는 Java 언어로만 작성을 지원합니다. ( )
19. Hadoop은 데이터의 무작위 읽기 및 쓰기를 지원합니다. ( )
20. NameNode는 클라이언트가 읽기 또는 쓰기 요청을 할 때마다 디스크에서 읽거나 메타데이터 정보를 쓰고 이를 클라이언트에 피드백합니다. ( )
21. NameNode의 로컬 디스크에는 Block의 위치 정보가 저장됩니다. ( )
22. DataNode는 긴 연결을 통해 NameNode와의 통신을 유지합니다. ( )
23. Hadoop 자체에는 클러스터의 정상적인 작동을 보장하기 위해 엄격한 권한 관리 및 보안 조치가 있습니다. ( )
24. 슬레이브 노드는 데이터를 저장해야 하므로 디스크가 클수록 좋습니다. ( )
25. hadoop dfsadmin ?report 명령은 HDFS 손상된 블록을 감지하는 데 사용됩니다. ( )
26. Hadoop의 기본 스케줄러 전략은 FIFO입니다. ( )
27. 단일 디스크의 손상을 방지하고 디스크 작동에 영향을 미치지 않도록 클러스터의 각 노드에는 RAID가 장착되어야 합니다. 전체 노드. ( )
28. HDFS에는 여러 복사본이 있으므로 NameNode에는 단일 문제 지점이 없습니다. ( )
29. 각 맵 슬롯은 스레드입니다. ( )
30. Mapreduce의 입력 분할은 블록입니다. ( )
31. NameNode의 Web UI 포트는 50030이며, jetty를 통해 웹 서비스를 시작합니다. ( )
32. Hadoop 환경 변수의 HADOOP_HEAPSIZE는 모든 Hadoop 데몬 스레드의 메모리를 설정하는 데 사용됩니다. 기본값은 200GB입니다. ( )
33. DataNode가 처음으로 클러스터에 참가할 때 로그에 호환되지 않는 파일 버전이 보고되면 NameNode는 Hadoop namenode -format 작업을 수행하여 디스크를 포맷해야 합니다. ( )
가지 마세요. 답은 뒤에 있습니다!
1. 다음 중 HDFS 데이터 저장을 담당하는 프로그램은 무엇인가요?
답변 C 데이터 노드
a) NameNode
b) Jobtracker
c) 데이터 노드
d) SecondaryNameNode
e)tasktracker
2. 기본적으로 HDfS의 블록 복사본은 몇 개나 저장됩니까? 답변 A의 기본값은 3포인트입니다.
a) 3개 복사본
b ) 2개 사본
p>c) 1개 사본
d) 확실하지 않음
3. 다음 중 일반적으로 NameNode와 동일한 노드에서 시작되는 프로그램은 무엇입니까? ? 답 D
a )SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker
이 질문에 대한 분석:
hadoop 클러스터는 마스터/슬레이브 모드를 기반으로 합니다. namenode와 jobtracker는 master에 속하고, datanode와 tasktracker는 master에 속하며, 슬레이브에는 NameNode와 동일한 규모의 여러 SecondaryNameNode 메모리 요구 사항이 있으므로 일반적으로 보조 NameNode(별도의 물리적 시스템에서 실행)와 NameNode는 서로 다른 시스템에서 실행됩니다.
JobTracker 및 TaskTracker
JobTracker는 NameNode에 해당합니다.
TaskTracker는 DataNode에 해당합니다.
DataNode와 NameNode는 데이터 저장용입니다. >
JobTracker 및 TaskTracker는 MapReduce 실행을 위한 것입니다.
Mapreduce에는 여러 가지 주요 개념이 있습니다. 전체적으로 Mapreduce는 obclient, JobTracker 및 TaskTracker와 같은 여러 실행 단서로 나눌 수 있습니다.
1. JobClient는 애플리케이션의 구성된 매개변수를 jar 파일로 패키징하고 이를 사용자 측 JobClient 클래스를 통해 hdfs에 저장한 다음 Jobtracker에 경로를 제출한 다음 JobTracker가 각 작업을 생성합니다(예: MapTask 및 ReduceTask) 그리고 이를 다양한 TaskTracker 서비스에 배포하여 실행합니다.
2. JobTracker는 소프트웨어가 시작된 후 JobTracker를 수신하고 TaskTracker에서 실행되도록 작업의 각 하위 작업을 예약하고 작업이 실패한 경우 이를 모니터링하는 역할을 합니다. 발견되면 다시 실행하세요. 일반적으로 JobTracker는 별도의 컴퓨터에 배포되어야 합니다.
3. TaskTracker는 여러 노드에서 실행되는 슬레이브 서비스입니다. TaskTracker는 JobTracker와 적극적으로 통신하고 작업을 수신하며 각 작업을 직접 실행하는 역할을 담당합니다. TaskTracker는 HDFS의 DataNode에서 실행되어야 합니다.
4. Hadoop 작성자 답변 C Doug 절단
a) Martin Fowler
b) Kent Beck
c) Doug 절단
p>
p>
5. HDFS 기본 블록 크기 답: B
a) 32MB
b) 64MB
c) 128MB
(버전이 빨리 바뀌기 때문에 여기에 있는 답변은 참고용입니다.)
6. 다음 중 일반적으로 클러스터의 주요 병목 현상은 무엇입니까? 답: C 디스크
a)CPU
p>b) 네트워크
c) 디스크 IO
d) 메모리
이에 대한 분석 질문:
우선 클러스터의 목적은 비용을 절감하고 미니컴퓨터와 메인프레임을 저렴한 PC로 교체하는 것입니다. 미니컴퓨터와 메인프레임의 특징은 무엇인가요?
1. CPU의 처리 능력이 강력합니다
2. 메모리가 충분히 큽니다
따라서 병목 현상이 발생합니다. 클러스터는 a와 d일 수 없습니다.
3. 네트워크는 부족한 리소스이지만 병목 현상이 발생하지는 않습니다.
4. 빅데이터는 대용량 데이터를 다루기 때문에 데이터를 읽고 쓰려면 IO가 필요하고, 그 다음에는 중복 데이터가 필요하다. 하둡은 보통 3개의 데이터 복사본을 백업하므로 IO가 손상된다.
7. SecondaryNameNode에 대한 올바른 설명은 무엇입니까? 답 C
a) NameNode의 상시 대기입니다
b) 메모리 요구 사항이 없습니다
p>
c) 그 목적은 NameNode가 편집 로그를 병합하고 NameNode 시작 시간을 줄이는 데 도움을 주는 것입니다.
d) 보조 NameNode는 NameNode와 동일한 노드에 배포되어야 합니다. .
객관식 질문:
8. 다음 중 클러스터 관리로 사용할 수 있는 것은 무엇입니까? 답변: ABD
a) Puppet
b )Pdsh
c) Cloudera Manager
d) Zookeeper
9. 랙 인식을 구성할 때 다음 중 올바른 것은 무엇입니까? Answer ABC
a) 한 랙에 문제가 있어도 데이터 읽기 및 쓰기에는 영향을 미치지 않습니다.
b) 데이터 쓰기 시 다른 랙의 DataNode에 씁니다.
c) MapReduce는 랙을 기반으로 가장 가까운 네트워크 데이터를 가져옵니다.
10. 클라이언트가 파일을 업로드할 때 다음 중 올바른 것은 무엇입니까?
a) 데이터는 NameNode를 통해 DataNode로 전달됩니다.
p>
b) 클라이언트는 파일을 블록으로 나누고 순서대로 업로드합니다.
c) 클라이언트만 데이터를 하나의 DataNode에 업로드하면 NameNode가 블록 복제 작업을 담당합니다.
이 질문에 대한 분석:
클라이언트는 NameNode에 파일 쓰기 요청을 시작합니다.
NameNode는 파일 크기 및 파일 블록 구성을 기반으로 관리하는 DataNode에 대한 정보를 클라이언트에 반환합니다.
클라이언트는 파일을 여러 개의 블록으로 나누어 DataNode의 주소 정보에 따라 순서대로 각 DataNode 블록에 씁니다.
11. 다음 중 Hadoop의 실행 모드는 무엇입니까? Answer ABC
a) 독립 실행형 버전
b) 의사 분산
c ) 분산형
12. Cloudera는 CDH 설치를 위해 어떤 방법을 제공합니까? 답변: ABCD
a) Cloudera 관리자
b) Tarball
c)Yum
d)Rpm
참 또는 거짓 질문:
13. Ganglia는 모니터링뿐만 아니라 알람도 할 수 있습니다. (맞음)
분석: 이 질문의 목적은 Ganglia의 이해도를 테스트하는 것입니다. 엄밀히 말하면 맞습니다. Ganglia는 Linux 환경에서 가장 일반적으로 사용되는 모니터링 소프트웨어로 사용자 요구에 따라 저렴한 비용으로 노드에서 데이터를 수집하는 데 적합합니다. 그러나 Ganglia는 사건 발생 후 사용자에게 경고하고 알리는 데 능숙하지 않습니다. 최신 신경절은 이미 이 영역에서 몇 가지 기능을 가지고 있습니다. 그러나 Nagios는 경고에 더 능숙합니다. Nagios는 조기 경고 및 알림 기능이 뛰어난 소프트웨어입니다. Ganglia와 Nagios를 결합하고 Ganglia가 수집한 데이터를 Nagios의 데이터 소스로 사용한 다음 Nagios를 사용하여 조기 경고 알림을 보내면 완전한 모니터링 및 관리 시스템 세트를 완벽하게 구현할 수 있습니다.
14. 블록 크기는 수정할 수 없습니다. (오류)
분석: Hadoop의 기본 구성 파일은 hadoop-default.xml 구성이며, hadoop-site.xml 구성을 읽을 수 있습니다(이 파일은 초기에 비어 있음). ) hadoop-site.xml의 기본 구성은 재정의해야 하는 hadoop-default.xml의 시스템 수준 구성입니다.
15. Nagios는 Hadoop 지원을 제공하지 않기 때문에 Hadoop 클러스터를 모니터링할 수 없습니다. (오류)
분석: Nagios는 클러스터 모니터링 도구이며 클라우드 컴퓨팅의 세 가지 주요 도구 중 하나입니다.
16. NameNode가 예기치 않게 종료되면 SecondaryNameNode가 대신하게 됩니다. 클러스터가 계속 작동하도록 허용합니다. (오류)
분석: SecondaryNameNode는 교체가 아닌 복원을 돕기 위한 것이며, 복원 방법은 확인할 수 있습니다.
17. Cloudera CDH에는 결제가 필요합니다. (오류)
분석: 첫 번째 유료 제품 세트는 Cloudera Enterpris입니다. Cloudera Enterprise는 미국 캘리포니아에서 열린 Hadoop Summit에서 공개되었으며 수많은 민간 관리, 모니터링으로 Hadoop의 기능을 강화했습니다. 및 작업 도구입니다. 요금은 계약 구독에 따라 부과되며 가격은 사용된 Hadoop 클러스터의 크기에 따라 다릅니다.
18. Hadoop은 Java로 개발되므로 MapReduce는 Java 언어로만 작성을 지원합니다.
(오류)
분석: rhadoop은 R 언어로 개발되었습니다. MapReduce는 아이디어로 이해될 수 있고 다른 언어로 개발될 수 있는 프레임워크입니다.
19. Hadoop은 데이터의 무작위 읽기 및 쓰기를 지원합니다. (잘못)
분석: Lucene은 임의 읽기 및 쓰기를 지원하는 반면 HDFS는 임의 읽기만 지원합니다. 그러나 HBase가 구조에 올 수 있습니다. HBase는 Hadoop이 처리할 수 없는 문제를 해결하기 위해 임의 읽기 및 쓰기를 제공합니다. HBase는 처음부터 다양한 확장성 문제에 초점을 맞춰 설계되었습니다. 테이블은 수십억 개의 데이터 행으로 매우 클 수도 있고, 수백만 개의 열로 자동으로 분할될 수도 있습니다. 일반 상업용 머신 노드에 복제합니다. 테이블의 스키마는 물리적 저장소를 직접적으로 반영하므로 시스템에서 데이터 구조의 효율적인 직렬화, 저장 및 검색을 향상시킬 수 있습니다.
20. NameNode는 클라이언트가 읽기 또는 쓰기 요청을 할 때마다 디스크에서 읽거나 메타데이터 정보를 쓰고 이를 클라이언트에 피드백합니다. (오류)
이 질문에 대한 분석:
NameNode는 디스크에서 메타데이터를 읽을 필요가 없습니다. 모든 데이터는 메모리에 있습니다. 직렬화 결과만 있습니다. . 매번 이름 노드만 읽을 수 있습니다.
1) 파일 쓰기
클라이언트는 NameNode에 파일 쓰기 요청을 시작합니다.
NameNode는 파일 크기 및 파일 블록 구성을 기반으로 관리하는 DataNode에 대한 정보를 클라이언트에 반환합니다.
클라이언트는 파일을 여러 개의 블록으로 나누어 DataNode의 주소 정보에 따라 순서대로 각 DataNode 블록에 씁니다.
2) 파일 읽기
클라이언트는 NameNode에 파일 읽기 요청을 시작합니다.
21. NameNode의 로컬 디스크에는 Block의 위치 정보가 저장됩니다. (개인적으로는 맞다고 생각합니다. 다른 의견도 환영합니다)
분석: DataNode는 파일 저장의 기본 단위입니다. 블록을 로컬 파일 시스템에 저장하고, 블록의 메타데이터를 저장하며, 그리고 주기적으로 기존의 모든 Block 정보가 NameNode로 전송됩니다. NameNode는 파일에 저장된 DataNode 정보를 반환합니다.
클라이언트가 파일 정보를 읽습니다.
22. DataNode는 긴 연결을 통해 NameNode와의 통신을 유지합니다. ( )
이것은 다릅니다. 저는 특히 이와 관련하여 유용한 정보를 찾고 있습니다. 참고용으로 아래 정보를 제공합니다.
먼저 개념을 명확히 합시다:
(1) 긴 연결
클라이언트와 서버는 먼저 통신 연결을 설정하고 연결을 끊지 마십시오. 연결이 설정된 후 메시지를 보내고 받습니다. 이 방법은 통신 연결이 항상 존재하므로 Point-to-Point 통신에 자주 사용됩니다.
(2).짧은 연결
클라이언트와 서버는 각 메시지 송수신 트랜잭션에 대해서만 통신 연결을 설정하고 트랜잭션이 완료되면 즉시 연결을 끊습니다. 이 방법은 여러 클라이언트가 서버에 연결되는 등 지점 간 통신에 자주 사용됩니다.
23. Hadoop 자체에는 클러스터의 정상적인 작동을 보장하기 위한 엄격한 권한 관리 및 보안 조치가 있습니다.
(오류)
Hadoop은 선한 사람이 실수하는 것을 막을 수 있을 뿐이지, 나쁜 사람이 나쁜 일을 하는 것을 막을 수는 없습니다.
24. 슬레이브 노드는 데이터를 저장해야 하므로 디스크가 클수록 좋습니다. (오류)
분석: 슬레이브 노드가 다운되면 데이터 복구가 어려운 문제입니다.
25. hadoop dfsadmin ?report 명령은 HDFS 손상된 블록을 감지하는 데 사용됩니다. (잘못)
26. Hadoop의 기본 스케줄러 전략은 FIFO입니다(올바름)
27. 클러스터의 각 노드에는 단일 디스크 손상을 방지하고 전체 노드에 영향을 미치기 위해 RAID가 장착되어야 합니다. 달리다. (오류)
분석: 우선 RAID가 무엇인지 이해하려면 디스크 어레이 백과사전을 참고하면 됩니다. 이 문장의 실수는 너무 절대적이어서 사례별로 분석해야 한다는 것입니다. 질문은 초점이 아니라 지식이 가장 중요합니다. Hadoop 자체에는 중복 기능이 있기 때문에 매우 엄격하지 않는 이상 RAID를 장착할 필요가 없습니다. 자세한 내용은 두 번째 질문을 참조하세요.
28. HDFS에는 여러 복사본이 있으므로 NameNode에는 단일 문제가 없습니다. (오류)
29. 각 맵 슬롯은 스레드입니다. (오류)
분석: 우선 맵 슬롯이 무엇인지 알고 있습니다. 맵 슬롯-gt; 맵 슬롯맵 슬롯은 단지 논리값입니다(org.apache.hadoop.mapred.TaskTracker.TaskLauncher. numFreeSlots), 스레드 또는 프로세스에 해당하지 않음
30. Mapreduce의 입력 분할은 블록입니다. (오류)
31. NameNode의 웹 UI 포트는 50030이며 jetty를 통해 웹 서비스를 시작합니다. (오류)
32. Hadoop 환경 변수의 HADOOP_HEAPSIZE는 모든 Hadoop 데몬 스레드의 메모리를 설정하는 데 사용됩니다. 기본값은 200GB입니다. (오류)
hadoop이 각 데몬 프로세스(namenode, secondnamenode, jobtracker, datanode, tasktracker)에 균일하게 할당한 메모리는 hadoop-env.sh에 설정되어 있으며 매개변수는 HADOOP_HEAPSIZE이며 기본값은 1000M입니다. .
33. DataNode가 처음으로 클러스터에 참가할 때 로그에 호환되지 않는 파일 버전이 보고되면 NameNode는 Hadoop namenode -format 작업을 수행하여 디스크를 포맷해야 합니다. (오류)
분석:
먼저 소개를 이해하고 ClusterID
ClusterID
모든 노드 식별을 위한 새로운 식별자 ClusterID를 추가했습니다. 클러스터에서. 네임노드를 포맷할 때 이 식별자를 제공하거나 자동으로 생성해야 합니다. 이 ID는 클러스터에 참여하는 다른 네임노드를 포맷하는 데 사용될 수 있습니다.
2차 정렬
일부 학생들의 질문의 초점은 위의 분석 내용이 아닙니다. 내용은 다음과 같습니다.
이 오류 보고서는 Hadoop 버전을 나타냅니다. DataNode 및 기타 노드에 설치되어 있는 노드가 일치하지 않는 경우 DataNode의 Hadoop 버전을 확인해야 합니다.