Apache Kylin Не удалось найти общую библиотеку HBase

Я установил Hadoop версии 2.6.0, HBase версии 0.99.0, Hive версии 1.2, Kylin версии 1.5.0.

Я настроил все вышеперечисленное в автономном режиме, в то время как при запуске Kylin он на ранней стадии проверяет Hadoop, HBase и Hive. Все было установлено, но когда я запускаю Kylin, он выдает ошибку, что общая библиотека HBase не найдена. Ниже приведен журнал Apache Kylin.

KYLIN_HOME is set to bin/../
16/03/24 18:02:16 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
kylin.security.profile is set to testing
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kunalgupta/Downloads/spark-1.6.0-bin-hadoop2.6/lib/spark-assembly-1.6.0-hadoop2.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kunalgupta/Downloads/spark-1.6.0-bin-hadoop2.6/lib/spark-assembly-1.6.0-hadoop2.6.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Logging initialized using configuration in jar:file:/Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
cut: illegal option -- -
usage: cut -b list [-n] [file ...]
       cut -c list [file ...]
       cut -f list [-s] [-d delim] [file ...]
HIVE_CONF is set to: /Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/apache-hive-1.2.1-bin/conf/, use it to locate hive configurations.
HCAT_HOME is set to: /Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/apache-hive-1.2.1-bin/hcatalog, use it to find hcatalog path:
usage: dirname path
find: -printf: unknown primary or operator
hive dependency: /Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/apache-hive-1.2.1-bin/conf/::/Users/kunalgupta/Desktop/kunal/Desktop/Backup/Kunal/Downloads/apache-hive-1.2.1-bin/hcatalog/share/hcatalog/hive-hcatalog-core-1.2.1.jar
cut: illegal option -- -
usage: cut -b list [-n] [file ...]
       cut -c list [file ...]
       cut -f list [-s] [-d delim] [file ...]
hbase-common lib not found

Пожалуйста, кто-нибудь, помогите мне.


person Kunal Gupta    schedule 24.03.2016    source источник


Ответы (5)


Проблема, с которой вы столкнулись, заключается в том, что команда cut на mac-osx не поддерживает опцию «--output-delimiter». Я столкнулся с той же ошибкой при установке kylin-1.5.1. Это легко решить, используя двоичные файлы gnu в вашей оболочке вместо двоичных файлов osx.

Используйте brew для установки coreutils (я заменил все часто используемые утилиты оболочки на их версии gnu)
Используйте приведенный ниже команда для этого.

brew install coreutils findutils gnu-tar gnu-sed gawk gnutls gnu-indent gnu-getopt --default-names

Теперь, чтобы оболочка использовала их вместо двоичных файлов Mac, добавьте путь к этим утилитам в файл профиля оболочки.

vi ~/.profile

добавьте следующие строки в этот файл

PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

После этого откройте новое окно терминала и выполните

echo $PATH

Результат должен иметь путь, который мы установили на предыдущем шаге, впереди (предварительно). Теперь запустите kylin, он должен работать гладко.

Некоторые справочные ссылки, которые мне помогли:
ссылка на форум Mac
Руководство по установке с сайта apple.se< /а>

person faizan    schedule 26.04.2016

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera/
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export KYLIN_HOME=/usr/local/kylin
export CDH_HOME=/opt/cloudera/parcels/CDH
export SPARK_HOME=${CDH_HOME}/lib/spark
export HBASE_HOME=${CDH_HOME}/lib/hbase
export HIVE_HOME=${CDH_HOME}/lib/hive
export HADOOP_HOME=${CDH_HOME}/lib/hadoop
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

source /etc/profile

добавлен ${HBASE_HOME} в /etc/profile

кошка /opt/cloudera/parcels/CDH/lib/hbase/bin/hbase

if [ -n "${shaded_jar}" ] && [ -f "${shaded_jar}" ]; then
  CLASSPATH="${CLASSPATH}:${shaded_jar}"
# fall through to grabbing all the lib jars and hope we're in the omnibus tarball
#
# N.B. shell specifically can't rely on the shaded artifacts because RSGroups is only
# available as non-shaded
#
# N.B. pe and ltt can't easily rely on shaded artifacts because they live in hbase-mapreduce:test-jar
# and need some other jars that haven't been relocated. Currently enumerating that list
# is too hard to be worth it.
#
else
  for f in $HBASE_HOME/lib/*.jar; do
    CLASSPATH=${CLASSPATH}:$f;
  done
  # make it easier to check for shaded/not later on.
  shaded_jar=""
fi
for f in "${HBASE_HOME}"/lib/client-facing-thirdparty/*.jar; do
  if [[ ! "${f}" =~ ^.*/htrace-core-3.*\.jar$ ]] && \
     [ "${f}" != "htrace-core.jar$" ] && \
     [[ ! "${f}" =~ ^.*/slf4j-log4j.*$ ]]; then
    CLASSPATH="${CLASSPATH}:${f}"
  fi
done

person AnJia    schedule 10.05.2019

Я использую centos7, apache-kylin-3.0.0-alpha2-bin-hadoop3 и hbase 2.1.4. Я нашел решение в этих ссылках. https://issues.apache.org/jira/browse/KYLIN-3564 http://92072234.wiz03.com/share/s/2i1O8Q1L1k042IDoOy3h7BgH2K4G6J2SoQv42Xc4b01xpCrj The second ссылка решить мою проблему. Редактировать hbase-файл

$HBASE_HOME/бин/hbase

сдача

CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar

to

CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:/YOUR HBASE FULL PATH or $HBASE_HOME/lib/*
person GreyDesolate    schedule 30.09.2019
comment
Спасибо, это сработало для меня .. - person Malinda Peiris; 07.04.2021

Я решил это следующим образом:

1. export HBASE_CLASSPATH=/opt/cloudera/parcels/CDH-6.2.0-/hbase-common-2.0.0-cdh6.2.0.jar
2. then start kylin again.
person DennisLi    schedule 08.01.2020

Вы работаете в Windows? Извините, Kylin работает только на Linux с версии 1.5.

person Li Yang    schedule 26.03.2016
comment
Спасибо @Li Yang, я запускаю его на Mac OSX ... так что мне следует понизить версию Kylin для работы на Mac OSX EI Capitan - person Kunal Gupta; 27.03.2016
comment
Kylin не тестировался на Mac/Windows. Для тестирования или разработки я рекомендую запускать Kylin в песочнице Hadoop. - person Li Yang; 30.03.2016
comment
Кстати, основной причиной вашей проблемы является то, что команда «cut» на Mac не поддерживает параметр --output-delimiter, который используется в сценарии оболочки Kylin. Эта ошибка может быть исправлена, но запуск Kylin на Mac по-прежнему плохая идея, потому что никто этого не делает. - person Li Yang; 30.03.2016