본문 바로가기

빅데이터/hdfs12

[hdfs] java.io.IOException: Got error, status=ERROR, status message , ack with firstBadLink as 192.168.0.103:50010 오류 HDFS 운영 중 다음과 같은 오류가 발생하였습니다. 23/12/18 15:22:43 INFO hdfs.DataStreamer: Exception in createBlockOutputStream java.io.IOException: Got error, status=ERROR, status message , ack with firstBadLink as 192.168.0.103:50010 at org.apache.hadoop.hdfs.protocol.datatransfer.DataTransferProtoUtil.checkBlockOpStatus(DataTransferProtoUtil.java:118) at org.apache.hadoop.hdfs.DataStreamer.createBlockOutputStre.. 2023. 12. 26.
[hdfs] Datanode 실행 중 You cannot have a rack and a non-rack node at the same level of the network topology. 오류 데이터 노드 실행 중 다음과 같은 오류가 발생하는 경우 데이터 노드의 네트워크 토폴로지 설정이 네임노드에 갱신되지 않아서 발생 하였습니다. core-site.xml 의 설정이 네트워크 토폴로지 설정을 이용하도록 변경된 상태에서 네임노드를 재부팅하지 않고, 운영하다가 데이터 노드를 재부팅 하니 다음과 같은 오류가 발생하였습니다. 2023-06-09 00:24:48,434 WARN org.apache.hadoop.hdfs.server.datanode.DataNode (BP-717439599-10.0.0.1-1679643941117 heartbeating to user-host.com/10.0.0.1:8020): RemoteException in register org.apache.hadoop.ipc.Remo.. 2023. 6. 9.
[hdfs] yarn 작업 중 s3a 연결 오류 처리: com.amazonaws.AmazonClientException: No AWS Credentials provided by BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider InstanceProfileCredentialsProvider : com.amazonaws.SdkClientException.. yarn 에 s3를 연결하여 작업을 처리할 때 모든 작업을 다 했는데도 다음과 같은 오류가 발생하면서 연결이 되지 않는 다면 리소스 매니저, 노드 매니저를 재부팅해야 할 필요가 있습니다. Failing this attempt.Diagnostics: [2022-11-25 19:18:38.425]java.io.InterruptedIOException: doesBucketExist on peb-test-bucket: com.amazonaws.AmazonClientException: No AWS Credentials provided by BasicAWSCredentialsProvider EnvironmentVariableCredentialsProvider InstanceProfileCredentialsProvi.. 2022. 12. 3.
[hdfs] 하둡 2.10.0 버전에서 데이터 노드를 재시작할 때 발생하는 java.io.IOException: Failed to start sub tasks to add replica in replica map :java.lang.ArithmeticException 오류 해결 방법 하둡 2.10.0 버전에서 데이터 노드를 재시작할 때 다음과 같은 오류가 발생하였습니다. 여러 대의 노드에서 동일한 작업을 진행하였는데 하나의 노드에서만 이런 문제가 발생하였습니다. 2022-07-05 15:15:19,119 INFO org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl (Thread-83): Caught exception while adding replicas from /hadoop/hdfs/data/current. Will throw later. java.io.IOException: Failed to start sub tasks to add replica in replica map :java.lang.Arithmeti.. 2022. 7. 6.
[hdfs] Access denied for user root. Superuser privilege is required 오류 해결 방법 HDFS에서 관리자용 명령어인 dfsadmin 관련 명령을 실행할 때 다음과 같은 오류가 발생하면서 실행이 되지 않을 때가 있습니다. 이럴때는 두 가지 해결방법이 있습니다. $ hdfs dfsadmin -report Configured Capacity: 194882378752 (181.50 GB) Present Capacity: 194848824320 (181.47 GB) DFS Remaining: 192335490048 (179.13 GB) DFS Used: 2513334272 (2.34 GB) DFS Used%: 1.29% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 Missing blocks (with re.. 2022. 5. 17.
[hdfs] HDFS 메타 데이터 백업 및 복구 HDFS 메타 데이터를 백업하고 복구하는 방법을 알아보겠습니다. 메타 데이터 백업 데이터 백업은 세이프 모드에서 진행합니다. 메타 데이터 복구 복구를 위해서는 기존의 VERSION 파일은 있어야 하고, fsimage 에 맞는 체크섬을 생성하고 md5 파일을 생성해 주어야 합니다. 2022. 2. 22.
[hdfs] 네임노드의 fsimage 파일 구조 하둡 네임노드는 HDFS의 최신 데이터(fsimage)를 메모리에 보관하고 있습니다. 그리고 설정에 따라, 6시간에 1번, 100만 트랜잭션 당 1번씩 fsimage 를 파일로 보관합니다. 또한 중간 데이터인 edits 를 추가로 보관합니다. fsimage 저장 주기는 6시간에 1번 or 100만 트랜잭션당 1번 HDFS 파일 구조 파일 저장 구조는 위와 같습니다. VERSION: 현재 실행 중인 HDFS의 ID, 타입 등 정보 edits_0000xxx-0000xxx: 트랜잭션 정보. edits_트랜잭션시작번호-트랜잭션종료번호 까지의 정보를 저장 eidts_inprogress_000xx: 최신 트랜잭션 정보. 압축되지 않은 정보 fsimage_000xxx: 000xxx 까지 트랜잭션 정보가 처리된 fsi.. 2022. 2. 22.
[hdfs] webhdfs에 요청을 보냈을 때 Operation category READ is not supported in state standby. Visit https://s.apache.org/sbnn-error 오류 처리 HA 구성 된 HDFS에 webhdfs 로 요청을 보냈을 때 스탠바이(standby) 상태의 노드가 이런 응답을 보낼 때가 있습니다. HA 구성된 HDFS는 두 개의 HDFS가 각 active, standby 상태로 운영됩니다. 그런데 standby 상태의 노드에 조회 요청을 하면 오류가 발생합니다. # 상태 확인 $ hdfs haadmin -getAllServiceState host1:8020 active host2:8020 standby # 데이터 조회 오류 $ curl --negotiate -u: -sS -L -X GET -k "https://host2:50470/webhdfs/v1/?op=GETFILESTATUS&user.name=hdfs" {"RemoteException":{"exception".. 2021. 7. 8.
[hdfs] HDFS WebHDFS REST API 사용법 HDFS는 REST API를 이용하여 파일을 조회하고, 생성, 수정, 삭제하는 기능을 제공합니다. 이 기능을 이용하여 원격지에서 HDFS의 내용에 접근하는 것이 가능합니다. REST API 설정 REST API를 사용하기 위해서는 hdfs-site.xml에 다음의 설정이 되어 있어야 합니다. -- webhdfs 사용여부 설정 dfs.webhdfs.enabled=true; -- webhdfs 포트 설정 dfs.namenode.http-address=0.0.0.0:50070; REST API 사용 방법 위에서 설정한 http 포트로 curl 명령을 이용하여 ls명령을 날리는 예제는 다음과 같습니다. -- /user/hadoop 위치를 조회 $ curl -s http://$(hostname -f):50070/.. 2020. 1. 9.
[hadoop-hdfs] HDFS 포맷 하는 방법 HDFS를 포맷하는 방법에 대해서 알아보겠습니다. HDFS를 포맷하면 데이터가 모두 사라집니다. 반드시 백업을 해두고 진행하는 것이 좋습니다. 작업 순서 작업 순서는 AWS EMR의 HDFS를 기준으로 작성되었습니다. 각 제조사의 하둡마다 순서가 바뀔수 있지만 전체적인 맥락은 변경되지 않습니다. 서버 종료 네임노드, 데이타노드 종료를 종료합니다. 모든 노드의 네임노드 프로세스와 데이타노드 프로세스를 종료합니다. 네임노드 포맷 포맷 hdfs namenode -format 명령으로 네임노드를 포맷합니다. 네임노드를 포맷하면 dfs.namenode.name.dir경로의 fsimage와 edits 파일이 초기화 됩니다. 네임노드를 포맷하면 클러스터 ID가 신규로 생성됩니다. 이 정보는 dfs.namednoe.n.. 2019. 12. 26.
[hadoop-hdfs] HDFS Archival Storage, SSD & Memory HDFS는 각 데이터 노드의 저장장치의 특성에 맞게 데이터를 저장하는 특성을 제공한다고 합니다. Heterogeneous Storage (HDFS-2832)의 내용을 참고 하면 될 것 같습니다. 네이버의 PINPOINT, eBay등에서 이 작업을 적용하여 비용에 이득을 얻었다고 합니다. 아래 문서에 상세한 결과가 나와 있으므로 참고 바랍니다. $ hdfs storagepolicies -listPolicies Block Storage Policies: BlockStoragePolicy{COLD:2, storageTypes=[ARCHIVE], creationFallbacks=[], replicationFallbacks=[]} BlockStoragePolicy{WARM:5, storageTypes=[DISK,.. 2019. 8. 7.
[EMR-HDFS] EMR의 HDFS 운영중 Non DFS Used 용량이 늘어나서 실제 이용할 데이터가 줄어드는 문제 증상 EMR을 이용하여 데이터 처리 중 갑자기 각 데이터 노드의 Non DFS Used 용량이 늘어나서 실제 데이터를 저장할 용량이 부족해졌습니다. # hdfs dfsadmin -report로 확인 Decommission Status : Normal Configured Capacity: 165810782208 (154.42 GB) DFS Used: 32090261515 (29.89 GB) Non DFS Used: 45128228853 (42.03 GB) # Non DFS Used 용량의 증가 DFS Remaining: 88592291840 (82.51 GB) DFS Used%: 19.35% DFS Remaining%: 53.43%원인 데이터 노드를 확인하니 /mnt/yarn 아래 partion*.tmp,.. 2019. 7. 22.