初次使用Sqoop報錯,sqoop命令不能正常使用:hcatalog does not exist!accumulo does not exist!


1、問題描述:

(1)問題示例:

[hadoop@master Tmp]$ sqoop  help
Warning: /home/grid/Sqoop/sqoop-1.4.7/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/grid/Sqoop/sqoop-1.4.7/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
No such sqoop tool: -help. See 'sqoop help'.
[hadoop@master Tmp]$ sqoop  version
Warning: /home/grid/Sqoop/sqoop-1.4.7/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/grid/Sqoop/sqoop-1.4.7/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
No such sqoop tool: -version. See 'sqoop help'.

(2)問題綜述:

    Sqoop工具的命令:sqoop不能正常使用,連-help查看參數、-version顯示版本信息都報錯。

    問題的關鍵是:找不到,HCatalog和accumulo,這兩個工具。

2、解決方案:

參考https://blog.csdn.net/weixin_43716338/article/details/106752816

(1)找到Sqoop的配置文件:configure-sqoop

(2)找到如下段代碼:

## Moved to be a runtime check in sqoop.
if [ ! -d "${HCAT_HOME}" ]; then
echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
fi

if [ ! -d "${ACCUMULO_HOME}" ]; then
echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."
echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
fi

(3)上述代碼全部用“#”注釋掉,如下所示:

## Moved to be a runtime check in sqoop.
#if [ ! -d "${HCAT_HOME}" ]; then
# echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
# echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
#fi

#if [ ! -d "${ACCUMULO_HOME}" ]; then
# echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."
# echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
#fi

(4)結果檢驗:

[Hadoop@master Tmp]$ sqoop help
2021-11-05 00:55:21,339 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
usage: sqoop COMMAND [ARGS]

Available commands:

codegen         Generate code to interact with database records
create-hive-table    Import a table definition into Hive
eval            Evaluate a SQL statement and display the results
export          Export an HDFS directory to a database table
help           List available commands
import             Import a table from a database to HDFS
import-all-tables     Import tables from a database to HDFS
import-mainframe     Import datasets from a mainframe server to HDFS
job          Work with saved jobs
list-databases      List available databases on a server
list-tables          List available tables in a database
merge           Merge results of incremental imports
metast         ore Run a standalone Sqoop metastore
version        Display version information

See 'sqoop help COMMAND' for information on a specific command.
[Hadoop@master Tmp]$ sqoop version
2021-11-05 00:55:33,567 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
Sqoop 1.4.7
git commit id 2328971411f57f0cb683dfb79d19d4d19d185dd8
Compiled by maugli on Thu Dec 21 15:59:58 STD 2017

3、問題剖析:

  就是檢測上述環境變量(${HCAT_HOME}和${ACCUMULO_HOME})是否存在,通常工具 HCatalog和Accumulo,要么沒有安裝,要么安裝時改變了通常意義上(系統默認)的安裝位置。筆者改變了上述安裝位置,所以才導致上述報錯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM