點擊右邊

辦理啟動Azkaban報百家樂教學錯成績:java.lang.NoSuchMethodError: com.google.comm

啟動A地下六合彩玩法zkaban報錯:
java.lang.NoSuchMethodError:com.google.common.collect.ImmutableMap.toImmutableMap

辦理要領:

從報錯信息來望,是找不到toImmutableMap這個要領。起首找到類ImmutableMap對應的Jar包為guava,然后在服務器查找這個Jar包:

find / -name “大眾guava*.jar”大眾

發明除了Azkaban裝置目次,其余法式目次下也有guava包。Azkaban內里的guava包版本為guava-21.0.jar,其余法式的版本有11,14,17,18,19,21,25,嫌疑是因為有多個guava包,而使用的是低版本的包,內里沒有toImmutableMap要領。

接上去,望望azkaban運轉時辰的classpath是甚么樣的。查望Web Server啟動文件start-web.sh:

more /u01/app/azkaban-3.50.0/azkaban-web-server-0.1.0-SNAPSHOT/bin/start-web.sh

內容為:

#!/bin/bash

script_dir=$(dirname $0)

${script_dir}/internal/internal-start-web.sh >webServerLog_`date +%F+%T`.out 2>&1 &

挪用的是internal-start-web.sh,因而再查望:

more /u01/app/azkaban-3.50.0/azkaban-web-server-0.1.0-SNAPSHOT/bin/internal/internal-start-web.sh

內容為:

#!/bin/bash

azkaban_dir=$(dirname $0)/../..

# Specifies location of azkaban.properties, log4j.properties files
# Change if necessary
conf=$azkaban_dir/conf

if [[ -z “大眾$tmpdir”大眾 ]]; then
tmpdir=http://www.jb5線上 捕 魚 機1.net/tmp
fi

for file in $azkaban_dir/lib/*.jar;
do
CLASSPATH=$CLASSPATH:$file
done

for file in地下539包牌 $azkaban_dir/extlib/*.jar;
do
CLASSPATH=$CLASSPATH:$file
done

for file in $azkaban_dir/plugins/*/*.jar;
do
CLASSPATH=$CLASSPATH:$file
done

if [ “大眾$HADOOP_HOME”大眾 != 公眾”大眾 ]; then
echo 公眾Using Hadoop from $HADOOP_HOME”大眾
CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf:$HADOOP_HOME/*
JAVA_LIB_PATH=公眾-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64″大眾
else
echo “大眾Error: HADOOP_HOME is not set. Hadoop job types will not run properly.”大眾
fi

if [ “大眾$HIVE_HOME公眾 != 公眾”大眾 ]; then
echo 公眾Using Hive from $HIVE_HOME”大眾
CLASSPATH=$CLASSPATH:$HIVE_HOME/conf:$HIVE_HOME/lib/*
fi

echo $azkaban_dir;
echo $CLASSPATH;

executorport=`cat $conf/azkaban.properties | grep executor.port | cut -d = -f 2`
serverpath=`pwd`

if [[ -z 公眾$AZKABAN_OPTS”大眾 ]]; then
AZKABAN_OPTS=”大眾-Xmx4G”大眾
fi
# Set the log4j configuration file
if [ -f $conf/log4j.properties ]; then
AZKABAN_OPTS=”大眾$AZKABAN_OPTS -Dlog4j.configuration=file:$conf/log4j.properties -Dlog4j.log.dir=$azkaban_dir/logs”大眾
else
echo 公眾Exit with error: $conf/log4j.properties file doesn’t exist.”大眾
exit 1;
fi
AZKABAN_OPTS=”大眾$AZKABAN_OPTS -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport -Dserverpat
h=$serverpath公眾

java $AZKABAN_OPTS $JAVA_LIB_PATH -cp $CLASSPATH azkaban.webapp.AzkabanWebServer -conf $conf $@ &

echo $! > $azkaban_dir/currentpid

可以望到,Azkaban裝置目次的jar包是在原$CLASSPATH以后的,以下:

for file in $azkaban_dir/lib/*.jar;
do
CLASSPATH=$CLASSPATH:$file
done

如許,其余目次下的guava包就會被先找到使用。好了,成績緣故原由找到了,辦理要領就很簡略了,將CLASSPATH=$CLASSP大樂透即時開獎號碼ATH:$file改成CLASSPATH=$file:$CLASSPATH,讓Azkaban裝置目次下的guava包先被找到使用。另外,Executor Server的啟動威力彩開獎號碼文件/u01/app/azkaban-3.50.0/azkaban-exec-server-0.1.0-SNAPSHOT/bin/internal/internal-start-executor.sh也必要做一樣點竄。

點竄實現后,再啟動服務就正常了。(Executor Server以及Web Server都必要從新啟動)

終了。

到此這篇對于啟動Azkaban報錯:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap的文章就先容到這了,更多相關啟動Azkaban報錯內容請搜刮劇本之家曩昔的文章或者持續涉獵上面的相關文章但愿人人之后多多支撐劇本之家!

【免責聲明】本站內容轉載自互聯網,其相關談吐僅代表作者小我私家概念盡非權勢巨子,不代表本站態度。如您發明內容存在版權成績,請提交相關鏈接至郵箱:,咱們將實時予以處置。