ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • spark에서 hadoop file system 경로를 읽어오지 못할 때 해결
    카테고리 없음 2021. 3. 24. 18:14

    hadoop HDFS Name node를 변경에 따라 spark가 실행되는 노드들의 fs.defaultFS(core-site.xml)를 변경하였다.

    하지만 spark cluster 환경과 shell 환경에서 fs.getUri를 하면 default 값인 hdfs:/// 로 경로가 잡혔다.

    HADOOP_HOME, HADOOP_CONF_DIR 환경 변수가 제대로 잡히지 않아 발생한 문제였다.

    HADOOP_CONF_DIR가 없으니 conf 설정(core-site.xml)을 읽어오지 못한 문제...

    다음과 같이 설정해주니 문제가 해결되었다.

    vi ~/.bashrc
    
    JAVA_HOME= '경로에 맞춰서 설정'
    HADOOP_HOME='경로에 맞춰서 설정'
    SPARK_HOME='경로에 맞춰서 설정'
    HADOOP_CONF_DIR='경로에 맞춰서 설정하는데 /etc/hadoop 까지 해줘야 한다'
    
    export HADOOP_CONF_DIR=$HADOOP_CONF_DIR
    export JAVA_HOME=$JAVA_HOME
    export PATH=$PATH:$SPARK_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_CONF_DIR/bin
    
    source ~/.bashrc

     

    추가적으로 scala 파일마다 HDFS 경로를 다르게 지정해주고 싶다면, spark-submit  또는 sparkSession Confing에서 설정해주면 된다.

    끝!

    댓글

Designed by Tistory.