欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決啟動Azkaban報錯問題:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap

 更新時間:2020年05月03日 10:11:09   作者:andyguan01_2  
這篇文章主要介紹了啟動Azkaban報錯:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap,需要的朋友可以參考下

問題描述:

啟動Azkaban報錯:
java.lang.NoSuchMethodError:com.google.common.collect.ImmutableMap.toImmutableMap

解決方法:

從報錯信息來看,是找不到toImmutableMap這個方法。首先找到類ImmutableMap對應(yīng)的Jar包為guava,然后在服務(wù)器查找這個Jar包:

find / -name "guava*.jar"

發(fā)現(xiàn)除了Azkaban安裝目錄,其他程序目錄下也有g(shù)uava包。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

內(nèi)容為:

#!/bin/bash

script_dir=$(dirname $0)

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

調(diào)用的是internal-start-web.sh,于是再查看:

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

內(nèi)容為:

#!/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=/tmp
fi

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

for file in $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=$CLASSPATH:$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也需要做同樣修改。

修改完成后,再啟動服務(wù)就正常了。(Executor Server和Web Server都需要重新啟動)

完畢。

到此這篇關(guān)于啟動Azkaban報錯:java.lang.NoSuchMethodError: com.google.common.collect.ImmutableMap.toImmutableMap的文章就介紹到這了,更多相關(guān)啟動Azkaban報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Scala 環(huán)境搭建及IDEA工具的配置使用教程

    Scala 環(huán)境搭建及IDEA工具的配置使用教程

    這篇文章主要介紹了Scala 之 環(huán)境搭建 及 工具IDEA的配置使用,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Win10環(huán)境下?編譯?和?運行?x264的詳細(xì)過程

    Win10環(huán)境下?編譯?和?運行?x264的詳細(xì)過程

    這篇文章主要介紹了Win10環(huán)境下編譯和運行x264的詳細(xì)過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • flash 擋住層的解決方法

    flash 擋住層的解決方法

    使用層制作的下拉菜單下正好有FLASH動畫,菜單被動畫遮擋.
    2009-08-08
  • 關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題

    關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題

    這篇文章主要介紹了關(guān)于postman上傳文件執(zhí)行成功而使用collection runner執(zhí)行失敗的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • VSCode 遠(yuǎn)程登錄開發(fā)(帶免密)

    VSCode 遠(yuǎn)程登錄開發(fā)(帶免密)

    這篇文章主要介紹了VSCode 遠(yuǎn)程登錄開發(fā)(帶免密),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 淺談解決360兼容模式瀏覽器的方法

    淺談解決360兼容模式瀏覽器的方法

    這篇文章給大家分享的是關(guān)于解決360兼容模式瀏覽器的方法,對于大家日常開發(fā)還是很實用,有需要的可以參考借鑒,下面一起來看看。
    2016-08-08
  • yum安裝telnet的步驟

    yum安裝telnet的步驟

    Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登錄服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式,Telnet是常用的遠(yuǎn)程控制Web服務(wù)器的方法,本文給大家分享yum安裝telnet的步驟,感興趣的朋友一起看看吧
    2020-05-05
  • git分支或指定文件回退到指定版本命令詳解

    git分支或指定文件回退到指定版本命令詳解

    作為一名后端開發(fā),相信大家一定遇到過這樣的情景,代碼開發(fā)人員過多,并且開發(fā)分支過多,導(dǎo)致代碼版本管理困難,這樣就難免遇到一些代碼合并出錯,下面這篇文章主要給大家介紹了關(guān)于git分支或指定文件回退到指定版本命令的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • 一文掌握git?push命令

    一文掌握git?push命令

    git?push就是將本地的更新推送到遠(yuǎn)程別名,這篇文章主要介紹了git?push命令詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • git分支(branch)操作相關(guān)命令及分支命令的使用

    git分支(branch)操作相關(guān)命令及分支命令的使用

    這篇文章主要介紹了git分支(branch)操作相關(guān)命令及分支命令的使用的相關(guān)資料,需要的朋友可以參考下
    2017-10-10

最新評論