본문 바로가기
빅데이터/hbase

[hbase2] HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution 오류

by hs_seo 2021. 8. 11.

hbase 2.3.5를 설정하면서 실행에는 문제가 없지만 다음과 같은 경고가 출력되었습니다.

 

++ /opt/hadoop/bin/hadoop org.apache.hadoop.hbase.util.GetJavaProperty java.library.path
/opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/opt/hadoop-3.2.1/bin/../libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution

 

이 문제는 hbase 명령의 344번 라인에서 HADOOP_JAVA_LIBRARY_PATH 를 설정하는 Java 명령어에서 발생하였습니다. git 에서 코드를 살펴보아도 크게 문제가 없는 코드여서 우선은 이 값을 하드 코딩으로 설정하는 것으로 수정하였습니다. 이 값은 하둡의 lib/native 경로를 설정하여 주면 됩니다.

 

  # {HBASE_HOME}/bin/hbase의 344 라인 주석 처리 
  #HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH${temporary_cp}" "${HADOOP_IN_PATH}" \
  #                           org.apache.hadoop.hbase.util.GetJavaProperty java.library.path)

  # 하드 코딩 
  HADOOP_JAVA_LIBRARY_PATH=":/opt/hadoop-3.x.x/lib/native"

 

반응형