-
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에서 설정해주면 된다.
끝!