错误hive.hiveconfig:无法加载org.apache.hadoop.hive.conf.hiveconf确保配置单元配置目录设置正确

3htmauhk  于 2021-05-29  发布在  Hadoop
关注(0)|答案(5)|浏览(349)

我正在尝试将数据从sqoop导入到配置单元
mysql数据库

use sample;

create table forhive(   id int auto_increment,
    firstname varchar(36),
    lastname varchar(36),
    primary key(id)
    );    

insert into  forhive(firstname, lastname) values("sample","singh");

select * from forhive;

abhay agrawal 1号
2维杰·夏尔马
3样品辛格
这是我正在使用的sqoop命令(版本1.4.7)

sqoop import --connect jdbc:mysql://********:3306/sample 

--table forhive --split-by id --columns id,firstname,lastname  

--target-dir /home/programmeur_v/forhive 

--hive-import --create-hive-table --hive-table sqp.forhive --username vaibhav -P

这就是我犯的错误
错误日志
18/08/02 19:19:49信息sqoop.sqoop:运行sqoop版本:1.4.7
输入密码:
18/08/02 19:19:55 info tool.basesqooptool:对输出使用特定于配置单元的分隔符。您可以覆盖
18/08/02 19:19:55 info tool.basesqooptool:带--字段以等结尾的分隔符。
18/08/02 19:19:55 info manager.mysqlmanager:准备使用mysql流结果集。
18/08/02 19:19:55信息工具.codegentool:开始代码生成
18/08/02 19:19:56 info manager.sqlmanager:执行sql语句:从中选择t.* forhive as t极限1
18/08/02 19:19:56 info manager.sqlmanager:执行sql语句:从中选择t.* forhive as t极限1
18/08/02 19:19:56信息orm.compilationmanager:hadoop\u mapred\u home is/home/programmeur\v/softwares/hadoop-2.9.1
注意:/tmp/sqoop-programmeur\u v/compile/e8ffa12496a2e421f80e1fa16e025d28/forhive.java使用或重写不推荐使用的api。
注意:重新编译-xlint:deprecation for 细节。18/08/02 19:19:58 info orm.compilationmanager:正在写入jar文件:/tmp/sqoop-programmeur\u v/compile/e8ffa12496a2e421f80e1fa16e025d28/forhive.jar
18/08/02 19:19:58 warn manager.mysqlmanager:看起来您正在从mysql导入。
18/08/02 19:19:58 warn manager.mysqlmanager:这种传输速度更快!使用--direct
18/08/02 19:19:58 warn manager.mysqlmanager:用于执行特定于mysql的快速路径的选项。
18/08/02 19:19:58 info manager.mysqlmanager:将零日期时间行为设置为converttonull(mysql)
18/08/02 19:19:58 info mapreduce.importjobbase:开始导入forhive
18/08/02 19:19:58 info configuration.deprecation:mapred.jar已弃用。而是使用mapreduce.job.jar
18/08/02 19:19:59信息配置。弃用:mapred.map.tasks已弃用。而是使用mapreduce.job.maps
18/08/02 19:19:59 info client.rmproxy:在/0.0.0.0:8032连接到resourcemanager
18/08/02 19:20:02 info db.dbinputformat:使用读取提交事务隔离
18/08/02 19:20:02 info db.datadrivendbinputformat:边界值查询:选择最小值( id ),最大值( id )从 forhive 18/08/02 19:20:02 info db.integerspliter:拆分大小:0;分割数:4从:1到:3
18/08/02 19:20:02 info mapreduce.jobsubmitter:数量splits:3
18/08/02 19:20:02信息配置。弃用:yarn.resourcemanager.system-metrics-publisher.enabled已弃用。相反,请使用yarn.system-metrics-publisher.enabl-ed
18/08/02 19:20:02 info mapreduce.jobsubmitter:提交作业令牌:job\u 1533231535061\u 0006
18/08/02 19:20:03 info impl.yarclientimpl:已提交申请\u 1533231535061 \u 0006
18/08/02 19:20:03 info mapreduce.job:跟踪作业的url:http://instance-1:8088/代理/应用程序\u 1533231535061 \u 0006/
18/08/02 19:20:03 info mapreduce.job:正在运行作业:作业\u 1533231535061 \u 0006
18/08/02 19:20:11 info mapreduce.job:作业作业\u 1533231535061 \u 0006在uber模式下运行:false
18/08/02 19:20:11 info mapreduce.job:Map0%减少0%
18/08/02 19:20:21 info mapreduce.job:Map33%减少0%
18/08/02 19:20:24 info mapreduce.job:Map100%减少0%
18/08/02 19:20:25 info mapreduce.job:作业\u 1533231535061 \u 0006成功完成
18/08/02 19:20:25信息mapreduce.job:计数器:31

File System Counters
        FILE: Number of bytes read=0
        FILE: Number of bytes written=622830
        FILE: Number of read operations=0
        FILE: Number of large read operations=0
        FILE: Number of write operations=0
        HDFS: Number of bytes read=295
        HDFS: Number of bytes written=48
        HDFS: Number of read operations=12
        HDFS: Number of large read operations=0
        HDFS: Number of write operations=6
        Job Counters 
        Killed map tasks=1
        Launched map tasks=3
        Other local map tasks=3
        Total time spent by all maps in occupied slots (ms)=27404
        Total time spent by all reduces in occupied slots (ms)=0
        Total time spent by all map tasks (ms)=27404
        Total vcore-milliseconds taken by all map tasks=27404
        Total megabyte-milliseconds taken by all map tasks=28061696
        Map-Reduce Framework
        Map input records=3
        Map output records=3
        Input split bytes=295
        Spilled Records=0
        Failed Shuffles=0
        Merged Map outputs=0
        GC time elapsed (ms)=671
        CPU time spent (ms)=4210
        Physical memory (bytes) snapshot=616452096
        Virtual memory (bytes) snapshot=5963145216
        Total committed heap usage (bytes)=350224384
        File Input Format Counters 
        Bytes Read=0
        File Output Format Counters 
        Bytes Written=48

18/08/02 19:20:25 info mapreduce.importjobbase:在25.828秒内传输了48字节(1.8584字节/秒)
18/08/02 19:20:25 info mapreduce.importjobbase:检索到3条记录。
18/08/02 19:20:25 info mapreduce.importjobbase:将配置单元/hcat导入作业数据发布到表forhive的侦听器
18/08/02 19:20:25 info manager.sqlmanager:执行sql语句:从中选择t.* forhive as t极限1
18/08/02 19:20:25 info hive.hiveimport:将上载的数据加载到配置单元
18/08/02 19:20:25错误hive.hiveconfig:无法加载org.apache.hadoop.hive.conf.hiveconf。确保配置单元配置目录设置正确。
18/08/02 19:20:25错误tool.importtool:导入失败:java.io.ioexception:java.lang.classnotfoundexception:org.apache.hadoop.hive.conf.hiveconf位于org.apache.sqoop.hive.hiveconfig.gethiveconf(hiveconfig)。java:50)在org.apache.sqoop.hive.hiveimport.gethiveargs(hiveimport。java:392)在org.apache.sqoop.hive.hiveimport.executeexternalhivescript(hiveimport。java:379)在org.apache.sqoop.hive.hiveimport.executescript(hiveimport。java:337)在org.apache.sqoop.hive.hiveimport.importable(hiveimport。java:241)在org.apache.sqoop.tool.importtool.importtable(importtool。java:537)在org.apache.sqoop.tool.importtool.run(importtool。java:628) 在org.apache.sqoop.sqoop.run(sqoop。java:147)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:76)在org.apache.sqoop.sqoop.runsqoop(sqoop。java:183)在org.apache.sqoop.sqoop.runtool(sqoop。java:234)在org.apache.sqoop.sqoop.runtool(sqoop。java:243)在org.apache.sqoop.sqoop.main(sqoop。java:252)原因:java.lang.classnotfoundexception:org.apache.hadoop.hive.conf.hiveconf位于java.net.urlclassloader.findclass(urlclassloader)。java:381)在java.lang.classloader.loadclass(classloader。java:424)在sun.misc.launcher$appclassloader.loadclass(launcher。java:349)在java.lang.classloader.loadclass(classloader。java:357)位于java.lang.class.forname0(本机方法)java.lang.class.forname(类。java:264)在org.apache.sqoop.hive.hiveconfig.gethiveconf(hiveconfig。java:44) ... 12个以上
在我为同样的错误做了google之后,我把hive\ conf\ dir也添加到了我的bashrc中
export hive\u home=/home/programmeur\u v/softwares/apache-hive-1.2.2-bin
export hive\u conf\u dir=/home/programmeur\u v/softwares/apache-hive-1.2.2-bin/conf
export path=$path:$java\u home/bin:$hadoop\u home/bin:$hive\u home/bin:$sqoop\u home/bin:$hive\u conf\u dir
我所有的hadoop服务都已经启动并运行了。
6976名称节点
7286次要名称节点
7559节点管理器
7448资源管理器
8522数据节点
14587日元
我只是不知道我犯了什么错误。请引导!

fykwrbwg

fykwrbwg1#

使用cd$hive\u home/lib转到$hive\u home/lib目录
然后复制hive-common-x.x.x.jar并使用
cp hive-common-x.x.x.jar$sqoop\u home/lib

3xiyfsfu

3xiyfsfu2#

当我尝试使用以下命令将数据从mysql导入到配置单元时,遇到了相同的问题:

sqoop import --connect jdbc:mysql://localhost:3306/sqoop --username root --password z*****3 --table users -m 1 --hive-home /opt/hive --hive-import --hive-overwrite

最后,这些环境变量使它完美地工作。

export HIVE_HOME=/opt/hive
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
export HIVE_CONF_DIR=$HIVE_HOME/conf
y0u0uwnf

y0u0uwnf3#

编辑您的.bash\u配置文件,然后添加hadoop\u类路径 vim ~/.bash_profile export hadoop\u classpath=$hadoop\u classpath:$hive\u home/lib/* source ~/.bash_profile

bqf10yzr

bqf10yzr4#

你需要下载这个文件 hive-common-0.10.0.jar 并将其复制到 $SQOOP_HOME/lib 文件夹。

628mspwn

628mspwn5#

通过google下载文件“hive-common-0.10.0.jar”。把它放在“sqoop/lib”文件夹中。这个方法对我有效。

相关问题