Hadoop 로 컬 작업 HDFS 에서 파일 문 제 를 업로드 할 수 없습니다.

1350 단어 빅 데이터
로 컬 작업 HDFS 에서 파일 문 제 를 업로드 할 수 없습니다.
  • 문제 설명
  • 로 컬 에서 JavaAPI 클 라 이언 트 를 사용 하여 Hadoop 클 러 스 터 HDFS 작업 을 할 때 파일 디 렉 터 리 를 새로 만 들 거나 디 렉 터 리 를 삭제 하거나 새 파일 을 만 들 수 있 으 며 파일 을 업로드 하 는 중 오류 가 발생 하여 파일 내용 을 빈 상태 로 업로드 할 수 있 습 니 다.셸 터미널 에서 파일 업로드 등 을 정상적으로 할 수 있 습 니 다.
  • 문제 원인
  • 1. NameNode 노드 는 파일 디 렉 터 리, 즉 폴 더, 파일 이름 을 저장 합 니 다. 로 컬 은 네트워크 를 통 해 NameNode 에 접근 할 수 있 기 때문에 폴 더 를 만 들 수 있 습 니 다. 파일 을 업로드 할 때 DataNode 에 데 이 터 를 기록 해 야 할 때 NameNode 와 DataNode 는 랜 을 통 해 통 신 됩 니 다. NameNode 는 주 소 를 DataNode 의 개인 IP 로 되 돌려 주 고 로 컬 에 접근 할 수 없습니다.
    2. 방화벽 이 닫 히 지 않 음
    3. 해결 방안
        되 돌아 오 는 IP 주 소 는 공공 네트워크 IP 로 돌아 갈 수 없습니다. 호스트 이름 과 공공 네트워크 주소 의 매 핑 을 통 해 DataNode 노드 에 접근 할 수 있 습 니 다. 문 제 는 해 결 될 것 입 니 다.
        코드 설정 의 우선 순위 가 가장 높 기 때문에 코드 설정 을 직접 합 니 다. 
    Configuration conf = new Configuration(); conf.set("dfs.client.use.datanode.hostname", "true");//이 설정 정 보 를 추가 하면 됩 니 다
    FileSystem fs = FileSystem.get(new URI("hdfs://192.168.8.81:9000"), conf, "root");

    좋은 웹페이지 즐겨찾기