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"
반응형